[MacPorts] #49633: octave-3.8.2 build failure because of symbol(s) not found for architecture x86_64

MacPorts noreply at macports.org
Thu Nov 12 22:13:41 PST 2015


#49633: octave-3.8.2 build failure because of symbol(s) not found for architecture
x86_64
--------------------------+-------------------------
  Reporter:  nico.mack@…  |      Owner:  michaelld@…
      Type:  defect       |     Status:  new
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:  2.3.4
Resolution:               |   Keywords:
      Port:  octave       |
--------------------------+-------------------------

Comment (by nico.mack@…):

 Replying to [comment:4 michaelld@…]:
 > Yes, I was going for the instructions
 [https://trac.macports.org/wiki/LibcxxOnOlderSystems#LionandMountainLion
 here]. Which is what it looks like you did given the "uninstall installed"
 and such from the top.
 >
 > Looking through the logfile again, the 2 interesting things I see are:
 (1) this is the first linking of a dynamic library; all the other linking
 are for static libraries. (2) -stdlib=FOO is not passed through libtool
 into the actual command. Thus, can you try the following & see if it
 works:
 > {{{
 > cd $(port work octave)/octave*/liboctave
 > /usr/bin/clang++ -dynamiclib  -stdlib=libc++ -o .libs/liboctave.2.dylib
 -Wl,-force_load,array/.libs/libarray.a
 -Wl,-force_load,cruft/.libs/libcruft.a
 -Wl,-force_load,cruft/ranlib/.libs/libranlib.a
 -Wl,-force_load,numeric/.libs/libnumeric.a
 -Wl,-force_load,operators/.libs/liboperators.a
 -Wl,-force_load,system/.libs/libsystem.a
 -Wl,-force_load,util/.libs/libutil.a
 -Wl,-force_load,../libgnu/.libs/libgnu.a  -lcurl -lcholmod -lumfpack
 -lSuiteSparse -lamd -lcamd -lcolamd -lccolamd -lcxsparse -larpack
 -lqrupdate -lfftw3_threads -lfftw3 -lfftw3f_threads -lfftw3f -llapack
 -lcblas -lf77blas -latlas -lreadline -lncurses -L/opt/local/lib -lpcre
 -ldl -L/opt/local/lib/gcc5/gcc/x86_64-apple-darwin12/5.2.0
 -L/opt/local/lib/gcc5/gcc/x86_64-apple-darwin12/5.2.0/../../.. -lgfortran
 -lquadmath -lm  -Os -arch x86_64 -pthread   -pthread -install_name
 /opt/local/lib/octave/3.8.2/liboctave.2.dylib -compatibility_version 3
 -current_version 3.0 -Wl,-single_module
 > }}}
 > The above is just the same link command, but with "-stdlib=libc++" added
 in. Not sure if this will make a difference, but it's worth a try. If it
 does work, then that says the issue is in how libtool passes -stdlib,
 which is not a big surprise given that libtool is not written with OS X /
 Clang in mind.
 Hi Michael, I tried the link command and it appears to work fine. When I
 look into the .lib folder I see the liboctave.2.dylib library (20210164
 bytes)

-- 
Ticket URL: <https://trac.macports.org/ticket/49633#comment:5>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list