bugGNU Octave - Bugs: bug #44180, octave forge windows package does...

 
 

bug #44180: octave forge windows package does not compile with dev octave

Submitter:  John Donoghue <lostbard>
Submitted:  Tue 03 Feb 2015 07:32:59 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Confirmed Assigned to:  None
Originator Name:  lostbard Open/Closed:  * Closed
Release:  * dev Operating System:  * Microsoft Windows
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sat 02 May 2015 12:38:25 PM UTC, comment #11: 

See bug #44998 where the remaining issue (of miscompiled _COM_.oct for 64-bit Octave) is reported.
With the temporary workaround there, the Windows package works as expected.

Closing report

Philip Nienhuis <philipnienhuis>
Group Member
Wed 15 Apr 2015 11:31:03 PM UTC, comment #10: 
John Donoghue <lostbard>
Group Member
Wed 15 Apr 2015 05:31:21 PM UTC, comment #9: 

This patch stops the error mentioned in comment 5.

I have another patch for cross compiling it in mxe-octave - it also makes grab compile as well - I will throw up a combined patch later today





(file #33681)

John Donoghue <lostbard>
Group Member
Sat 21 Mar 2015 12:05:35 PM UTC, comment #8: 

I think a test should be added to avoid installing on 64-bit Octave. If it gets installed there it'll crash Octave hard, w/o any clue for users what happened => bad for Octave's reputation

During installation, the windows pkg calls octave_config_info so 32/64 bit could easily be established; but as Mike recently found out, this specific (outdated) pkg installation stuff leads to other issues.

I hope the maintainer (Michael Goffioul) can find the time to fix the windows package issues.

Philip Nienhuis <philipnienhuis>
Group Member
Sun 15 Mar 2015 09:37:51 PM UTC, comment #7: 

Attached windows-1.2.2.tar.gz, build according to comment #1.
Of course, there are still the problems of 64-bit, described in
comments #3-#6

(file #33355)

Avinoam Kalma <avinoam>
Group Member
Sat 14 Mar 2015 11:24:08 PM UTC, comment #6: 

Yes I saw that too.
But with a 32-bit Octave-4.0.0-rc1 the command does return a valid COM object:just try

app.Quit()

it should return something like []0x0

(After that issue "delete (app)" to end the silent Excel.exe running behind the scenes, look in Task Manager processes tab)

Philip Nienhuis <philipnienhuis>
Group Member
Fri 13 Mar 2015 07:15:27 PM UTC, comment #5: 

making the changes from your comment 1 allows me to compile ok, however on running on my Win7 machine (32 bit octave installed):


>> app = actxserver ("Excel.Application")
app =

error: octave_base_value::print (): wrong type argument 'octave_com_object'


John Donoghue <lostbard>
Group Member
Fri 13 Mar 2015 05:52:28 PM UTC, comment #4: 

With 32-bit Octave (like on ftp.gnu.org) the windows package as fixed along comment #1 still works in spite of the error message; a valid COM object is returned.

With Octave built for 64-bit Windows, the amended windows package crashes Octave hard, however:

app = actxserver ("Excel.Application")
## error message but some COM object returned
app.Quit()
.....=> crash

so it seems the windows package is miscompiled for 64-bit systems.

Philip Nienhuis <philipnienhuis>
Group Member
Fri 27 Feb 2015 10:03:26 AM UTC, comment #3: 

With a recent build of Octave-3.9.1+ (w. 64-bit indexing) I now see that the COM interface doesn't work anymore, where it still did work a week ago.

Commands like "actxserver ("Excel.Application") do return a COM object but one that contains only a COM error message; i.o.w. the link to the activeX server became disfunctional.

Philip Nienhuis <philipnienhuis>
Group Member
Fri 20 Feb 2015 02:39:05 PM UTC, comment #2: 

Looking in the grab() docs, I see that its functionality more or less mimics that of ginput().
Another motive to drop it from the Windows package?

Philip Nienhuis <philipnienhuis>
Group Member
Sun 15 Feb 2015 09:29:43 PM UTC, comment #1: 

I could get windows-1.2.1 to build again by:

- Commenting out the grab.oct stuff in Makefile.
grab() is rarely used AFAICS; it isn't available on non-Windows systems anyway so I think a case can be made to drop it completely.

- Removing lines 192 and 183 (DEFINE_OCTAVE_ALLOCATOR and DECLARE_OCTAVE_ALLOCATOR) in _COM_.cc (these deprecated macros have been removed 3 weeks ago from core Octave).

With those changes the spreadsheet I/O works fine with the COM/ActiveX interface (quite a good test for that IMO).

As to grab.cc, I can't assess what has changed in Octave's core code. Until a few weeks ago the windows pkg would build w/o problems with the (then) default branch.

I'll cc Michael Goffioul (windows pkg maintainer)

Philip Nienhuis <philipnienhuis>
Group Member
Tue 03 Feb 2015 07:32:59 PM UTC, original submission:  



make: Entering directory `/tmp/oct-Bk42q9/Windows/src'
C:/Octave/Octave-3.9.0+/bin/mkoctfile-3.9.0+.exe --verbose -DHAVE_OCTAVE_39 -v -c grab.cc
g++ -c -I/home//mxe-octave-dev4-test/usr/i686-w64-mingw32/include  -IC:\Octave\Octave-3.9.0+\include\octav
e-3.9.0+\octave\.. -IC:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave -IC:\Octave\Octave-3.9.0+\include -mieee-fp -g -
O2 -pthread    -DHAVE_OCTAVE_39 grab.cc -o grab.o
grab.cc: In function 'octave_value_list Fgrab(const octave_value_list&, int)':
grab.cc:126:27: error: no matching function for call to 'MArray<int>::MArray(int)'
   MArray<int> xc(maxpoints);
                           ^
grab.cc:126:27: note: candidates are:
In file included from C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/dNDArray.h:26:0,
                 from C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/dMatrix.h:26,
                 from C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/mx-base.h:34,
                 from C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/Matrix.h:30,
                 from C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/oct.h:33,
                 from grab.cc:35:
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:61:3: note: template<class U> MArray<T>::MArray(co
nst Array<U>&)
   MArray (const Array<U>& a) : Array<T> (a) { }
   ^
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:61:3: note:   template argument deduction/substitu
tion failed:
grab.cc:126:27: note:   mismatched types 'const Array<T>' and 'int'
   MArray<int> xc(maxpoints);
                           ^
In file included from C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/dNDArray.h:26:0,
                 from C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/dMatrix.h:26,
                 from C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/mx-base.h:34,
                 from C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/Matrix.h:30,
                 from C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/oct.h:33,
                 from grab.cc:35:
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:58:3: note: MArray<T>::MArray(const MArray<T>&) [w
ith T = int]
   MArray (const MArray<T>& a) : Array<T> (a) { }
   ^
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:58:3: note:   no known conversion for argument 1 f
rom 'int' to 'const MArray<int>&'
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:55:12: note: MArray<T>::MArray(const dim_vector&,
const T&) [with T = int]
   explicit MArray (const dim_vector& dv, const T& val)
            ^
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:55:12: note:   candidate expects 2 arguments, 1 pr
ovided
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:52:12: note: MArray<T>::MArray(const dim_vector&)
[with T = int]
   explicit MArray (const dim_vector& dv)
            ^
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:52:12: note:   no known conversion for argument 1
from 'int' to 'const dim_vector&'
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:50:3: note: MArray<T>::MArray() [with T = int]
   MArray (void) : Array<T> () { }
   ^
[with T = int]
   explicit MArray (const dim_vector& dv)
            ^
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:52:12: note:   no known conversion for argument 1
from 'int' to 'const dim_vector&'
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:50:3: note: MArray<T>::MArray() [with T = int]
   MArray (void) : Array<T> () { }
   ^
[with T = int]
   explicit MArray (const dim_vector& dv)
            ^
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:52:12: note:   no known conversion for argument 1
from 'int' to 'const dim_vector&'
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:50:3: note: MArray<T>::MArray() [with T = int]
   MArray (void) : Array<T> () { }
   ^
[with T = int]
   explicit MArray (const dim_vector& dv)
            ^
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:52:12: note:   no known conversion for argument 1
from 'int' to 'const dim_vector&'
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:50:3: note: MArray<T>::MArray() [with T = int]
   MArray (void) : Array<T> () { }
   ^
[with T = int]
   explicit MArray (const dim_vector& dv)
            ^
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:52:12: note:   no known conversion for argument 1
from 'int' to 'const dim_vector&'
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:50:3: note: MArray<T>::MArray() [with T = int]
   MArray (void) : Array<T> () { }
   ^
[with T = int]
   explicit MArray (const dim_vector& dv)
            ^
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:52:12: note:   no known conversion for argument 1
from 'int' to 'const dim_vector&'
C:\Octave\Octave-3.9.0+\include\octave-3.9.0+\octave\../octave/MArray.h:50:3: note: MArray<T>::MArray() [with T = int]
   MArray (void) : Array<T> () { }
.
.
.
.



John Donoghue <lostbard>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #33684:  of-windows-1-fixes.patch added by lostbard (23KiB - text/x-patch)
file #33681:  windows-err.patch added by lostbard (1KiB - application/octet-stream)
file #33355:  windows-1.2.2.tar.gz added by avinoam (53KiB - application/x-gzip)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by avinoam (Updated the item)
  • -email is unavailable- added by lostbard (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-05-02 philipnienhuis Open/ClosedOpen Closed
    2015-04-15 lostbard Attached File- Added of-windows-1-fixes.patch, #33684
    2015-04-15 lostbard Attached File- Added windows-err.patch, #33681
    2015-03-15 avinoam Attached File- Added windows-1.2.2.tar.gz, #33355
    2015-03-13 philipnienhuis StatusNone Confirmed
        Operating SystemAny Microsoft Windows
    2015-02-15 philipnienhuis Carbon-Copy- Added goffioul

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code