[Pythonmac-SIG] install_name changing

Dan White dan at chalkie.org.uk
Mon Aug 28 09:29:31 CEST 2006


Hi Boyd,

I am using the universal python build,
which I guess was made with gcc comilers...

I think there was a license problem using the intel compilers for python
where it might be used in a commercial setting.

Since our project BioImageXD  is free and open source under GPL
we could use an intel build,
but for the sake of simplicity at the moment we
will stick to the python guys universal build.
Making a universal build with anython other than gcc might be tricky.

Thanks for the install_name_tool
tricks, it looks like that is the way I need to go
ubtil i find out how to make py2app
fix the install names in my .dylibs

I think I will keep libguide.dylib
inside my application bundle
as i prefer to stick to a drag and drop .app installation if at all  
possible,
and not use .pkg / installer .

cheers

Dan

On Aug 28, 2006, at 1:28 AM, Boyd Waters wrote:

> Dan:
>
> I saw your recent post on the Python-Mac SIG regarding the  
> difficulty that you are having using libguide.dylib in a Python  
> application, since you've built Python with the Intel compiler.
>
>
> I think that you're on the right track with the install_name_tool  
> -- this is what I had to do to get the Intel binaries working:
>
>> # cd /opt/intel/cc/9.1.029/lib
>>
>> # for i in *.dylib
>> > do
>> > install_name_tool -id $(pwd)/$i $i
>> > done
>
> Then I had to change the references to libirc.dylib in libimf and  
> libsvml
>
>> for i in libimf.dylib libsvml.dylib
>> > do
>> > install_name_tool -change libirc.dylib $(pwd)/libirc.dylib $i
>> > done
>
>
> When I was done, this is what it looks like:
>
>> $ otool -L /opt/intel/cc/9.1.029/lib/*.dylib
>> /opt/intel/cc/9.1.029/lib/libguide.dylib:
>>         /opt/intel/cc/9.1.029/lib/libguide.dylib (compatibility  
>> version 4.0.0, current version 4.0.0)
>>         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
>> current version 88.1.3)
>> /opt/intel/cc/9.1.029/lib/libguide_stats.dylib:
>>         /opt/intel/cc/9.1.029/lib/libguide_stats.dylib  
>> (compatibility version 4.0.0, current version 4.0.0)
>>         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
>> current version 88.1.3)
>> /opt/intel/cc/9.1.029/lib/libimf.dylib:
>>         /opt/intel/cc/9.1.029/lib/libimf.dylib (compatibility  
>> version 0.0.0, current version 0.0.0)
>>         /opt/intel/cc/9.1.029/lib/libirc.dylib (compatibility  
>> version 0.0.0, current version 0.0.0)
>>         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
>> current version 88.1.3)
>> /opt/intel/cc/9.1.029/lib/libirc.dylib:
>>         /opt/intel/cc/9.1.029/lib/libirc.dylib (compatibility  
>> version 0.0.0, current version 0.0.0)
>>         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
>> current version 88.1.3)
>> /opt/intel/cc/9.1.029/lib/libsvml.dylib:
>>         /opt/intel/cc/9.1.029/lib/libsvml.dylib (compatibility  
>> version 0.0.0, current version 0.0.0)
>>         /opt/intel/cc/9.1.029/lib/libirc.dylib (compatibility  
>> version 0.0.0, current version 0.0.0)
>>
>
> Every dynamic library is referenced using the full path.
>
> In my distribution, I have to re-distribute these libraries, and  
> put them in /opt/intel/cc/9.1.029/lib on the client.
>
>
>
> This is not the best option, but it works for the numerous open- 
> source packages that we use for our image-processing system.
>
>
> I have a question for you, if you don't mind: I cannot get the  
> Python package to build with the Intel compiler. It does not find  
> the _Py_Main symbol when linking the top-level "python.exe". I  
> would be very happy to get pointed in the right direction regarding  
> compiler and linker flags for building Python 2.4.3; if we need to  
> use Python 2.5 then we can do that too.
>
>
> Thanks and good luck!
>
> - boyd
>
> Boyd Waters
> Scientific Programmer
> National Radio Astronomy Observatory
> Socorro, New Mexico
> http://www.aoc.nrao.edu/
>

Dr. Daniel James White BSc. (Hons.) PhD
Bioimaging Coordinator
Nanoscience Centre and Department of Biological and Environmental  
Sciences
Division of Molecular Recognition
Ambiotica C242
PO Box 35
University of Jyväskylä
Jyväskylä
FIN 40014
Finland

+358 14 260 4183 (work)
+358 468102840 (mobile)
http://www.bioimagexd.org
http://www.chalkie.org.uk
dan at chalkie.org.uk
white at cc.jyu.fi




More information about the Pythonmac-SIG mailing list