Questions and Answers
Amy Rich
Q I'm trying to compile aspell 0.60.2 on a Solaris
8 machine with gcc 2.95.3. The configure and build processes seem to go fine
until this line:
g++ -shared -nostdlib <lots of object files> -ldl \
-L/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3 \
-L/usr/ccs/lib -L/usr/local/lib -lstdc++ -lm -lgcc \
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/crtend.o \
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/crtn.o \
-Wl,-h -Wl,libaspell.so.15 -o .libs/libaspell.so.15.1.2
When the operation tries to link here, it spits out pages and pages of errors
that look similar to the following:
Text relocation remains referenced
against symbol offset in file
<unknown> 0xac8 /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/ \
2.95.3/libstdc++.a(iovfscanf.o)
<unknown> 0x584 /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/ \
2.95.3/libstdc++.a(outfloat.o)
<unknown> 0x1bc4 /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/ \
2.95.3/libstdc++.a(floatconv.o)
__udiv64 0x1044 /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/ \
2.95.3/libstdc++.a(iostream.o)
Presumably I'm missing a library directory or something like that. The error output
doesn't even list the symbol it's missing in the first few pages (although it
does for later ones), so I'm not certain how I should track each of them down.
Any hints on where I should start?
A Your problem is that your libstdc++ was not
built as a shared library. Whenever you try to compile something shared, it
will fail quite verbosely.
|