help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can't install octave-forge packages in a 32-bit OS X build, but can


From: Ben Abbott
Subject: Re: Can't install octave-forge packages in a 32-bit OS X build, but can in a 64-bit one
Date: Sat, 05 Nov 2011 11:57:22 -0400

On Nov 5, 2011, at 8:54 AM, Alexander Hansen wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 11/4/11 9:03 PM, Alexander Hansen wrote:
>> Hi.  I'm the maintainer for Octave for the Fink project,  serving
>> Mac OS X.
>> 
>> One of our users reported a problem in Octave-3.4.3, built as
>> 32-bit, on Mac OS 10.6.8, which I confirmed, wherein 'pkg' was
>> unable to install anything, e.g :
>> 
>> octave:1> pkg -verbose install physicalconstants-0.1.7.tar.gz mkdir
>> (/var/tmp/oct-2rjbOh) untar (physicalconstants-0.1.7.tar.gz,
>> /var/tmp/oct-2rjbOh) invalid assignment to cs-list outside multiple
>> assignment error: called from `dir' in file 
>> /sw32/share/octave/3.4.3/m/miscellaneous/dir.m near line 115,
>> column 26 error: called from: error:
>> /sw32/share/octave/3.4.3/m/pkg/pkg.m at line 832, column 5 error:
>> /sw32/share/octave/3.4.3/m/pkg/pkg.m at line 361, column 9
>> 
>> I've tried removing some semicolons to see if I can debug where
>> this goes awry, but it appears to be simply the assignment on line
>> 115 of dir.m:
>> 
>> info(i,1).name = fn;
>> 
>> 
>> In contrast, a 64-bit build on the same machine works properly.
>> The two builds use the same C and C++ compilers:
>> 
>> octave:4> octave_config_info('CC_VERSION') ans = 4.2.1 (Apple Inc.
>> build 5666) (dot 3) octave:5> octave_config_info('CXX_VERSION') ans
>> = 4.2.1
>> 
>> (Xcode tools 3.2.6) but different Fortran compilers:  a 32-bit 
>> gfortran and a 64-bit gfortran, respectively, for the 32-bit and 
>> 64-bit Octave.
>> 
>> Apart from the expected differences I'd naively expect from 32 vs.
>> 64 bits, I also saw a few other things.  The 64-bit build's
>> configuration had:
>> 
>> checking for working mktime... no
>> 
>> vs. "yes" on the 32-bit one.  Also, the 64-bit build had
>> 
>> checking for working nanosleep... no (mishandles large arguments)
>> 
>> whereas the 32-bit one had "yes".  Only the 32-bit build was given
>> the -mieee-fp modifier ("flag-sort -r" is a Perl script that we use
>> that changes the ordering of arguments to the compiler--it was
>> needed in this case because of a conflict with another package):
>> 
>> checking whether flag-sort -r gcc accepts -mieee-fp... yes 
>> configure: adding -mieee-fp to XTRA_CFLAGS checking whether
>> flag-sort -r g++ accepts -mieee-fp... yes configure: adding
>> -mieee-fp to XTRA_CXXFLAGS ... checking whether
>> /sw32/bin/gfortran-fsf-4.6 accepts -mieee-fp... yes adding
>> -mieee-fp to FFLAGS configure: defining FFLAGS to be -O3 -mieee-fp
>> 
>> 
>> In the build output, the only thing that seemed to be different 
>> between the two cases was the presence of the -mieee-fp flag.
>> 
>> I'm stumped here, so I'd appreciate any suggestions, and I'll
>> gladly provide any additional information.
> 
> A couple of addenda:
> 
> 1) Just to be clear:  the 32-bit and 64-bit builds use the same
> configuration instructions on my end.
> 
> 2) I see the same thing on OS X 10.5:  64-bit works properly, 32-bit
> doesn't.
> 
> 3) The user who reported the problem to me has a simple test case to
> illustrate the failure:
> 
> On my 64-bit build:
> 
> octave-3.4.3:1> info = struct (zeros (0, 1), {"name", "date", "bytes",
> "isdir","datenum", "statinfo"});
> octave-3.4.3:2> info(1,1).name = "asdf"
> info =
> 
>  scalar structure containing the fields:
> 
>    name = asdf
>    date = [](0x0)
>    bytes = [](0x0)
>    isdir = [](0x0)
>    datenum = [](0x0)
>    statinfo = [](0x0)
> 
> On the 32-bit build:
> 
> octave-3.4.3:1> info = struct (zeros (0, 1), {"name", "date", "bytes",
> "isdir","datenum", "statinfo"});
> octave-3.4.3:2> info(1,1).name = "asdf"
> error: invalid assignment to cs-list outside multiple assignment

Alex,

Does this only fail after you've tried to load an octave-forge package?

I am currently able to build Octave with 64bits on MacOS 10.7 using MacPorts 
for dependencies (I haven't tried to build the 32 bit version there), and am 
able to build a 32bit version on 10.6 using Fink for dependencies. My Mac with 
Fink installed is currently being updated (the packages are a few months old 
now). I hope to confirm I'm able to build the developers sources and that I 
don't encounter the cs-list error later today.

I plan to compare Fink's info file to the build script I use for the developers 
sources on 10.6.

        http://pdb.finkproject.org/pdb/package.php/octave

At first glance I notice you've made a lot of changes in Fink's support of 
Octave.  I'll update the etc/README.MacOS file to reflect that.

Ben



reply via email to

[Prev in Thread] Current Thread [Next in Thread]