Subject: | Build failed, when specifying additional directories |
Note:
- on OS X Yosemite (10.10.1)
- file(1) command "file-5.22" installed in /Users/hiroaki/tmp/File
- Perl v5.20.1
I tried to build such as:
$ perl Makefile.PL --lib /Users/hiroaki/tmp/File/lib --include /Users/hiroaki/tmp/File/include
Checking for magic.h... no
This module requires the libmagic.so library and magic.h header. See
INSTALL.md for more details on installing these.
$
Then I checked "Makefile.PL" with care of API of "Config::AutoConf".
As a result, I edited "Makefile.PL".
/*-----
--- Makefile.PL 2014-12-21 02:04:07.000000000 +0900
+++ Makefile.PL.edit 2015-01-24 00:50:42.000000000 +0900
@@ -90,8 +90,8 @@
my @libs;
my @includes;
-sub _libs { return @libs }
-sub _includes { return @includes }
+sub _libs { return map { '-L' . $_ } @libs }
+sub _includes { return map { '-I' . $_ } @includes }
sub _defines {
GetOptions(
@@ -101,7 +101,7 @@
my $ac = Config::AutoConf->new(
extra_link_flags => [ map { '-L' . $_ } @libs ],
- extra_include_flags => [ map { '-I' . $_ } @includes ],
+ extra_include_dirs => \@includes,
);
_check_libmagic($ac);
-----*/
It worked through to "make". But "make test" did not pass.
I also checked "Makefile" which generated by patched "Makefile.PL".
/*-----
--- Makefile 2015-01-24 00:57:04.000000000 +0900
+++ Makefile.edit 2015-01-24 01:00:21.000000000 +0900
@@ -48,8 +48,8 @@
EXE_EXT =
FULL_AR = /usr/bin/ar
LD = env MACOSX_DEPLOYMENT_TARGET=10.3 cc
-LDDLFLAGS = -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector
-LDFLAGS = -fstack-protector -L/usr/local/lib
+LDDLFLAGS = -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector -L/Users/hiroaki/tmp/File/lib -lmagic
+LDFLAGS = -fstack-protector -L/usr/local/lib -L/Users/hiroaki/tmp/File/lib -lmagic
LIBC =
LIB_EXT = .a
OBJ_EXT = .o
-----*/
In this way, it was able to pass the test.
I can not touch "dist.ini" because I am not familiar with the mechanism of distzilla.
If you have a place of notice, please develop an appropriate response.
Thank you in advance for your help.