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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.