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: Ben Abbott
Subject: Re: MXE Octave: "... has no symbols" warning under Mac OS X
Date: Sat, 21 Sep 2013 14:04:28 -0400

On Sep 21, 2013, at 3:21 AM, Anirudha Bose wrote:

> I wrote a script in Python to generate the install_name_tool commands which 
> can be executed using os.system(). For the file bin/octave-3.7.5, the 
> commands generated by my script are below. Libraries belonging to System, and 
> Macports are not parsed.
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/octave/3.7.5/liboctave.1.dylib"
>  "@executable_path/../lib/octave/3.7.5/liboctave.1.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libhdf5.7.dylib"
>  "@executable_path/../lib/libhdf5.7.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libz.1.dylib"
>  "@executable_path/../lib/libz.1.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libfontconfig.1.dylib"
>  "@executable_path/../lib/libfontconfig.1.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libfreetype.6.dylib"
>  "@executable_path/../lib/libfreetype.6.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libexpat.1.dylib"
>  "@executable_path/../lib/libexpat.1.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change "libcholmod.so" 
> "@executable_path/../lib/libcholmod.so" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change "libumfpack.so" 
> "@executable_path/../lib/libumfpack.so" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change "libamd.so" "@executable_path/../lib/libamd.so" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change "libcamd.so" "@executable_path/../lib/libcamd.so" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change "libcolamd.so" 
> "@executable_path/../lib/libcolamd.so" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change "libccolamd.so" 
> "@executable_path/../lib/libccolamd.so" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change "libcxsparse.so" 
> "@executable_path/../lib/libcxsparse.so" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libqrupdate.1.dylib"
>  "@executable_path/../lib/libqrupdate.1.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libfftw3_threads.3.dylib"
>  "@executable_path/../lib/libfftw3_threads.3.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libfftw3.3.dylib"
>  "@executable_path/../lib/libfftw3.3.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libfftw3f_threads.3.dylib"
>  "@executable_path/../lib/libfftw3f_threads.3.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libfftw3f.3.dylib"
>  "@executable_path/../lib/libfftw3f.3.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libreadline.6.2.dylib"
>  "@executable_path/../lib/libreadline.6.2.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libncurses.5.dylib"
>  "@executable_path/../lib/libncurses.5.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> install_name_tool -change 
> "/Users/mac6-user1/mxe/mxe-octave-anirudha/usr/x86_64-apple-darwin12.2.1/lib/libpcre.1.dylib"
>  "@executable_path/../lib/libpcre.1.dylib" 
> ./Octave-3.7.5.app/Contents/Resources/bin/octave-3.7.5
> 
> I have applied my script for this particular file, and it works. I just have 
> to do this for all the libraries in the application bundle.
> 
> - Anirudha

I just realized that one reason my scripts won't work for you is that 
dylibs_isdylib() uses the file suffix to determine if a file is a library.  
Something more robust should probably be done, but at the minimum the ".so" 
suffix would need to be included. 

Even so, that doesn't explain why the install_name_tool commands executed via 
Octave didn't to the job correctly.

Ben 




reply via email to

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