[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 09:42:38 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 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.

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


More information about the macports-tickets mailing list