Subject: | Problem building under Perl 5.6+ |
It appears that make does not run in libmd/ directory before it is run in
the main directory, so the library is not built by the time make tries to
link against it. I do not know what operation creates a zero-length file,
but the solution would be to trick make to execute "subdirs" target before
doing the actual build.
This happens about 6 builds out of 10. Sometimes it does manage to
build all the libmd files first, but usually not. Below is the
erroneous build log.
moondance# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Math::Cephes::libmd
Writing Makefile for Math::Cephes
The file libmd/mconf.h, which contains machine-dependent
definitions, may require some manual editing for your platform.
moondance# make
cp lib/Math/Cephes.pod blib/lib/Math/Cephes.pod
cp lib/Math/Cephes/Matrix.pm blib/lib/Math/Cephes/Matrix.pm
cp lib/Math/Cephes.pm blib/lib/Math/Cephes.pm
cp lib/Math/Cephes/Polynomial.pm blib/lib/Math/Cephes/Polynomial.pm
cp lib/Math/Cephes/Fraction.pm blib/lib/Math/Cephes/Fraction.pm
cp lib/Math/Cephes/Complex.pm blib/lib/Math/Cephes/Complex.pm
cc -c -I/usr/ports/math/p5-Math-Cephes/work/Math-Cephes-0.42/libmd
-DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -DHAS_FPSETMASK
-DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe
-Wdeclaration-after-statement -I/usr/local/include -O -pipe
-DVERSION=\"0.42\" -DXS_VERSION=\"0.42\" -DPIC -fPIC
"-I/usr/local/lib/perl5/5.8.8/mach/CORE" Cephes_wrap.c
Cephes_wrap.c: In function `SWIG_Perl_ConvertPtr':
Cephes_wrap.c:517: warning: cast to pointer from integer of different size
cc -c -I/usr/ports/math/p5-Math-Cephes/work/Math-Cephes-0.42/libmd
-DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -DHAS_FPSETMASK
-DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe
-Wdeclaration-after-statement -I/usr/local/include -O -pipe
-DVERSION=\"0.42\" -DXS_VERSION=\"0.42\" -DPIC -fPIC
"-I/usr/local/lib/perl5/5.8.8/mach/CORE" arrays.c
Running Mkbootstrap for Math::Cephes ()
chmod 644 Cephes.bs
rm -f blib/arch/auto/Math/Cephes/Cephes.so
cc -shared -L/usr/local/lib Cephes_wrap.o arrays.o -o
blib/arch/auto/Math/Cephes/Cephes.so
/usr/ports/math/p5-Math-Cephes/work/Math-Cephes-0.42/libmd/libmd.a
-L/usr/ports/math/p5-Math-Cephes/work/Math-Cephes-0.42/libmd -lmd
/usr/ports/math/p5-Math-Cephes/work/Math-Cephes-0.42/libmd/libmd.a: file
not recognized: File truncated
*** Error code 1
Stop in /usr/ports/math/p5-Math-Cephes/work/Math-Cephes-0.42.