You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@xerces.apache.org by Dean Hoover <dh...@frontiernet.net> on 2000/02/15 17:25:23 UTC

undefined reference to `IconvTransService::IconvTransService(void)'

I just built xerces C version 1.0.0 on linux using g++ version 2.95.2

The make for the library seemed OK, but when I tried to build the
samples, I kept getting the same link error. Here is the make output
for SAXPrint:

Building SAXPrint
cd SAXPrint ; make  ; cd ..
make[1]: Entering directory
`/home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint'
mkdir -p /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint
g++ -c -DLINUX -D_REENTRANT -fpic -instances=static -c -w -O  -I.
-I/home/dhoover/xmlparsers/xerces-csrc_1_0_0/include -o
/home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrint.o
/home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint/SAXPrint.cpp

g++ -c -DLINUX -D_REENTRANT -fpic -instances=static -c -w -O  -I.
-I/home/dhoover/xmlparsers/xerces-csrc_1_0_0/include -o
/home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrintHandlers.o
/home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint/SAXPrintHandlers.cpp

g++ -DLINUX -fpic -L/usr/lib -L/usr/local/lib
/home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrint.o
/home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrintHandlers.o
-o /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/SAXPrint
-L/home/dhoover/xmlparsers/xerces-csrc_1_0_0/lib -lxerces-c1_0 -lc
/home/dhoover/xmlparsers/xerces-csrc_1_0_0/lib/libxerces-c1_0.so:
undefined reference to `IconvTransService::IconvTransService(void)'
collect2: ld returned 1 exit status
make[1]: *** [/home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/SAXPrint]
Error 1
make[1]: Leaving directory
`/home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint'


Can someone tell me what I am doing wrong?

Thanks in advance.

Dean Hoover


Re: undefined reference to `IconvTransService::IconvTransService(void)'

Posted by Dean Hoover <dh...@frontiernet.net>.
I missed the fact that there was indeed a failure in the library build.
I didn't see it because the Makefiles just keep going, even on a failure.
It was a single failure, which I'm sure you can rectify. I am using gcc 2.95.2
on linux. Here is the isolated failure:

make[2]: Entering directory
`/home/dhoover/xmlparsers/xerces-csrc_1_0_0/src/util/Transcoders/Iconv'
mkdir -p
/home/dhoover/xmlparsers/xerces-csrc_1_0_0/include/util/Transcoders/Iconv
cp -fp IconvTransService.hpp
/home/dhoover/xmlparsers/xerces-csrc_1_0_0/include/util/Transcoders/Iconv
g++ -fpic -instances=static -DLINUX -D_REENTRANT -c -O
-DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER
-I/home/dhoover/xmlparsers/xerces-csrc_1_0_0/include  -o IconvTransService.o
IconvTransService.cpp
IconvTransService.cpp: In method `int IconvTransService::compareIString(const
XMLCh *, const XMLCh *)':
IconvTransService.cpp:131: passing `const int *' as argument 2 of
`towctrans(unsigned int, const unsigned int *)' changes signedness
IconvTransService.cpp:132: passing `const int *' as argument 2 of
`towctrans(unsigned int, const unsigned int *)' changes signedness
IconvTransService.cpp: In method `int IconvTransService::compareNIString(const
XMLCh *, const XMLCh *, unsigned int)':
IconvTransService.cpp:155: passing `const int *' as argument 2 of
`towctrans(unsigned int, const unsigned int *)' changes signedness
IconvTransService.cpp:156: passing `const int *' as argument 2 of
`towctrans(unsigned int, const unsigned int *)' changes signedness
make[2]: *** [IconvTransService.o] Error 1
make[2]: Leaving directory
`/home/dhoover/xmlparsers/xerces-csrc_1_0_0/src/util/Transcoders/Iconv'

Thanks for responding.

Dean Hoover

Rahul Jain wrote:

> > For building the library, I am using
> > runConfigure -plinux -cgcc -xg++ -minmem -nfileonly -tnative
> >
> > For building samples, I am using
> > runConfigure -plinux -cgcc -xg++
> >
>
> These commands are correct. We used the same command to build the 1.1.0 D05
> release. The binaries were generated on Redhat 6.1 using glibc 2.1.2-11 and
> egcs-2.91.66 (essentially what comes canned in RH 6.1).
>
> Please try the 1.1.0 D05 version and see if you still get the same error.
> This drop is available in the http://xml.apache.org/dist directory.
>
> rahul


Re: undefined reference to `IconvTransService::IconvTransService(void)'

Posted by Rahul Jain <ra...@apache.org>.
> For building the library, I am using
> runConfigure -plinux -cgcc -xg++ -minmem -nfileonly -tnative
> 
> For building samples, I am using
> runConfigure -plinux -cgcc -xg++
> 

These commands are correct. We used the same command to build the 1.1.0 D05
release. The binaries were generated on Redhat 6.1 using glibc 2.1.2-11 and
egcs-2.91.66 (essentially what comes canned in RH 6.1).

Please try the 1.1.0 D05 version and see if you still get the same error.
This drop is available in the http://xml.apache.org/dist directory.

rahul



Re: undefined reference to `IconvTransService::IconvTransService(void)'

Posted by Dean Hoover <dh...@frontiernet.net>.

Arundhati Bhowmick wrote:

> What options did you use to build the source? Hope you followed the documentation to
> include the necessary  transcoding service on compilation?
> Looks like your Transcoding service failed on compilation. Hope you're using
> runConfigure script appropriately before executing 'gmake' to build the source.

For building the library, I am using
runConfigure -plinux -cgcc -xg++ -minmem -nfileonly -tnative

For building samples, I am using
runConfigure -plinux -cgcc -xg++

Unless I am misreading the documentation, this is what I am supposed
to be doing. Any more ideas?

>
>
> Arundhati
>
> Dean Hoover wrote:
>
> > I just built xerces C version 1.0.0 on linux using g++ version 2.95.2
> >
> > The make for the library seemed OK, but when I tried to build the
> > samples, I kept getting the same link error. Here is the make output
> > for SAXPrint:
> >
> > Building SAXPrint
> > cd SAXPrint ; make  ; cd ..
> > make[1]: Entering directory
> > `/home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint'
> > mkdir -p /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint
> > g++ -c -DLINUX -D_REENTRANT -fpic -instances=static -c -w -O  -I.
> > -I/home/dhoover/xmlparsers/xerces-csrc_1_0_0/include -o
> > /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrint.o
> > /home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint/SAXPrint.cpp
> >
> > g++ -c -DLINUX -D_REENTRANT -fpic -instances=static -c -w -O  -I.
> > -I/home/dhoover/xmlparsers/xerces-csrc_1_0_0/include -o
> > /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrintHandlers.o
> > /home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint/SAXPrintHandlers.cpp
> >
> > g++ -DLINUX -fpic -L/usr/lib -L/usr/local/lib
> > /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrint.o
> > /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrintHandlers.o
> > -o /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/SAXPrint
> > -L/home/dhoover/xmlparsers/xerces-csrc_1_0_0/lib -lxerces-c1_0 -lc
> > /home/dhoover/xmlparsers/xerces-csrc_1_0_0/lib/libxerces-c1_0.so:
> > undefined reference to `IconvTransService::IconvTransService(void)'
> > collect2: ld returned 1 exit status
> > make[1]: *** [/home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/SAXPrint]
> > Error 1
> > make[1]: Leaving directory
> > `/home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint'
> >
> > Can someone tell me what I am doing wrong?
> >
> > Thanks in advance.
> >
> > Dean Hoover


Re: undefined reference to `IconvTransService::IconvTransService(void)'

Posted by Arundhati Bhowmick <ar...@hyperreal.org>.
What options did you use to build the source? Hope you followed the documentation to
include the necessary  transcoding service on compilation?
Looks like your Transcoding service failed on compilation. Hope you're using
runConfigure script appropriately before executing 'gmake' to build the source.

Arundhati

Dean Hoover wrote:

> I just built xerces C version 1.0.0 on linux using g++ version 2.95.2
>
> The make for the library seemed OK, but when I tried to build the
> samples, I kept getting the same link error. Here is the make output
> for SAXPrint:
>
> Building SAXPrint
> cd SAXPrint ; make  ; cd ..
> make[1]: Entering directory
> `/home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint'
> mkdir -p /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint
> g++ -c -DLINUX -D_REENTRANT -fpic -instances=static -c -w -O  -I.
> -I/home/dhoover/xmlparsers/xerces-csrc_1_0_0/include -o
> /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrint.o
> /home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint/SAXPrint.cpp
>
> g++ -c -DLINUX -D_REENTRANT -fpic -instances=static -c -w -O  -I.
> -I/home/dhoover/xmlparsers/xerces-csrc_1_0_0/include -o
> /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrintHandlers.o
> /home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint/SAXPrintHandlers.cpp
>
> g++ -DLINUX -fpic -L/usr/lib -L/usr/local/lib
> /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrint.o
> /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/obj/SAXPrint/SAXPrintHandlers.o
> -o /home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/SAXPrint
> -L/home/dhoover/xmlparsers/xerces-csrc_1_0_0/lib -lxerces-c1_0 -lc
> /home/dhoover/xmlparsers/xerces-csrc_1_0_0/lib/libxerces-c1_0.so:
> undefined reference to `IconvTransService::IconvTransService(void)'
> collect2: ld returned 1 exit status
> make[1]: *** [/home/dhoover/xmlparsers/xerces-csrc_1_0_0/bin/SAXPrint]
> Error 1
> make[1]: Leaving directory
> `/home/dhoover/xmlparsers/xerces-csrc_1_0_0/samples/SAXPrint'
>
> Can someone tell me what I am doing wrong?
>
> Thanks in advance.
>
> Dean Hoover