[Gdal-dev] linking problems with MrSID library

William Kyngesburye woklist at kyngchaos.com
Tue Oct 4 10:49:20 EDT 2005


On Oct 4, 2005, at 12:56 AM, Bill Binko wrote:

>
> Alright, after much banter, and a few curses, Frank and I seem to have
> found a way to make MrSID work cleanly without having to change  
> between
> GCC 3.x compilers.  I have not tested this with 4.x, but it just might
> work.
>
> Only two things need to change:
>
> 1) You can't use libtool.  (If a libtool person wants to get with me
> offline we can workout what's needed.)  When you run configure add
> --without-libtool.
>
> 2) After configure, edit GDALmake.opt and add the full path to the
> appropriate c++ library for your version of MrSID's SDW (for my  
> version 5,
> it's /usr/lib/libstdc++.so.5) to the end of your LIBS variable.
>
> Build and install, all should be right with the world.
>
No go.  No missing symbols, but tons of multiple definitions  
warnings, that eventually cause it to fail.

ld: warning multiple definitions of symbol ___gxx_personality_v0
/usr/lib/gcc/darwin/3.3/libstdc++.a(eh_personality.o) private  
external definition of ___gxx_personality_v0 in section (__TEXT,__text)
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/libstdc++.dylib(single  
module) definition of ___gxx_personality_v0
.
.
[many, many more]
.
.
ld: multiple definitions of symbol  
__ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/libstdc++.dylib(single  
module) definition of  
__ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_
/usr/lib/gcc/darwin/3.3/libstdc++.a(string-inst.o) private external  
definition of __ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_  
in section (__TEXT,__text)
/usr/bin/libtool: internal link edit command failed

Maybe it doesn't like mixing the static and dynamic libraries?  
(there's no choice there - static for the old, dynamic for the new)

Note: using libtool and adding the GCC 3.3 libstdc++ to LIBS also  
works for me (with the same multi defs problem), it's not stripping  
out what I add to LIBS, and it IS using LIBS.  At least without  
libtool, I could play with linker options to try to get rid of the  
multi defs problem, but the few options I tried didn't help.

I guess I'll just continue to wait for LizardTech to get crackin on  
an update.  The conversion program they provide in the DSDK still  
works in Mac OS 10.4, so at least I have some sort of conversion  
option from MrSID.


> Go back to your default build: the one that ended up with only linker
> errors.  Go ahead and build: you'll fail at link time on the  
> applications.
>
It has always failed at the library link step.  Never got to the  
applications.

-----
William Kyngesburye <kyngchaos at kyngchaos.com>
http://www.kyngchaos.com/

"Time is an illusion - lunchtime doubly so."

- Ford Prefect



More information about the Gdal-dev mailing list