Building Xercesperl on Tru64 5.1a
Christian Orsatti <[email protected]>
| Newsgroups | gmane.text.xml.xerces-p.devel |
|---|---|
| Message-ID | <[email protected]> |
> > > So I made nm on the lib and I saw that this symbol was missing. But in > > > fact quite all symbols are missing. The lib is very small. > > > > > > I checked the static libs used to build Xerces.so (tmp.a > > > blib/arch/auto/Handler/Handler.a). > > > In tmp.a I found the missing symbol. This lib seems to be correct. > > > > What is 'tmp.a'? I have not seen that file created in any build of > > XML-Xerces. I'm guessing this to be an issue with how MakeMaker is trying > > to build a perl shared object from C++ sources. > > Huh. I have no idea what tmp.a is. This is a lib that is create from the Xerces.o file and then used with Handler.a to create the .so lib > Christian, I would rerun the 'make' process and send us the > output. I'd like to see why tmp.a is getting made, and why Xerces.so > doesn't have all the symbols it should. Here is the result of the make command: make[1]: Entering directory `/0/orsatti/XML-Xerces-2.3.0-2/Handler' make[1]: Leaving directory `/0/orsatti/XML-Xerces-2.3.0-2/Handler' g++ -c -I. -IHandler -I/usr/packages/include -w -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET -D_REENTRANT -DHAS_BOOL -DVERSION=\"2.3.0-2\" -DXS_VERSION=\"2.3.0-2\" -I/usr/local/stow/perl-5.6.0/lib/5.6.0/alpha-dec_osf/CORE Xerces.C Running Mkbootstrap for XML::Xerces () chmod 644 Xerces.bs ar cr tmp.a Xerces.o : tmp.a LD_RUN_PATH="/usr/shlib:/usr/packages/lib" g++ -o blib/arch/auto/XML/Xerces/Xerces.so -shared -expect_unresolved -msym -std -s -L/usr/local/lib -all tmp.a blib/arch/auto/Handler/Handler.a -lpthread -L/usr/packages/lib -lxerces-c chmod 755 blib/arch/auto/XML/Xerces/Xerces.so cp Xerces.bs blib/arch/auto/XML/Xerces/Xerces.bs chmod 644 blib/arch/auto/XML/Xerces/Xerces.bs Xerces.so still empty. But I manage create a correct Xerces.so lib. to make it so, I take all the tmp.a and Handler.a I de-assemble then (ar x) to get all .o file Then I run ld by hand will the following command: ld -o Xerces.so *.o -shared -lpthread /usr/packages/lib/libxerces-c.so.23.0 I had some stderr output but it created a Xerces.so that seems to work (at least with my code) Thanks for your answer. By the way, I need post some questions about using Xerces.pm. Is this list the right place or is there any other list ? Take care Christian