You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
libyajl2 gem allows to use the system copy instead of compiling the intree copy
many linux distributions split the library packages in 2 parts
one that holds the actual shared library (libyajl.so.*)
one that holds the devel files (libyajl.so and the headers)
the code in lib/ffi_yajl/ext.rb seems to be weird
it seems FFI.map_library_name("yajl") always returns the unversioned file name. even if that isnt present. to fix the actual loading i had to install the devel package.
you concat that with the lib path to the libyajl2 intree copy (which doesnt exist on my system)
i double checked this with @headius and @whitequark and they both think there is a lot of unneeded code there.
the code wouldnt work on jruby
what was wrong with the existing libyajl bindings? it cant be jruby support...
At the very least ffi-yajl should try to load the versioned library name instead of the unversioned one.
The text was updated successfully, but these errors were encountered:
The way that -dev and -devel packages are built they should only have *.h header files in them. They shouldn't be touching the lib directory and the base non-dev[el] packages should contain both the versioned library and its symlinks. So I can't understand what the root cause of this bug is. I also can't replicate it on Ubuntu or Mac or CentOS. Using the environment variable to build against the system yajl got an overhaul in #52 so this may have fixed some issue. The solution of including searching the versioned filenames, though, is not necessary.
FFI.map_library_name("yajl")
always returns the unversioned file name. even if that isnt present. to fix the actual loading i had to install the devel package.At the very least ffi-yajl should try to load the versioned library name instead of the unversioned one.
The text was updated successfully, but these errors were encountered: