Opened 10 years ago

Closed 10 years ago

#42155 closed defect (invalid)

octave-3.6.4_11 +atlas +gcc48 install fails, calls out a 32-bit fortran lib instead of a 64-bit one

Reported by: wcarter@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: michaelld (Michael Dickens), ryandesign (Ryan Carsten Schmidt)
Port: octave

Description

I'm running Mavericks (10.9.1) and have Xcode 5.0.2 installed. When I try to build octave from a clean install

 
elrond:~ wwc$ sudo port install octave +atlas+gcc48

it fails when attempting to build liboctave.la. The log file shows this:

:info:build ld: warning: ignoring file /usr/local/lib/libgfortran.dylib, file was built for i386 which is not the architecture being linked (x86_64): /usr/local/lib/libgfortran.dylib
:info:build Undefined symbols for architecture x86_64:
:info:build   "__gfortran_concat_string", referenced from:
:info:build       _cgesvd_ in liblapack.a(cgesvd.o)
:info:build       _dgesvd_ in liblapack.a(dgesvd.o)
:info:build       _sgesvd_ in liblapack.a(sgesvd.o)
:info:build       _zgesvd_ in liblapack.a(zgesvd.o)
:info:build       _chseqr_ in liblapack.a(chseqr.o)
:info:build       _cunmbr_ in liblapack.a(cunmbr.o)
:info:build       _cunmlq_ in liblapack.a(cunmlq.o)
:info:build       ...
:info:build   "__gfortran_pow_i4_i4", referenced from:
:info:build       _clalsa_ in liblapack.a(clalsa.o)
:info:build       _dlalsa_ in liblapack.a(dlalsa.o)
:info:build       _dlasd0_ in liblapack.a(dlasd0.o)
:info:build       _dlasda_ in liblapack.a(dlasda.o)
:info:build       _slalsa_ in liblapack.a(slalsa.o)
:info:build       _slasd0_ in liblapack.a(slasd0.o)
:info:build       _slasda_ in liblapack.a(slasda.o)
:info:build       ...
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)

As I was investigating the error, I found a fortran library at /opt/local/lib/libgcc/libgfortran.3.dylib, which would seem to be the library that octave needs:

elrond:~ wwc$ file /opt/local/lib/libgcc/libgfortran.3.dylib 
/opt/local/lib/libgcc/libgfortran.3.dylib: Mach-O 64-bit dynamically linked shared library x86_64

I think this library was installed as an octave dependency, so I'm not sure why the octave build doesn't call it out. What do I need to tweak so that the build process picks up the 64-bit library?

I've attached the full build log file.

Thanks for your help.

Attachments (1)

main.log (972.9 KB) - added by wcarter@… 10 years ago.
build log file

Download all attachments as: .zip

Change History (2)

Changed 10 years ago by wcarter@…

Attachment: main.log added

build log file

comment:1 in reply to:  description Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added; wcarter@… removed
Keywords: octave libgfortran 64 bit 32 bit removed
Port: octave added; octave-3.6.4_11 removed
Resolution: invalid
Status: newclosed

Replying to wcarter@…:

:info:build ld: warning: ignoring file /usr/local/lib/libgfortran.dylib, file was built for i386 which is not the architecture being linked (x86_64): /usr/local/lib/libgfortran.dylib

It is not supported to have files installed in /usr/local while using MacPorts, because, as you see, they can interfere. See also wiki:FAQ#usrlocal.

Note: See TracTickets for help on using tickets.