Subject: | Makefile.PL related build failure on OSX.4 |
I installed libevent version 1.1a-2 with fink (fink install libevent1).
By default, Makefile.PL runs cleanly but creates a bad makefile resulting in an include error:
root@wide:~/.cpan/build/Event-Lib-1.03-MIn5YC # perl Makefile.PL
Checking existance of libevent.../usr/bin/ld: warning -L: directory name (/opt/local/lib)
does not exist
yes
Checking capabilities...
event_set_log_callback...yes
event_priority_init...yes
Additional defines: -DHAVE_LOG_CALLBACKS -DHAVE_PRIORITIES
Note (probably harmless): No library found for -levent
Writing Makefile for Event::Lib
root@wide:~/.cpan/build/Event-Lib-1.03-MIn5YC # make
cc -c -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -
I/usr/local/include -O3 -DVERSION=\"1.03\" -DXS_VERSION=\"1.03\" "-
I/System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE" -DHAVE_CONFIG_H -
DHAVE_LOG_CALLBACKS -DHAVE_PRIORITIES Lib.c
Lib.xs:12:19: error: event.h: No such file or directory
...other expected errors...
Running Makefile.PL with extra arguments yields a successful build:
root@wide:~/.cpan/build/Event-Lib-1.03-MIn5YC # perl Makefile.PL INC="-I/sw/include"
Checking existance of libevent.../usr/bin/ld: warning -L: directory name (/opt/local/lib)
does not exist
yes
Checking capabilities...
event_set_log_callback...yes
event_priority_init...yes
Additional defines: -DHAVE_LOG_CALLBACKS -DHAVE_PRIORITIES
Note (probably harmless): No library found for -levent
Writing Makefile for Event::Lib
root@wide:~/.cpan/build/Event-Lib-1.03-MIn5YC # make
cc -c -I/sw/include -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-
strict-aliasing -I/usr/local/include -O3 -DVERSION=\"1.03\" -DXS_VERSION=\"1.03\" "-
I/System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE" -DHAVE_CONFIG_H -
DHAVE_LOG_CALLBACKS -DHAVE_PRIORITIES Lib.c
Running Mkbootstrap for Event::Lib ()
chmod 644 Lib.bs
rm -f blib/arch/auto/Event/Lib/Lib.bundle
env MACOSX_DEPLOYMENT_TARGET=10.3 cc -bundle -undefined dynamic_lookup -
L/usr/local/lib Lib.o -o blib/arch/auto/Event/Lib/Lib.bundle
\
-lm -L/sw/lib \
chmod 755 blib/arch/auto/Event/Lib/Lib.bundle
cp Lib.bs blib/arch/auto/Event/Lib/Lib.bs
chmod 644 blib/arch/auto/Event/Lib/Lib.bs
Manifying blib/man3/Event::Lib::Event::Lib.3pm
Manifying blib/man3/Event::Lib.3pm
It then passes the test suite with flying colors.
The Makefile.PL attempts to support fink on darwin (OSX) but fails to set the include path by
default in the makefile itself (however, it does check the existence of the library with the
correct paths.)
recommended fix: prepend "-I/sw/include " to $args{INC} if running on darwin.
This is perl, v5.8.6 built for darwin-thread-multi-2level
Darwin wide.local 8.11.1 Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007;
root:xnu-792.25.20~1/RELEASE_I386 i386 i386