'make' stops here: Installing /usr/ports/devel/p5-Locale-libintl/work/stage/usr/local/lib/perl5/site_perl/man/man3/Locale::RecodeData::_Encode.3 Installing /usr/ports/devel/p5-Locale-libintl/work/stage/usr/local/lib/perl5/site_perl/man/man3/Locale::libintlFAQ.3 /usr/bin/strip /usr/ports/devel/p5-Locale-libintl/work/stage/usr/local/lib/perl5/site_perl/mach/5.28/auto/Locale/gettext_xs/gettext_xs.so strip: open /usr/ports/devel/p5-Locale-libintl/work/stage/usr/local/lib/perl5/site_perl/mach/5.28/auto/Locale/gettext_xs/gettext_xs.so failed: No such file or directory Obviously there is something missing: # ls -l /usr/ports/devel/p5-Locale-libintl/work/stage/usr/local/lib/perl5/site_perl/mach/5.28/auto total 12 drwxr-xr-x 3 root wheel 512 May 15 09:09 ./ drwxr-xr-x 3 root wheel 512 May 15 09:09 ../ drwxr-xr-x 2 root wheel 512 May 15 09:09 libintl-perl/
I imagine because the build of gettext_xs.o is failing? After upgrading to Perl 5.28 on FreeBSD 11.2, I rebuilt all dependent ports: nice portupgrade -f `pkg shlib -qR libperl.so.5.24` The only one to fail was devel/p5-Locale-libintl as described by another person: https://shaunc.com/blog/article/resolving-fatal-error-libintl.h-file-not-found-build-error-from-p5localelibintl-on-freebsd~qFMWw-OsTL4X when manually updating with: nice portupgrade -f devel/p5-Locale-libintl I ended up with: gettext_xs.xs:25:10: fatal error: 'libintl.h' file not found It can be worked around with: ln -s /usr/local/include/libintl.h /usr/include/libintl.h
Created attachment 204396 [details] Failed build log without symlink
I cannot reproduce this failure. The build log should looks like: --- gettext_xs.o --- cc -c -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -O2 -pipe -fstack-protector -fno-strict-aliasing -DVERSION=\"1.31\" -DXS_VERSION=\"1.31\" -DPIC -fPIC "-I/usr/local/lib/perl5/5.28/mach/CORE" gettext_xs.c --- pm_to_blib --- cp gettext_xs.pm ../blib/lib/Locale/gettext_xs.pm --- ../blib/arch/auto/Locale/gettext_xs/gettext_xs.bs --- "/usr/local/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- gettext_xs.bs ../blib/arch/auto/Locale/gettext_xs/gettext_xs.bs 644 --- dynamic --- --- linkext --- --- subdirs --- --- ../blib/arch/auto/Locale/gettext_xs/gettext_xs.so --- rm -f ../blib/arch/auto/Locale/gettext_xs/gettext_xs.so LD_RUN_PATH="/usr/local/lib" cc -shared -L/usr/local/lib/perl5/5.28/mach/CORE -lperl -L/usr/local/lib -fstack-protector-strong gettext_xs.o -o ../blib/arch/auto/Locale/gettext_xs/gettext_xs.so -lintl -liconv chmod 755 ../blib/arch/auto/Locale/gettext_xs/gettext_xs.so
USES=localbase (added in r503457) should fix this PR.
Still fails on a clean FreeBSD 12.1 amd64 cc -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -pthread -Wl,-E -fstack-protector-strong -L/usr/local/lib -lpthread -lm -lcrypt -lutil -liconv -o gettest.exe gettest.c gettest.c:4:10: fatal error: 'libintl.h' file not found #include <libintl.h> ^~~~~~~~~~~ -I/usr/local/include is still missing. 1 error generated. devel/p5-Locale-libintl# make -v CONFIGURE_ARGS INSTALLDIRS="site" CC="cc" CCFLAGS="-O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing " LD="cc" PREFIX="/usr/local" INSTALLPRIVLIB="/usr/local/lib" INSTALLARCHLIB="/usr/local/lib" adding " -I/usr/local/include " to CONFIGURE_ARGS does not fix it. btw CCFLAGS differ, are they not passed to the build? Last successful build on FreeBSD 12.0: Nov 21 18:09 /usr/ports/packages12-amd64/All/p5-Locale-libintl-1.31.txz
(In reply to Dirk Meyer from comment #5) I cannot reproduce the problem in a 12.1-RELEASE-p1 amd64 jail. See https://people.freebsd.org/~sunpoet/temp/p5-Locale-libintl-1.31.log Did you test it in a clean poudriere jail?
I cleaned out all old packages from 12.0 rebuilding all. Tested in a clean jail with "make package" no CCCACHE. /etc/make.conf: WRKDIRPREFIX?= /data/image PACKAGES?= /usr/ports/packages12-amd64 USE_PACKAGE_DEPENDS?=yes EXPLICIT_PACKAGE_DEPENDS=yes DEPENDS_TARGET?=package install DEPENDS_SHOW_FLAVOR?=yes DEFAULT_VERSIONS= ssl=openssl OPTIONS_UNSET=PERL PYTHON ODBC CUPS BATCH=yes diff in Configure stage: ===> Configuring for p5-Locale-libintl-1.31 Checking whether we can compile the XS version ... no. - Trying again with -lintl ... yes. -=> Building the XS version of libintl-perl. + Trying again with -lintl ... no. + Trying again with -lintl -liconv ... no. + Trying again with -liconv ... no. +=> Cannot build the XS version of libintl-perl (see 'config.log' for +=> details). This is harmless! Checking if your kit is complete... Looks good Warning: NAME must be a package name -Writing MYMETA.yml and MYMETA.json Generating a Unix-style Makefile Writing Makefile for libintl-perl Writing MYMETA.yml and MYMETA.json according to: /data/image/usr/ports/devel/p5-Locale-libintl/work/libintl-perl-1.31/config.log the include was not found, there is no -I/usr/localo/include passed.
You have reported failure both in 12.1 (comment #5) and 12.0 (comment #7). I've tested 12.1 (comment #6). I'm testing 12.0 now. Can you try again with empty make.conf? Let's test default settings first, then non-default settings, e.g. DEFAULT_VERSIONS=ssl=openssl. BTW, why do you set non-default DEPENDS_TARGET explicitly? And EXPLICIT_PACKAGE_DEPENDS seems to be an outdated knob (for pkg_tools).
It builds successfully in a newly-created poudriere jail. % poudriere jail -l JAILNAME VERSION ARCH METHOD TIMESTAMP PATH 12x 12.0-RELEASE-p13 amd64 ftp 2020-03-01 18:59:04 /home/poudriere/jails/12x % cat /usr/local/etc/poudriere.d/12x-make.conf BATCH=yes DEFAULT_VERSIONS=ssl=openssl OPTIONS_UNSET=PERL PYTHON ODBC CUPS I put the build log at https://people.freebsd.org/~sunpoet/temp/pr237904-12x-p5-Locale-libintl-1.31.log
The problem is that perl5.30 fails in configure stage but continue with bad defaults. good: cflags.SH: ccflags = -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 bad: cflags.SH: ccflags = -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 the missing -I/usr/local/include causes this port to fail. Thanks for looking into this. This PR can be closed again.