Hi list!
I've browsed the listarchives the last few days looking for something
indicating that it's possible to compile xerces-c and xerces-p using
the Sun Forte (Workshop) Compiler.
I have no problem compiling the c-library and running test which
indicate that it works, the fun begins when compiling xerces-p. First
of all it seems as if xerces-p is very close to g++, not regular,
normal C++ (if it's possible to say 'normal' when speaking of C++ :-),
I have to edit both Makefile and Handler/Makefile, setting CC to CC,
not cc.
It looks fabulous (if we ignore the 2455 warnings from Xerces.C:-) until
I try 'make test':
Failed 24/24 test scripts, 0.00% okay. 85/85 subtests failed, 0.00% okay.
Digging a little bit gives me
orthognatha /var/tmp/XML-Xerces-1.5.4/t$ /site/www/perl-5.6.1/bin/perl DOMCount.t
1..2
Can't load
'/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so' for
module XML::Xerces: ld.so.1: /site/www/perl-5.6.1/bin/perl: fatal: relocation error:
file /site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so:
symbol __1cDstdEcerr_: referenced symbol not found at
/site/www/perl-5.6.1/lib/5.6.1/sun4-solaris/DynaLoader.pm line 206.
at /site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/XML/Xerces.pm line 7
Compilation failed in require at DOMCount.t line 14.
BEGIN failed--compilation aborted at DOMCount.t line 14.
Which I would assume means a missing dynamic library, but:
orthognatha /var/tmp/XML-Xerces-1.5.4/t$ ldd
/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so
libpthread.so.1 => /usr/lib/libpthread.so.1
libxerces-c1_5_1.so => /site/www/xerces/lib/libxerces-c1_5_1.so
libnsl.so.1 => /usr/lib/libnsl.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
libmp.so.2 => /usr/lib/libmp.so.2
libthread.so.1 => /usr/lib/libthread.so.1
/usr/platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1
Which indicate that all libraries is present and accounted for.
However:
orthognatha /var/tmp/XML-Xerces-1.5.4/t$ ldd -d
/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so
libpthread.so.1 => /usr/lib/libpthread.so.1
libxerces-c1_5_1.so => /site/www/xerces/lib/libxerces-c1_5_1.so
libnsl.so.1 => /usr/lib/libnsl.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
libmp.so.2 => /usr/lib/libmp.so.2
symbol not found: PL_sv_yes
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
symbol not found: PL_markstack_ptr
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
symbol not found: PL_stack_max
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
symbol not found: PL_sv_undef
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
symbol not found: PL_Sv
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
symbol not found: __1cDstdEcerr_
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
symbol not found: PL_stack_sp
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
symbol not found: PL_tmps_floor
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
symbol not found: PL_tmps_ix
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
symbol not found: PL_markstack_max
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
symbol not found: PL_stack_base
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
symbol not found: PL_na
(/site/www/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so)
libthread.so.1 => /usr/lib/libthread.so.1
symbol not found: __1cG__CrunKpure_error6F_v_
(/site/www/xerces/lib/libxerces-c1_5_1.so)
[previous line repeated 117 times]
/usr/platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1
which indicate unresolved symbols in both libxerces-c1_5_1.so and
Xerces.so.
If I do the same thing on libxerces-c1_5_1.so I get pretty much the
same thing. If I compile libxerces with gcc, 'ldd -d' on the library
gives me no unresolved symbols, problem is that I can't use gcc on
this system and I can't compile xerces-p with gcc any other place
since I don't have it on the production machine. (And I'd really like
it if I don't have to install gcc on our system, > 200
solaris-machines getting the same software and having different
amounts of diskspace available and so on..)
System is a Sun Blade-1000, Solaris 8 04/01, compiler is Sun Forte 6
update 1, perl is 5.6.1 compiled from source using Forte.
Any ideas ? (Any what so ever is appreciated, I've been trying to get
this stuff running for a few days now.)
Please Cc me when answering since I'm not on the list.
-Sigurd
--
Sigurd Mytting, <URL:http://www.usit.uio.no/> Section for Operations
Center for Information Technology Services, University of Oslo, Norway
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]