[Expat-discuss] Re: troubles with expat sol 8/gcc/xml-parser
Tue Aug 6 10:38:02 2002
Ah, see, there's the rub. If you're writing an extension for Perl (at least in
C) then you must either build it as a dynamic library, or you have to have to
statically link it in to perl itself, meaning recompiling perl. Now, I'm rather
vague on static versus dynamic libraries on solaris, but I think it should be
possible to build the XML-Parser module dynamically (as normal) but link the
expat library into it statically when you build it. That is, assuming you only
built a static version of expat. You might (but shouldn't) need to get so
drastic as to edit the XML::Parser makefile and add the '-lexpat' compiler
switch (possibly along with the '-L' compiler switch specifying the directory
expat was installed to if it's not in your libpath).
BTW, Perl version 5.6.1 is the most recent stable release. As far as I could
tell there is no version 5.8. Okay, I take that back... 5.8 is the most recent
release. While it is not the "stable" release, it is also not a development
release, so that shouldn't be causing you any problems. You might want to check
the perldelta man page (or perldoc) just to be sure. Also, did you try running
'make test' after 'make install' like I suggested? Did it help?
- Josh Martin
> Chris Watson writes:
> > i have installed perl version 5.8
> > i have installed expat version 1.95.4
> > i am trying to install XML-Parser-2.31 a perl module.
> > the parser package allows you to test the distribution with a make test.
> > i run the make test the error messages that i get are, (please
> > excuse the ^M):
t/Expat.so: symbol XML_GetErrorCode: referenced symbol
> > not found at /server/utils/lib/perl5/5.8.0/sun4-solaris/DynaLoader.pm line
> The XML::Parser::Expat module should be re-linked to use the static
> version of the Expat library (libexpat.a). I don't know how to do
> this since I don't use Perl much, and have never built a Perl
> Fred L. Drake, Jr. <fdrake at acm.org>
> PythonLabs at Zope Corporation