[sf-perl] Building File::LibMagic on OS X
Bill Moseley
moseley at hank.org
Tue Jun 26 07:36:59 PDT 2012
I need some help understanding how to build the File::LibMagic module on OS
X 10.6.
I've installed Libmagic using homebrew. The homebrew formula used:
ftp://ftp.astron.com/pub/file/file-5.04.tar.gz
Now the header and lib ended up in odd places:
$ find /usr/local -name libmagic\*
/usr/local/Cellar/libmagic
/usr/local/Cellar/libmagic/5.04/lib/libmagic.1.0.0.dylib
/usr/local/Cellar/libmagic/5.04/lib/libmagic.1.dylib
/usr/local/Cellar/libmagic/5.04/lib/libmagic.a
/usr/local/Cellar/libmagic/5.04/lib/libmagic.dylib
/usr/local/Cellar/libmagic/5.04/share/man/man3/libmagic.3
/usr/local/Library/Formula/libmagic.rb
$ find /usr/local -name magic.h | grep -v Image
/usr/local/Cellar/libmagic/5.04/include/magic.h
I seem to be able to build the Perl module like this:
$ perl Makefile.PL INC=-I/usr/local/Cellar/libmagic/5.04/include
LIBS='-L/usr/local/Cellar/libmagic/5.04/lib'
"make" seems to run fine, but, the tests fail with this:
Can't load
'/Users/moseley/.cpan/build/File-LibMagic-0.96-HoXX3N/blib/arch/auto/File/LibMagic/LibMagic.bundle'
for module File::LibMagic:
dlopen(/Users/moseley/.cpan/build/File-LibMagic-0.96-HoXX3N/blib/arch/auto/File/LibMagic/LibMagic.bundle,
2): Symbol not found: _magic_buffer
Referenced from:
/Users/moseley/.cpan/build/File-LibMagic-0.96-HoXX3N/blib/arch/auto/File/LibMagic/LibMagic.bundle
Expected in: dynamic lookup
That symbol is in the libmagic library:
$ nm -gU /usr/local/Cellar/libmagic/5.04/lib/libmagic.1.dylib | grep
magic_buffer
0000000000000fc0 T _magic_buffer
My guess is runtime isn't linking to libmagic.1.dylib (IIRC, OS X doesn't
have a default search path), but if that was the case then I would think
I'd see an error about not finding the library at run time.
And that's the limit of my OS X knowledge. If "otool -L" is similar to
"ldd" then doesn't look like it's linked at all with libmagic, right?
$ otool -L
/Users/moseley/.cpan/build/File-LibMagic-0.96-HoXX3N/blib/arch/auto/File/LibMagic/LibMagic.bundle
/Users/moseley/.cpan/build/File-LibMagic-0.96-HoXX3N/blib/arch/auto/File/LibMagic/LibMagic.bundle:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
125.2.11)
Thanks,
--
Bill Moseley
moseley at hank.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/sanfrancisco-pm/attachments/20120626/16879760/attachment.html>
More information about the SanFrancisco-pm
mailing list