mirror of
https://github.com/opnsense/src.git
synced 2026-04-21 14:17:06 -04:00
$ PERL_DL_NONLAZY=1 perl -MPOSIX -e '' Can't load '/usr/libdata/perl/5.6.0/mach/auto/POSIX/POSIX.so' for module POSIX: /usr/libdata/perl/5.6.0/mach/auto/POSIX/POSIX.so: Undefined symbol "sv_setptrobj" at /usr/libdata/perl/5.6.0/XSLoader.pm line 73. at /usr/libdata/perl/5.6.0/mach/POSIX.pm line 24 Compilation failed in require. BEGIN failed--compilation aborted. This problem only exists in -CURRENT. Most often it is reproduced when compiling some perl extension manually. Make test uses PERL_DL_NONLAZY, and if a tested module uses POSIX, boom! Luckily, we don't see it very often, mostly because the vast majority of p5 ports do not perform the `make test' step. Submitted by: Anton Berezin <tobez@tobez.org> Needs to be a committer already: Anton Berezin <tobez@tobez.org>
43 lines
1.2 KiB
Makefile
43 lines
1.2 KiB
Makefile
# $FreeBSD$
|
|
|
|
PERL5SRC?= ${.CURDIR}/../../../../../contrib/perl5
|
|
PERL5LIBSRC?= ${.CURDIR}/../../libperl
|
|
MINIPERL= miniperl
|
|
|
|
MODULEDIR?= ${MODULE}
|
|
|
|
MAKEMAKER_ARGS= INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
|
|
INSTALLMAN3DIR=${DESTDIR}/usr/share/perl/man3 \
|
|
PERL=${MINIPERL} FULLPERL=perl DEFINE=-I${DESTDIR}/usr/include
|
|
|
|
CFLAGS+= -L${.OBJDIR}/../../libperl
|
|
|
|
all: lib/auto/${MODULE}.so
|
|
|
|
.include "../Makefile.inc"
|
|
|
|
lib/auto/${MODULE}.so: ext/${MODULEDIR}/Makefile ${DYNALOADER}
|
|
@cd ext/${MODULEDIR}; \
|
|
make -B all PERL_SRC=${.OBJDIR}
|
|
|
|
ext/${MODULEDIR}/Makefile: scripts
|
|
@cd ext/${MODULEDIR}; \
|
|
${MINIPERL} -I${.OBJDIR}/lib Makefile.PL ${MAKEMAKER_ARGS} \
|
|
LINKTYPE=dynamic LIBS="-lperl -lm" \
|
|
INST_LIB=${.OBJDIR}/build/${MODULEDIR} \
|
|
INST_ARCHLIB=${.OBJDIR}/build/${MODULEDIR}; \
|
|
make -B config PERL_SRC=${.OBJDIR}
|
|
|
|
install:
|
|
@cd ${.OBJDIR}/ext/${MODULEDIR} ;\
|
|
make -B install \
|
|
INSTALLPRIVLIB=${DESTDIR}/usr/libdata/perl/${VERSION} \
|
|
INSTALLARCHLIB=${DESTDIR}/usr/libdata/perl/${VERSION}/mach
|
|
|
|
distribute:
|
|
@cd ${.OBJDIR}/ext/${MODULEDIR} ;\
|
|
make -B install DESTDIR=${DISTDIR}/${dist} SHARED=copies \
|
|
INSTALLPRIVLIB=${DESTDIR}/usr/libdata/perl/${VERSION} \
|
|
INSTALLARCHLIB=${DESTDIR}/usr/libdata/perl/${VERSION}/mach
|
|
|
|
.PATH: ${PERL5SRC}
|