pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
(patch) build fail for devel/p5-File-LibMagic when p5-ExtUtils-MakeMaker-7.06 is installed
Hi,
build for devel/p5-File-LibMagic fails when p5-ExtUtils-MakeMaker-7.06
is installed (Perl builtin version is at 7.04.1):
===> Building for p5-File-LibMagic-1.13
cp lib/File/typemap blib/lib/File/typemap
cp lib/File/LibMagic.pm blib/lib/File/LibMagic.pm
cp lib/File/LibMagic.xs blib/lib/File/LibMagic.xs
Running Mkbootstrap for LibMagic ()
chmod 644 "LibMagic.bs"
"/opt/pkgsrc/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- LibMagic.bs blib/arch/auto/File/LibMagic/LibMagic.bs 644
"/opt/pkgsrc/bin/perl" "/opt/pkgsrc/lib/perl5/5.22.0/ExtUtils/xsubpp" -typemap '/opt/pkgsrc/lib/perl5/5.22.0/ExtUtils/typemap' lib/File/LibMagic.xs > lib/File/LibMagic.xsc
mv lib/File/LibMagic.xsc lib/File/LibMagic.c
gcc -c -I. -Ic -D_REENTRANT -D_GNU_SOURCE -O2 -pthread -I/usr/include -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -I/opt/pkgsrc/include -I/usr/include -I/opt/pkgsrc/include -I/usr/include -DVERSION=\"1.13\" -DXS_VERSION=\"1.13\" -fPIC "-I/opt/pkgsrc/lib/perl5/5.22.0/x86_64-linux-thread-multi/CORE" -DHAVE_MAGIC_VERSION lib/File/LibMagic.c -o lib/File/LibMagic.o
rm -f blib/arch/auto/File/LibMagic/LibMagic.so
LD_RUN_PATH="/opt/pkgsrc/lib" gcc -shared -L/usr/local/lib -fstack-protector -o blib/arch/auto/File/LibMagic/LibMagic.so -L/opt/pkgsrc/lib -Wl,--enable-new-dtags,-R/opt/pkgsrc/lib LibMagic.o -L/opt/pkgsrc/lib -Wl,--enable-new-dtags,-R/opt/pkgsrc/lib -lmagic -lz
==> gcc: error: LibMagic.o: No such file or directory
*** Error code 1
the indicated line shows that it cannot find the .o file it just created
2 lines ago.
This is because of an incompatible change in the newer MakeMaker - it
places .o files where the source file lives (lib/File/ in this case),
whereas the older MakeMaker placed it in the current working dir
(toplevel in this case).
Solution: add BUILD_DEPENDS to the newer MakeMaker, and adapt
Makefile.PM to look for the .o in the new place (s. attached patch).
Regards
Matthias Ferdinand
$NetBSD$
--- Makefile.PL.orig 2015-09-19 08:22:40.550474000 +0000
+++ Makefile.PL
@@ -21,7 +21,7 @@ my %WriteMakefileArgs = (
},
"DISTNAME" => "File-LibMagic",
"INC" => "-I. -Ic",
- "LDFROM" => "LibMagic\$(OBJ_EXT)",
+ "LDFROM" => "lib/File/LibMagic\$(OBJ_EXT)",
'LIBS' => "$ENV{LDFLAGS} -lmagic -lz", # e.g., '-lm'
"LICENSE" => "perl",
"MIN_PERL_VERSION" => "5.008",
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/devel/p5-File-LibMagic/Makefile,v
retrieving revision 1.18
diff -u -p -r1.18 Makefile
--- Makefile 22 Aug 2015 23:41:00 -0000 1.18
+++ Makefile 19 Sep 2015 09:39:11 -0000
@@ -15,6 +15,10 @@ BUILDLINK_API_DEPENDS.file+= file>=5.00
# necessary for test
BUILD_DEPENDS+= p5-Test-Fatal-[0-9]*:../../devel/p5-Test-Fatal
+# incompatible change in MakeMaker 7.06 vs. 7.04.1 in object file location
+# => enforce the new behaviour
+BUILD_DEPENDS+= p5-ExtUtils-MakeMaker>=7.06:../../devel/p5-ExtUtils-MakeMaker
+
# cannot open LibMagic.xs: No such file or directory
MAKE_JOBS_SAFE= no
Home |
Main Index |
Thread Index |
Old Index