Re: PHP FFI oddity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02.01.2020 at 22:38, Larry Garfield wrote:

> This is a long shot, but I figured I'd try here before PHP-Internals.
>
> I'm experimenting with PHP-FFI.  2 weeks ago, I had working code.  The same code 2 weeks later is now not working. (I say "Same code" because I can confirm that via Git.  It's not just me saying I didn't touch it.)
>
> The code in question is here:
>
> https://github.com/Crell/ffi-test/tree/master/points
>
> Running `make inline` (to test loading up the FFI logic inline) works.
>
> Running `make preload` (to load the library in a preload routine) fails.
>
> Specifically, the preloader.php script is called, and gives this error:
>
> PHP Warning:  failed pre-loading '/home/crell/temp/php-ffi-test/points/points.h', cannot resolve C function 'distance' in preloader.php on line 6
>
> Line 6 is:
>
> FFI::load(__DIR__ . "/points.h");
>
> I do not understand how this worked before, but doesn't now.  A friend suggested some library version or path changed, but I've no idea what.
>
> The "dummy" example (in a separate folder) works fine.  It's straight out of the PHP manual.  The main difference is it's linking against stdlib, whereas `points` has a tiny custom library.  That's being problematic.
>
> Anyone have a recommendation here?  I'm out of ideas.

Would it work if you used an absolute path in points.h?  If so, I think
`LD_LIBRARY_PATH` would need adjustment.

--
Christoph M. Becker




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux