|
From: | Anirudha Bose |
Subject: | Re: MXE Octave: "... has no symbols" warning under Mac OS X |
Date: | Tue, 3 Sep 2013 13:41:08 +0530 |
You assume incorrectly in the case of Fink. :-) We use the system's "ar".On 8/27/13 4:58 AM, Ben Abbott wrote:
On Aug 27, 2013, at 4:26 AM, Anirudha Bose wrote:
I have been working on reusing mxe-octave [1] to natively build Octave for Mac OS X. I have been able to complete the build process for the target i686-apple-darwin11, but the executable usr/bin/octave doesn't launch Octave. Here is the error I see.
dyld: Library not loaded: libcholmod.so
Referenced from: /Users/mac6-user1/./mxe-octave/usr/bin/octave
Reason: image not found
Trace/BPT trap: 5
I tried to trace back the error and saw that the library libcholmod.so belongs to the package suitesparse. The following is a part of the log of suitesparse, which I think is responsible for the above error.
ar rv libcholmod.a cholmod_aat.o cholmod_add.o cholmod_band.o cholmod_change_factor.o cholmod_common.o cholmod_complex.o cholmod_copy.o cholmod_dens$
ar: creating archive libcholmod.a
/opt/local/bin/ranlib: file: libcholmod.a(cholmod_ccolamd.o) has no symbols
/opt/local/bin/ranlib: file: libcholmod.a(cholmod_csymamd.o) has no symbols
/opt/local/bin/ranlib: file: libcholmod.a(cholmod_metis.o) has no symbols
/opt/local/bin/ranlib: file: libcholmod.a(cholmod_nesdis.o) has no symbols
/opt/local/bin/ranlib: file: libcholmod.a(cholmod_camd.o) has no symbols
/opt/local/bin/ranlib: file: libcholmod.a(cholmod_l_ccolamd.o) has no symbols
/opt/local/bin/ranlib: file: libcholmod.a(cholmod_l_csymamd.o) has no symbols
/opt/local/bin/ranlib: file: libcholmod.a(cholmod_l_metis.o) has no symbols
/opt/local/bin/ranlib: file: libcholmod.a(cholmod_l_nesdis.o) has no symbols
/opt/local/bin/ranlib: file: libcholmod.a(cholmod_l_camd.o) has no symbols
I suppose the problem is because Mac OS "ar" is not standard. I have also noticed these warnings with other packages too. Can anyone tell me how to get a proper build under Mac OS X?
[1] http://hg.octave.org/mxe-octave
- Anirudha
MacOSX's toolchain avoids the use of static libraries (I assume to avoid violating GNU licenses). That is likely at the root of the problem.
In any event, I expect that both Fink and Macports include an "ar" with their basic installation.
Ben
It looks to me like the problem could be that /Users/mac6-user1/./mxe-octave/usr/bin/octave wants to link "libcholmod.so", which would be /Users/mac6-user1/./mxe-octave/usr/bin/libcholmod.so . You can check this scenario using "otool -L /Users/mac6-user1/./mxe-octave/usr/bin/octave" .
--
Alexander Hansen, Ph.D.
Fink User Liaison
My package updates: http://finkakh.wordpress.com/
[Prev in Thread] | Current Thread | [Next in Thread] |