This is the mail archive of the libstdc++@sourceware.cygnus.com mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Undefined symbol in dynamic library libstdc++.so.3.0.0


drepper@cygnus.com wrote:
> ncm@cantrip.org writes:
> > I have attached g++ -v output below.  The binutils version ...
>
>  That's not the important thing.  How was the libstdc++ object created?
>  Post _that_ link line.

OK.  This was with binutils-2.9.5.0.31, under glibc-2.1.3.  The
compiler was a CVS snapshot from today, built with the HAVE_GAS_HIDDEN
line in auto-host.h commented out.  Execution produces:

    $ LD_LIBRARY_PATH=v3/lib ./hello
    ./hello: error in loading shared libraries:
      v3/lib/libstdc++.so.3: undefined symbol: __dso_handle

Here is the command line for building the .so file, as emitted by make 
(but with -v added).  Below that is the -v output from the compiler
and libtool, with minor whitespace adjustments.

Nathan Myers
ncm@cantrip.org

--------------------------

/bin/sh \
../libtool \
--mode=link \
"/home/ncm/Libc/build/gcc/xgcc \
-v \
-B/home/ncm/Libc/build/gcc/ \
-B/home/ncm/Libc/v3/i686-pc-linux-gnu/bin/" \
-fno-implicit-templates \
-Wall \
-Wno-format \
-W \
-Wwrite-strings \
-Winline \
-Werror \
-g \
-o \
libstdc++.la \
-rpath \
/home/ncm/Libc/v3/lib \
-version-info \
3:0:0 \
-lm \
limitsMEMBERS.lo \
c++io.lo \
cmath.lo \
complex.lo \
complexf.lo \
complexl.lo \
complex_io.lo \
stdexcept.lo \
ios.lo \
stdstreams.lo \
strstream.lo \
locale.lo \
localename.lo \
locale-inst.lo \
stl-inst.lo \
misc-inst.lo \
valarray-inst.lo \
stringMAIN.lo \
stringCTORNC.lo \
stringCTORAL.lo \
stringCTORCPR.lo \
stringCTORCPRAL.lo \
stringCTORPRAL.lo \
stringCTORPAL.lo \
stringCTORDUPAL.lo \
stringCTORPP.lo \
stringCTORII.lo \
stringMUTATE.lo \
stringRESERVE.lo \
stringSWAP.lo \
stringSLOP.lo \
stringRESIZE.lo \
stringAPPCOPY.lo \
stringAPPCPR.lo \
stringAPPPR.lo \
stringAPPDUP.lo \
stringAPPII.lo \
stringASSCP.lo \
stringASSII.lo \
stringINSII.lo \
stringREPRR.lo \
stringREPIIDUP.lo \
stringREPII.lo \
stringREPIII.lo \
stringREP4I.lo \
stringREPIIPP.lo \
stringREPIIPP2.lo \
stringCOPY.lo \
stringCONII.lo \
stringCONIIF.lo \
stringCONPPF.lo \
stringCONPPF2.lo \
stringCONSC.lo \
stringFIND.lo \
stringFINDC.lo \
stringRFIND.lo \
stringRFINDC.lo \
stringFFO.lo \
stringFLO.lo \
stringFFNO.lo \
stringFLNO.lo \
stringFLNOC.lo \
stringCOMPARE.lo \
stringCOMPARE2.lo \
stringCOMPAREP.lo \
stringCOMPAREP2.lo \
stringADDPS.lo \
stringADDCS.lo \
stringEXTRACT.lo \
stringINSERT.lo \
stringGETLINE.lo \
stringSCOPY.lo \
stringEQ.lo \
wstringMAIN.lo \
wstringCTORNC.lo \
wstringCTORAL.lo \
wstringCTORCPR.lo \
wstringCTORCPRAL.lo \
wstringCTORPRAL.lo \
wstringCTORPAL.lo \
wstringCTORDUPAL.lo \
wstringCTORPP.lo \
wstringCTORII.lo \
wstringMUTATE.lo \
wstringRESERVE.lo \
wstringSWAP.lo \
wstringSLOP.lo \
wstringRESIZE.lo \
wstringAPPCOPY.lo \
wstringAPPCPR.lo \
wstringAPPPR.lo \
wstringAPPDUP.lo \
wstringAPPII.lo \
wstringASSCP.lo \
wstringASSII.lo \
wstringINSII.lo \
wstringREPRR.lo \
wstringREPIIDUP.lo \
wstringREPII.lo \
wstringREPIII.lo \
wstringREP4I.lo \
wstringREPIIPP.lo \
wstringREPIIPP2.lo \
wstringCOPY.lo \
wstringCONII.lo \
wstringCONIIF.lo \
wstringCONPPF.lo \
wstringCONPPF2.lo \
wstringCONSC.lo \
wstringFIND.lo \
wstringFINDC.lo \
wstringRFIND.lo \
wstringRFINDC.lo \
wstringFFO.lo \
wstringFLO.lo \
wstringFFNO.lo \
wstringFLNO.lo \
wstringFLNOC.lo \
wstringCOMPARE.lo \
wstringCOMPARE2.lo \
wstringCOMPAREP.lo \
wstringCOMPAREP2.lo \
wstringADDPS.lo \
wstringADDCS.lo \
wstringEXTRACT.lo \
wstringINSERT.lo \
wstringGETLINE.lo \
wstringSCOPY.lo \
wstringEQ.lo \
../math/libmath.la \
../libio/libio.la 

----------------
(I replaced spaces with "\^M" for easy reading, and for RFC conformance.)
Here is the output:
----------------

rm -fr .libs/libstdc++.la .libs/libstdc++.* .libs/libstdc++.*
/home/ncm/Libc/build/gcc/xgcc \
-v \
-B/home/ncm/Libc/build/gcc/ \
-B/home/ncm/Libc/v3/i686-pc-linux-gnu/bin/ \
-shared \
limitsMEMBERS.lo \
c++io.lo \
cmath.lo \
complex.lo \
complexf.lo \
complexl.lo \
complex_io.lo \
stdexcept.lo \
ios.lo \
stdstreams.lo \
strstream.lo \
locale.lo \
localename.lo \
locale-inst.lo \
stl-inst.lo \
misc-inst.lo \
valarray-inst.lo \
stringMAIN.lo \
stringCTORNC.lo \
stringCTORAL.lo \
stringCTORCPR.lo \
stringCTORCPRAL.lo \
stringCTORPRAL.lo \
stringCTORPAL.lo \
stringCTORDUPAL.lo \
stringCTORPP.lo \
stringCTORII.lo \
stringMUTATE.lo \
stringRESERVE.lo \
stringSWAP.lo \
stringSLOP.lo \
stringRESIZE.lo \
stringAPPCOPY.lo \
stringAPPCPR.lo \
stringAPPPR.lo \
stringAPPDUP.lo \
stringAPPII.lo \
stringASSCP.lo \
stringASSII.lo \
stringINSII.lo \
stringREPRR.lo \
stringREPIIDUP.lo \
stringREPII.lo \
stringREPIII.lo \
stringREP4I.lo \
stringREPIIPP.lo \
stringREPIIPP2.lo \
stringCOPY.lo \
stringCONII.lo \
stringCONIIF.lo \
stringCONPPF.lo \
stringCONPPF2.lo \
stringCONSC.lo \
stringFIND.lo \
stringFINDC.lo \
stringRFIND.lo \
stringRFINDC.lo \
stringFFO.lo \
stringFLO.lo \
stringFFNO.lo \
stringFLNO.lo \
stringFLNOC.lo \
stringCOMPARE.lo \
stringCOMPARE2.lo \
stringCOMPAREP.lo \
stringCOMPAREP2.lo \
stringADDPS.lo \
stringADDCS.lo \
stringEXTRACT.lo \
stringINSERT.lo \
stringGETLINE.lo \
stringSCOPY.lo \
stringEQ.lo \
wstringMAIN.lo \
wstringCTORNC.lo \
wstringCTORAL.lo \
wstringCTORCPR.lo \
wstringCTORCPRAL.lo \
wstringCTORPRAL.lo \
wstringCTORPAL.lo \
wstringCTORDUPAL.lo \
wstringCTORPP.lo \
wstringCTORII.lo \
wstringMUTATE.lo \
wstringRESERVE.lo \
wstringSWAP.lo \
wstringSLOP.lo \
wstringRESIZE.lo \
wstringAPPCOPY.lo \
wstringAPPCPR.lo \
wstringAPPPR.lo \
wstringAPPDUP.lo \
wstringAPPII.lo \
wstringASSCP.lo \
wstringASSII.lo \
wstringINSII.lo \
wstringREPRR.lo \
wstringREPIIDUP.lo \
wstringREPII.lo \
wstringREPIII.lo \
wstringREP4I.lo \
wstringREPIIPP.lo \
wstringREPIIPP2.lo \
wstringCOPY.lo \
wstringCONII.lo \
wstringCONIIF.lo \
wstringCONPPF.lo \
wstringCONPPF2.lo \
wstringCONSC.lo \
wstringFIND.lo \
wstringFINDC.lo \
wstringRFIND.lo \
wstringRFINDC.lo \
wstringFFO.lo \
wstringFLO.lo \
wstringFFNO.lo \
wstringFLNO.lo \
wstringFLNOC.lo \
wstringCOMPARE.lo \
wstringCOMPARE2.lo \
wstringCOMPAREP.lo \
wstringCOMPAREP2.lo \
wstringADDPS.lo \
wstringADDCS.lo \
wstringEXTRACT.lo \
wstringINSERT.lo \
wstringGETLINE.lo \
wstringSCOPY.lo \
wstringEQ.lo \
-Wl,--whole-archive \
../math/.libs/libmath.al \
../libio/.libs/libio.al \
-Wl,--no-whole-archive \
-lm \
-lc \
-Wl,-soname \
-Wl,libstdc++.so.3 \
-o \
.libs/libstdc++.so.3.0.0
Reading specs from /home/ncm/Libc/build/gcc/specs
gcc version 2.96 20000419 (experimental)

/home/ncm/Libc/build/gcc/collect2 \
-m \
elf_i386 \
-shared \
-o \
.libs/libstdc++.so.3.0.0 \
/usr/lib/crti.o \
/home/ncm/Libc/build/gcc/crtbeginS.o \
-L/home/ncm/Libc/build/gcc \
-L/home/ncm/Libc/v3/lib/gcc-lib/i686-pc-linux-gnu/2.96 \
-L/home/ncm/Libc/v3/lib/gcc-lib/i686-pc-linux-gnu/2.96/../../.. \
limitsMEMBERS.lo \
c++io.lo \
cmath.lo \
complex.lo \
complexf.lo \
complexl.lo \
complex_io.lo \
stdexcept.lo \
ios.lo \
stdstreams.lo \
strstream.lo \
locale.lo \
localename.lo \
locale-inst.lo \
stl-inst.lo \
misc-inst.lo \
valarray-inst.lo \
stringMAIN.lo \
stringCTORNC.lo \
stringCTORAL.lo \
stringCTORCPR.lo \
stringCTORCPRAL.lo \
stringCTORPRAL.lo \
stringCTORPAL.lo \
stringCTORDUPAL.lo \
stringCTORPP.lo \
stringCTORII.lo \
stringMUTATE.lo \
stringRESERVE.lo \
stringSWAP.lo \
stringSLOP.lo \
stringRESIZE.lo \
stringAPPCOPY.lo \
stringAPPCPR.lo \
stringAPPPR.lo \
stringAPPDUP.lo \
stringAPPII.lo \
stringASSCP.lo \
stringASSII.lo \
stringINSII.lo \
stringREPRR.lo \
stringREPIIDUP.lo \
stringREPII.lo \
stringREPIII.lo \
stringREP4I.lo \
stringREPIIPP.lo \
stringREPIIPP2.lo \
stringCOPY.lo \
stringCONII.lo \
stringCONIIF.lo \
stringCONPPF.lo \
stringCONPPF2.lo \
stringCONSC.lo \
stringFIND.lo \
stringFINDC.lo \
stringRFIND.lo \
stringRFINDC.lo \
stringFFO.lo \
stringFLO.lo \
stringFFNO.lo \
stringFLNO.lo \
stringFLNOC.lo \
stringCOMPARE.lo \
stringCOMPARE2.lo \
stringCOMPAREP.lo \
stringCOMPAREP2.lo \
stringADDPS.lo \
stringADDCS.lo \
stringEXTRACT.lo \
stringINSERT.lo \
stringGETLINE.lo \
stringSCOPY.lo \
stringEQ.lo \
wstringMAIN.lo \
wstringCTORNC.lo \
wstringCTORAL.lo \
wstringCTORCPR.lo \
wstringCTORCPRAL.lo \
wstringCTORPRAL.lo \
wstringCTORPAL.lo \
wstringCTORDUPAL.lo \
wstringCTORPP.lo \
wstringCTORII.lo \
wstringMUTATE.lo \
wstringRESERVE.lo \
wstringSWAP.lo \
wstringSLOP.lo \
wstringRESIZE.lo \
wstringAPPCOPY.lo \
wstringAPPCPR.lo \
wstringAPPPR.lo \
wstringAPPDUP.lo \
wstringAPPII.lo \
wstringASSCP.lo \
wstringASSII.lo \
wstringINSII.lo \
wstringREPRR.lo \
wstringREPIIDUP.lo \
wstringREPII.lo \
wstringREPIII.lo \
wstringREP4I.lo \
wstringREPIIPP.lo \
wstringREPIIPP2.lo \
wstringCOPY.lo \
wstringCONII.lo \
wstringCONIIF.lo \
wstringCONPPF.lo \
wstringCONPPF2.lo \
wstringCONSC.lo \
wstringFIND.lo \
wstringFINDC.lo \
wstringRFIND.lo \
wstringRFINDC.lo \
wstringFFO.lo \
wstringFLO.lo \
wstringFFNO.lo \
wstringFLNO.lo \
wstringFLNOC.lo \
wstringCOMPARE.lo \
wstringCOMPARE2.lo \
wstringCOMPAREP.lo \
wstringCOMPAREP2.lo \
wstringADDPS.lo \
wstringADDCS.lo \
wstringEXTRACT.lo \
wstringINSERT.lo \
wstringGETLINE.lo \
wstringSCOPY.lo \
wstringEQ.lo \
--whole-archive \
../math/.libs/libmath.al \
../libio/.libs/libio.al \
--no-whole-archive \
-lm \
-lc \
-soname \
libstdc++.so.3 \
-lgcc \
-lc \
-lgcc \
/home/ncm/Libc/build/gcc/crtendS.o \
/usr/lib/crtn.o
(cd .libs && rm -f libstdc++.so.3 && ln -s libstdc++.so.3.0.0 libstdc++.so.3)
(cd .libs && rm -f libstdc++.so && ln -s libstdc++.so.3.0.0 libstdc++.so)
rm -fr ../math/.libs/libmath.alx
mkdir ../math/.libs/libmath.alx
(cd ../math/.libs/libmath.alx && ar x ../libmath.al)
rm -fr ../libio/.libs/libio.alx
mkdir ../libio/.libs/libio.alx
(cd ../libio/.libs/libio.alx && ar x ../libio.al)

ar \
cru \
.libs/libstdc++.a \
limitsMEMBERS.o \
c++io.o \
cmath.o \
complex.o \
complexf.o \
complexl.o \
complex_io.o \
stdexcept.o \
ios.o \
stdstreams.o \
strstream.o \
locale.o \
localename.o \
locale-inst.o \
stl-inst.o \
misc-inst.o \
valarray-inst.o \
stringMAIN.o \
stringCTORNC.o \
stringCTORAL.o \
stringCTORCPR.o \
stringCTORCPRAL.o \
stringCTORPRAL.o \
stringCTORPAL.o \
stringCTORDUPAL.o \
stringCTORPP.o \
stringCTORII.o \
stringMUTATE.o \
stringRESERVE.o \
stringSWAP.o \
stringSLOP.o \
stringRESIZE.o \
stringAPPCOPY.o \
stringAPPCPR.o \
stringAPPPR.o \
stringAPPDUP.o \
stringAPPII.o \
stringASSCP.o \
stringASSII.o \
stringINSII.o \
stringREPRR.o \
stringREPIIDUP.o \
stringREPII.o \
stringREPIII.o \
stringREP4I.o \
stringREPIIPP.o \
stringREPIIPP2.o \
stringCOPY.o \
stringCONII.o \
stringCONIIF.o \
stringCONPPF.o \
stringCONPPF2.o \
stringCONSC.o \
stringFIND.o \
stringFINDC.o \
stringRFIND.o \
stringRFINDC.o \
stringFFO.o \
stringFLO.o \
stringFFNO.o \
stringFLNO.o \
stringFLNOC.o \
stringCOMPARE.o \
stringCOMPARE2.o \
stringCOMPAREP.o \
stringCOMPAREP2.o \
stringADDPS.o \
stringADDCS.o \
stringEXTRACT.o \
stringINSERT.o \
stringGETLINE.o \
stringSCOPY.o \
stringEQ.o \
wstringMAIN.o \
wstringCTORNC.o \
wstringCTORAL.o \
wstringCTORCPR.o \
wstringCTORCPRAL.o \
wstringCTORPRAL.o \
wstringCTORPAL.o \
wstringCTORDUPAL.o \
wstringCTORPP.o \
wstringCTORII.o \
wstringMUTATE.o \
wstringRESERVE.o \
wstringSWAP.o \
wstringSLOP.o \
wstringRESIZE.o \
wstringAPPCOPY.o \
wstringAPPCPR.o \
wstringAPPPR.o \
wstringAPPDUP.o \
wstringAPPII.o \
wstringASSCP.o \
wstringASSII.o \
wstringINSII.o \
wstringREPRR.o \
wstringREPIIDUP.o \
wstringREPII.o \
wstringREPIII.o \
wstringREP4I.o \
wstringREPIIPP.o \
wstringREPIIPP2.o \
wstringCOPY.o \
wstringCONII.o \
wstringCONIIF.o \
wstringCONPPF.o \
wstringCONPPF2.o \
wstringCONSC.o \
wstringFIND.o \
wstringFINDC.o \
wstringRFIND.o \
wstringRFINDC.o \
wstringFFO.o \
wstringFLO.o \
wstringFFNO.o \
wstringFLNO.o \
wstringFLNOC.o \
wstringCOMPARE.o \
wstringCOMPARE2.o \
wstringCOMPAREP.o \
wstringCOMPAREP2.o \
wstringADDPS.o \
wstringADDCS.o \
wstringEXTRACT.o \
wstringINSERT.o \
wstringGETLINE.o \
wstringSCOPY.o \
wstringEQ.o \
../math/.libs/libmath.alx/signbit.lo \
../math/.libs/libmath.alx/signbitf.lo \
../math/.libs/libmath.alx/cabs.lo \
../math/.libs/libmath.alx/cabsf.lo \
../math/.libs/libmath.alx/c_log.lo \
../math/.libs/libmath.alx/c_logf.lo \
../math/.libs/libmath.alx/signbitl.lo \
../math/.libs/libmath.alx/c_logl.lo \

ranlib .libs/libstdc++.a
rm -fr ../math/.libs/libmath.alx ../libio/.libs/libio.alx
creating libstdc++.la
(cd .libs && rm -f libstdc++.la && ln -s ../libstdc++.la libstdc++.la)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]