octave-maintainers
[Top][All Lists]
Advanced

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

Re: MXE Octave: "... has no symbols" warning under Mac OS X


From: John W. Eaton
Subject: Re: MXE Octave: "... has no symbols" warning under Mac OS X
Date: Tue, 27 Aug 2013 08:09:44 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130116 Icedove/10.0.12

On 08/27/2013 07: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.

You can't avoid your obligations under the terms of the GPL simply by using a dynamically linked library.

It looks to me like the suitesparse build is not doing the right thing to create shared libraries.

Anirudha, part of your project is to figure out why these things are not working and fix them, not just to ask us to tell you step by step what to do to fix the problems.

I'd take a look at what the debian and fink packages do to build shared versions of suitesparse and then try to apply the same methods to the mxe-octave build system.

jwe


reply via email to

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