Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Jul 2006 06:52:19 -0400
From:      bill <btt@impcp.com>
To:        freebsd-questions@freebsd.org
Subject:   Linux shared libs on FreeBSD
Message-ID:  <F52478E4-2337-4B7E-8C99-DA86A6AE4DBA@impcp.com>

next in thread | raw e-mail | index | archive | help
Hello everyone,

We have a third-party php extension that we need to use for a  
specific application here. The extension is compiled for Linux, but  
it appears that its possible to use them in FreeBSD under the Linux  
emulation.

Its not working out so well for us, unfortunately. Here's what I've  
done, and hopefully someone can point out where we've gone wrong and  
maybe suggest a fix:

1) the PHP .so has been branded using: brandelf -t Linux <extname>

2) linux compatibility is enabled, linprocfs is mounted, etc.

3) the port linux_base-8-8.0_14 is installed and seems to be working  
properly.

I think that should about do it, no?

Here's what happens when apachectl start runs:

PHP Warning:  Unknown(): Unable to load dynamic library '/usr/local/ 
lib/php/20020429/php4_cybersource.so' - Shared object  
&quot;libgcc_s.so.1&quot; not found, required by  
&quot;php4_cybersource.so&quot; in Unknown on line 0
PHP Warning:  Unknown(): Unable to load dynamic library '/usr/local/ 
lib/php/20020429/php4_cybersource.so' - Shared object  
&quot;libgcc_s.so.1&quot; not found, required by  
&quot;php4_cybersource.so&quot; in Unknown on line 0
[Thu Jun 29 04:51:29 2006] [notice] Apache/1.3.36 (Unix) PHP/4.4.2  
mod_ssl/2.8.27 OpenSSL/0.9.7e-p1 configured -- resuming normal  
operations
[Thu Jun 29 04:51:29 2006] [notice] Accept mutex: flock (Default: flock)

And so, libgcc_s.so.1 really exists at /usr/compat/linux/lib/ 
libgcc_s.so.1. If I go as far as symlink it into the native freebsd  
ld path, then it finds it and doesn't complain. I end up having to do  
this with about 4 or 5 other libraries until eventually it stops  
complaining about missing libraries and starts complaining about  
missing symbols within the libraries.

That's about when I stop trying to accommodate it because that's just  
getting out of hand, eh? I'm thinking that linux compatibility is not  
even playing a role in what's going on.

So that's where we are now. It would be nice to use this library, but  
the company also has a java implementation, so we might have to use  
that in a pinch. But it really would be nice to get it running within  
php.

Thanks for any help. I am not subscribed to this list for followup  
purposes.

Best wishes,
William




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F52478E4-2337-4B7E-8C99-DA86A6AE4DBA>