Weirdly enough, the --enable-static trick did not work out for me, but for completeness (and off-site backup :) ), here is what I need to do to build expat and XML::Parser on Solaris x86 with the SUN C compiler:
First build expat:
PATH=/usr/ccs/bin:$PATH # to add the correct "ar"
# autotools does not seem to know when the configuration was changed,
+this is just a safety measure
gmake clean
CC=/opt/SUNWspro/bin/cc CFLAGS="-KPIC -O -D_LARGEFILE_SOURCE -D_FILE_O
+FFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -xarch=generic64" ./configure -
+-prefix=/home/corion/lib --enable-shared
gmake all
# this one might not compile the C++ checks, if you don't have the SUN
+ C++ compiler installed
gmake check
gmake install
After installation, remember to update LD_LIBRARY_PATH in an appropriate location:
# Update LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/corion/lib
Then, the installation of XML::Parser works, although the SUN C compiler did not like having the library directories listed after the -lexpat command. So I had to fudge that by patching the Makefile.PL:
unless (
check_lib( # fill in what you prompted the user for here
#lib => [qw(expat)],
header => ['expat.h'],
debug => 1,
incpath => $expat_incpath,
# Ugly hack here
($expat_libpath?
(libpath => "$expat_libpath -lexpat"):()),
)) {
Then, configuring and testing Just Works:
perl Makefile.PL EXPATLIBPATH=/home/corion/lib/lib EXPATINCPATH=/home/
+corion/lib/include -lexpat
gmake
gmake test
gmake install
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.