You are viewing a plain text version of this content. The canonical link for it is here.
Posted to p-dev@xerces.apache.org by Michael Grabenstein <mi...@isinet.com> on 2002/05/07 01:20:18 UTC

DynaLoader problem...

    OK, now I am onto another interesting problem. :-)

    I am my stuff installed in non-standard places and have my 
LD_LIBRARY_PATH set to make up for the differences.

    On the command line my script runs fine, but it won't run under the 
web server.

    The web server is running as me so this is not a permission problem 
(development box so don't care about user id yet).

    Apache is running just normal CGI (not mod_perl).

    It seems to load Xerces.so, but it relies on my libstdc++.so.3 that 
is installed in  a lib directory under my home directory. (of which 
LD_LIBRARY_PATH is pointing to.) I built perl with that library in 
$Config{'libpth'}...

    But this is what I get:
Can't load 
'~/enWeb//lib/perl5/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so' 
for module XML::Xerces: ld.so.1: ~/bin/perl: fatal: libstdc++.so.3: open 
failed: No such file or directory at 
~/enWeb//lib/perl5/5.6.1/sun4-solaris/DynaLoader.pm line 206.

    And libxerces-c.so is also in the same lib directory ~/enWeb/lib...

    I am going to try rebuilding Perl with out the double slashes in the 
paths... But the dl_library_path of DynaLoader did not have them...

    Any other ideas ?

Thanks,
    Mike


---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org


Re: DynaLoader problem...

Posted by Michael Grabenstein <mi...@isinet.com>.
    Everything compiles...

    Working... we still have a lot of bugs, but at least they look to be 
confined to our own programming now. :-)

Later,
    Mike

Jason E. Stewart wrote:

>"Michael Grabenstein" <mi...@isinet.com> writes:
>
>>    Here so some other poor soul does not have to think about this as
>>    long as I did. :-)
>>
>
>So, I take it that things are working for you now?
>
>Cheers,
>jas.
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
>For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
>


Re: DynaLoader problem...

Posted by "Jason E. Stewart" <ja...@openinformatics.com>.
"Michael Grabenstein" <mi...@isinet.com> writes:

>     Here so some other poor soul does not have to think about this as
>     long as I did. :-)

So, I take it that things are working for you now?

Cheers,
jas.

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org


Re: DynaLoader problem...

Posted by Michael Grabenstein <mi...@isinet.com>.
    Here so some other poor soul does not have to think about this as 
long as I did. :-)

    Check out this page:
http://httpd.apache.org/docs/mod/mod_env.html

    Basically what we did not have was the directive:
PassEnv LD_LIBRARY_PATH

    In my httpd.conf for apache.

    Note: I also modified apachectl to set the LD_LIBRARY_PATH before 
running httpd. This is basically required if you want your libraries in 
a non-standard location and have the a start up script (in the rc 
directory) start you apache server. (Guess I could have used SetEnv as 
well, except my httpd is built with libraries in that directory  as well...)

Later,
    Mike

Michael Grabenstein wrote:

>    OK, now I am onto another interesting problem. :-)
>
>    I am my stuff installed in non-standard places and have my 
> LD_LIBRARY_PATH set to make up for the differences.
>
>    On the command line my script runs fine, but it won't run under the 
> web server.
>
>    The web server is running as me so this is not a permission problem 
> (development box so don't care about user id yet).
>
>    Apache is running just normal CGI (not mod_perl).
>
>    It seems to load Xerces.so, but it relies on my libstdc++.so.3 that 
> is installed in  a lib directory under my home directory. (of which 
> LD_LIBRARY_PATH is pointing to.) I built perl with that library in 
> $Config{'libpth'}...
>
>    But this is what I get:
> Can't load 
> '~/enWeb//lib/perl5/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so' 
> for module XML::Xerces: ld.so.1: ~/bin/perl: fatal: libstdc++.so.3: 
> open failed: No such file or directory at 
> ~/enWeb//lib/perl5/5.6.1/sun4-solaris/DynaLoader.pm line 206.
>
>    And libxerces-c.so is also in the same lib directory ~/enWeb/lib...
>
>    I am going to try rebuilding Perl with out the double slashes in 
> the paths... But the dl_library_path of DynaLoader did not have them...
>
>    Any other ideas ?
>
> Thanks,
>    Mike
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
> For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
>



---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org


Re: DynaLoader problem...

Posted by "Jason E. Stewart" <ja...@openinformatics.com>.
"Michael Grabenstein" <mi...@isinet.com> writes:

>     It seems to load Xerces.so, but it relies on my libstdc++.so.3
>     that is installed in  a lib directory under my home directory. (of
>     which LD_LIBRARY_PATH is pointing to.) I built perl with that
>     library in $Config{'libpth'}...

Seems bound for trouble ...

I would install them in a standard system location, maybe
/usr/local/lib if you don't want to overwrite your current versions. 

>     But this is what I get:
> Can't load
> '~/enWeb//lib/perl5/site_perl/5.6.1/sun4-solaris/auto/XML/Xerces/Xerces.so'
> for module XML::Xerces: ld.so.1: ~/bin/perl: fatal: libstdc++.so.3:
> open failed: No such file or directory at
> ~/enWeb//lib/perl5/5.6.1/sun4-solaris/DynaLoader.pm line 206.
> 
> 
>     And libxerces-c.so is also in the same lib directory ~/enWeb/lib...
> 
>     I am going to try rebuilding Perl with out the double slashes in
>     the paths... But the dl_library_path of DynaLoader did not have
>     them...

The double slashes are not your problem. That DynaLoader.pm line 206
error message just means that that was the last line of perl code
executed before Perl started calling your C library (you can read the
comment right above that line in DynaLoader.pm). It's finding
Xerces.so just fine, it's not finding libstdc++.so.3 

*or* 

it's not finding a library that libstdc++.so.3 depends on.

HTH,
jas.

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org