After upgrading a server to FreeBSD 12.0, I cannot build arj anymore. It seems like the issue is the same as bug #219716, which is supposed to have been fixed. I've tried all three locale config options. ... /usr/local/libexec/ccache/world/cc -DLOCALE=LANG_en -DLOCALE_DESC="\"en\"" -DPKGLIBDIR="\"/usr/local/lib/arj\"" -D_UNIX -O3 -pipe -funroll-loops -march=native -fstack-protector -fno-strict-aliasing -fstack-protector -s gnu/stripgcc.lnk -o freebsd12.0/en/rs/tools/msgbind ./freebsd12.0/en/rs/tools/filemode.o ./freebsd12.0/en/rs/tools/msgbind.o ./freebsd12.0/en/rs/tools/arjdata.o ./freebsd12.0/en/rs/tools/crc32.o ./freebsd12.0/en/rs/tools/msgbind ./resource/resource.txt msg_crp UNIX s en ./freebsd12.0/en/rs gmake[3]: *** [GNUmakefile:258: freebsd12.0/en/rs/msg_crp.h] Abort trap gmake[3]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' gmake[2]: *** [GNUmakefile:169: all] Error 2 gmake[2]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' *** Error code 1 Stop. make[1]: stopped in /usr/ports/archivers/arj *** Error code 1 Stop. make: stopped in /usr/ports/archivers/arj
OK, I've now review bug #219716 more closely and it appears to be something different. (Not sure if it makes a difference, but "WITH_LLD_IS_LD=yes" is NOT set in my make.conf.)
I couldn't reproduce this issue on FreeBSD 12.0 amd64. what is the content of your /etc/make.conf?
(In reply to Renato Botelho from comment #2) DEFAULT_VERSIONS= bdb=5 perl5=5.28 mysql=10.3m php=7.2 ruby=2.4 ssl=libressl CPUTYPE?=native CFLAGS= -O3 -pipe -funroll-loops INDEXDIR= /usr/ports WRKDIRPREFIX= /var/ports DISTDIR= /var/ports/distfiles PACKAGES= /var/ports/packages OPTIONS_UNSET=X11 GSSAPI_BASE OPTIONS_SET= GSSAPI_MIT WITH_PKGNG=yes WITH_CCACHE_BUILD=yes WITH_LIBCPLUSPLUS=yes
Even with the same make.conf I couldn't reproduce this failure
(In reply to Renato Botelho from comment #4) Well, I tried to check again from scratch and did a `make distclean`, no the port is broken again (arj_3.10.22-17.debian.tar.xz is not available anymore).
(In reply to Peter Putzer from comment #5) Fixed now. Could you please try again?
(In reply to Renato Botelho from comment #6) ===> Cleaning for arj-3.10.22_7 ===> License GPLv2 accepted by the user ===> arj-3.10.22_7 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by arj-3.10.22_7 for building ===> Extracting for arj-3.10.22_7 => SHA256 Checksum OK for arj-3.10.22.tar.gz. => SHA256 Checksum OK for arj_3.10.22-17.debian.tar.xz. ===> Patching for arj-3.10.22_7 ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/001_arches_align.patch ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/003_64_bit_clean.patch ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/004_parallel_build.patch ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/005_use_system_strnlen.patch ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/006_use_safe_strcpy.patch ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/out-of-bounds-read.patch ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/remove_build_date.patch ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/security-afl.patch ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/security-traversal-dir.patch ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/security-traversal-symlink.patch ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/security_format.patch ===> Applying extra patch /var/ports/usr/ports/archivers/arj/work/debian/patches/self_integrity_64bit.patch ===> Applying FreeBSD patches for arj-3.10.22_7 ===> arj-3.10.22_7 depends on package: autoconf>=2.69 - found ===> arj-3.10.22_7 depends on package: automake>=1.16.1 - found ===> arj-3.10.22_7 depends on executable: gmake - found ===> Configuring for arj-3.10.22_7 aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in' configure.in:162: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body ../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from... ../../lib/autoconf/general.m4:2729: _AC_RUN_IFELSE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2748: AC_RUN_IFELSE is expanded from... configure.in:162: the top level configure.in:162: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body ../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from... ../../lib/autoconf/general.m4:2729: _AC_RUN_IFELSE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2748: AC_RUN_IFELSE is expanded from... configure.in:162: the top level configure.in:162: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body ../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from... ../../lib/autoconf/general.m4:2729: _AC_RUN_IFELSE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2748: AC_RUN_IFELSE is expanded from... configure.in:162: the top level configure.in:162: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body ../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from... ../../lib/autoconf/general.m4:2729: _AC_RUN_IFELSE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2748: AC_RUN_IFELSE is expanded from... configure.in:162: the top level configure: loading site script /usr/ports/Templates/config.site checking for a BSD-compatible install... /usr/bin/install -c checking build system type... amd64-portbld-freebsd12.0 checking host system type... amd64-portbld-freebsd12.0 checking for gcc... /usr/local/libexec/ccache/world/cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether /usr/local/libexec/ccache/world/cc accepts -g... yes checking for /usr/local/libexec/ccache/world/cc option to accept ISO C89... none needed checking how to run the C preprocessor... cpp checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... (cached) /usr/bin/egrep checking for ANSI C header files... (cached) yes checking for sys/types.h... (cached) yes checking for sys/stat.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for memory.h... (cached) yes checking for strings.h... (cached) yes checking for inttypes.h... (cached) yes checking for stdint.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking for limits.h... (cached) yes checking for malloc.h... (cached) no checking for an ANSI C-conforming const... yes checking whether struct tm is in sys/time.h or time.h... time.h checking whether byte ordering is bigendian... no checking whether /usr/local/libexec/ccache/world/cc needs -traditional... no checking for working memcmp... yes checking return type of signal handlers... void checking for vprintf... (cached) yes checking for _doprnt... no checking for getcwd... (cached) yes checking for min... no checking for max... no checking for mkdir... yes checking for mkdtemp... (cached) yes checking for rmdir... yes checking for fcloseall... yes checking for strcasecmp... (cached) yes checking for setpriority... yes checking for strdup... (cached) yes checking for strerror... (cached) yes checking for strstr... (cached) yes checking for strnlen... (cached) yes checking for strupr... no checking for strlwr... no checking for strtol... (cached) yes checking for strtoul... (cached) yes checking if dynamic C library may be used... yes checking if SFX executables may be packed... yes checking what to use as a dedicated output directory... freebsd12.0 checking fnmatch() tolerance to incomplete patterns acting as filenames... yes checking if color output is demanded... no configure: creating ./config.status config.status: creating ../GNUmakefile config.status: WARNING: 'makefile.in' seems to ignore the --datarootdir setting config.status: creating ../c_defs.h ===> Building for arj-3.10.22_7 gmake[2]: Entering directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' mkdir -p ./freebsd12.0/en/rs mkdir -p ./freebsd12.0/en/rs/tools mkdir -p ./freebsd12.0/en/rs/arjcrypt mkdir -p ./freebsd12.0/en/rs/sfxstub mkdir -p ./freebsd12.0/en/rs/arjsfxv mkdir -p ./freebsd12.0/en/rs/arjsfx mkdir -p ./freebsd12.0/en/rs/arjsfxjr mkdir -p ./freebsd12.0/en/rs/arj mkdir -p ./freebsd12.0/en/rs/rearj mkdir -p ./freebsd12.0/en/rs/register mkdir -p ./freebsd12.0/en/rs/arjdisp gmake msg-headers gmake[3]: Entering directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' /usr/local/libexec/ccache/world/cc -DARJUTIL -c -Ifreebsd12.0 -I./freebsd12.0/en/rs -I. -O3 -pipe -funroll-loops -march=native -fstack-protector-strong -fno-strict-aliasing -DLOCALE=LANG_en -DLOCALE_DESC="\"en\"" -DPKGLIBDIR="\"/usr/local/lib/arj\"" -D_UNIX -O3 -pipe -funroll-loops -march=native -fstack-protector-strong -fno-strict-aliasing -ofreebsd12.0/en/rs/tools/filemode.o filemode.c /usr/local/libexec/ccache/world/cc -DARJUTIL -c -Ifreebsd12.0 -I./freebsd12.0/en/rs -I. -O3 -pipe -funroll-loops -march=native -fstack-protector-strong -fno-strict-aliasing -DLOCALE=LANG_en -DLOCALE_DESC="\"en\"" -DPKGLIBDIR="\"/usr/local/lib/arj\"" -D_UNIX -O3 -pipe -funroll-loops -march=native -fstack-protector-strong -fno-strict-aliasing -ofreebsd12.0/en/rs/tools/msgbind.o msgbind.c /usr/local/libexec/ccache/world/cc -DARJUTIL -c -Ifreebsd12.0 -I./freebsd12.0/en/rs -I. -O3 -pipe -funroll-loops -march=native -fstack-protector-strong -fno-strict-aliasing -DLOCALE=LANG_en -DLOCALE_DESC="\"en\"" -DPKGLIBDIR="\"/usr/local/lib/arj\"" -D_UNIX -O3 -pipe -funroll-loops -march=native -fstack-protector-strong -fno-strict-aliasing -ofreebsd12.0/en/rs/tools/arjdata.o arjdata.c /usr/local/libexec/ccache/world/cc -DARJUTIL -c -Ifreebsd12.0 -I./freebsd12.0/en/rs -I. -O3 -pipe -funroll-loops -march=native -fstack-protector-strong -fno-strict-aliasing -DLOCALE=LANG_en -DLOCALE_DESC="\"en\"" -DPKGLIBDIR="\"/usr/local/lib/arj\"" -D_UNIX -O3 -pipe -funroll-loops -march=native -fstack-protector-strong -fno-strict-aliasing -ofreebsd12.0/en/rs/tools/crc32.o crc32.c msgbind.c:452:50: warning: if statement has empty body [-Wempty-body] if(argv[6][strlen(argv[6])-1]!=PATHSEP_DEFAULT); ^ msgbind.c:452:50: note: put the semicolon on a separate line to silence this warning 1 warning generated. /usr/local/libexec/ccache/world/cc -DLOCALE=LANG_en -DLOCALE_DESC="\"en\"" -DPKGLIBDIR="\"/usr/local/lib/arj\"" -D_UNIX -O3 -pipe -funroll-loops -march=native -fstack-protector-strong -fno-strict-aliasing -fstack-protector-strong -s gnu/stripgcc.lnk -o freebsd12.0/en/rs/tools/msgbind ./freebsd12.0/en/rs/tools/filemode.o ./freebsd12.0/en/rs/tools/msgbind.o ./freebsd12.0/en/rs/tools/arjdata.o ./freebsd12.0/en/rs/tools/crc32.o ./freebsd12.0/en/rs/tools/msgbind ./resource/resource.txt msg_crp UNIX s en ./freebsd12.0/en/rs gmake[3]: *** [GNUmakefile:258: freebsd12.0/en/rs/msg_crp.h] Abort trap gmake[3]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' gmake[2]: *** [GNUmakefile:169: all] Error 2 gmake[2]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[1]: stopped in /usr/ports/archivers/arj *** Error code 1 Stop. make: stopped in /usr/ports/archivers/arj ===>>> make build failed for archivers/arj ===>>> Aborting update
(In reply to Peter Putzer from comment #7) Please comment out CPUTYPE and CFLAGS lines from /etc/make.conf and try again
(In reply to Renato Botelho from comment #8) Same result. [...] /usr/local/libexec/ccache/world/cc -DARJUTIL -c -Ifreebsd12.0 -I./freebsd12.0/en/rs -I. -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DLOCALE=LANG_en -DLOCALE_DESC="\"en\"" -DPKGLIBDIR="\"/usr/local/lib/arj\"" -D_UNIX -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -ofreebsd12.0/en/rs/tools/crc32.o crc32.c msgbind.c:452:50: warning: if statement has empty body [-Wempty-body] if(argv[6][strlen(argv[6])-1]!=PATHSEP_DEFAULT); ^ msgbind.c:452:50: note: put the semicolon on a separate line to silence this warning 1 warning generated. /usr/local/libexec/ccache/world/cc -DLOCALE=LANG_en -DLOCALE_DESC="\"en\"" -DPKGLIBDIR="\"/usr/local/lib/arj\"" -D_UNIX -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fstack-protector-strong -s gnu/stripgcc.lnk -o freebsd12.0/en/rs/tools/msgbind ./freebsd12.0/en/rs/tools/filemode.o ./freebsd12.0/en/rs/tools/msgbind.o ./freebsd12.0/en/rs/tools/arjdata.o ./freebsd12.0/en/rs/tools/crc32.o ./freebsd12.0/en/rs/tools/msgbind ./resource/resource.txt msg_crp UNIX s en ./freebsd12.0/en/rs gmake[3]: *** [GNUmakefile:258: freebsd12.0/en/rs/msg_crp.h] Abort trap gmake[3]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' gmake[2]: *** [GNUmakefile:169: all] Error 2 gmake[2]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[1]: stopped in /usr/ports/archivers/arj *** Error code 1 Stop. make: stopped in /usr/ports/archivers/arj
msgbind.c:452:50: warning: if statement has empty body [-Wempty-body] if(argv[6][strlen(argv[6])-1]!=PATHSEP_DEFAULT); ^ msgbind.c:452:50: note: put the semicolon on a separate line to silence this warning 1 warning generated. Do what it want. Try to => put the semicolon on a separate line. (althrough it is a warning, I remember a case, this simple thing "was it").
What says MAKE_JOBS_UNSAFE=yes?
(In reply to Renato Botelho from comment #4) Btw, remove this WITH_PKGNG=yes it is not needed anymore.
(In reply to Walter Schwarzenfeld from comment #10) Actually, looking at the code I noted that ; shouldn't be there since the block looks like: if(argv[6][strlen(argv[6])-1]!=PATHSEP_DEFAULT); { strcat(target_i, pathsep); strcat(target_n, pathsep); strcat(target_f, pathsep); strcat(target_h, pathsep); } I'm testing a patch to fix it.
Created attachment 206371 [details] Fix attempt Can you please try attached patch?
(In reply to Renato Botelho from comment #14) I did, that fixed the warning, but unfortunately not the abort trap: /usr/local/libexec/ccache/world/cc -DLOCALE=LANG_en -DLOCALE_DESC="\"en\"" -DPKGLIBDIR="\"/usr/local/lib/arj\"" -D_UNIX -O3 -pipe -funroll-loops -march=native -fstack-protector-strong -fno-strict-aliasing -fstack-protector-strong -s gnu/stripgcc.lnk -o freebsd12.0/en/rs/tools/msgbind ./freebsd12.0/en/rs/tools/filemode.o ./freebsd12.0/en/rs/tools/msgbind.o ./freebsd12.0/en/rs/tools/arjdata.o ./freebsd12.0/en/rs/tools/crc32.o ./freebsd12.0/en/rs/tools/msgbind ./resource/resource.txt msg_crp UNIX s en ./freebsd12.0/en/rs gmake[3]: *** [GNUmakefile:258: freebsd12.0/en/rs/msg_crp.h] Abort trap gmake[3]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' gmake[2]: *** [GNUmakefile:169: all] Error 2 gmake[2]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' I've tried MAKE_JOBS_UNSAFE=yes and disabling ccache, but neither has any effect on the result.
MAKE_JOBS_UNSAFE=yes has only the sense to mostly show more errors (hidden before in other threads). Please, post build.log.
Sorry, you posted one before.
(In reply to Peter Putzer from comment #15) -O3 -pipe -funroll-loops -march=native still in the code, please put them out (/etc/make.conf).
(In reply to Walter Schwarzenfeld from comment #18) It's in again, as that didn't make a difference. See comment #9 for a partial build log without it.
Renato look at the error: gmake[3]: *** [GNUmakefile:258: freebsd12.0/en/rs/msg_crp.h] Abort trap gmake[3]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' gmake[2]: *** [GNUmakefile:169: all] Error 2 gmake[2]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' and now the error of bug #239233: gmake[3]: *** [GNUmakefile:258: freebsd12.0/en/rs/msg_crp.h] Abort trap gmake[3]: Leaving directory '/var/ports/basejail/usr/ports/archivers/arj/work/arj-3.10.22' gmake[2]: *** [GNUmakefile:169: all] Error 2 gmake[2]: Leaving directory '/var/ports/basejail/usr/ports/archivers/arj/work/arj-3.10.22' *** Error code 1 ports r506777 shows: Version 17 of debian patches is not available anymore. Upgrade it to use version 21 and fix the build Maybe, it is a similar problem?
Is this still relevant?
(In reply to Walter Schwarzenfeld from comment #21) Yes. It is still happening on 12.1: ./freebsd12.1/en/rs/tools/msgbind ./resource/resource.txt msg_crp UNIX s en ./freebsd12.1/en/rs gmake[3]: *** [GNUmakefile:258: freebsd12.1/en/rs/msg_crp.h] Abort trap
(In reply to Walter Schwarzenfeld from comment #21) Partially, as I don't have the abort problem. This is the issue I receive on FreeBSD 12.1-STABLE #0 r359159M: Sat Mar 21 13:31:04 AEDT 2020 i386 FreeBSD clang version 9.0.1 msgbind.c:452:50: warning: if statement has empty body [-Wempty-body] if(argv[6][strlen(argv[6])-1]!=PATHSEP_DEFAULT); ^ msgbind.c:452:50: note: put the semicolon on a separate line to silence this warning 1 warning generated. There is no issue on amd64. In my case, I just added USE_GCC= yes which compiled on both i386 & amd64, using gcc version 9.2.0 Perhaps using -Wno-empty-body would work? I don't mean to hijack the thread, but this was raised within the context of compile issues with arj, and this is in addition to the abort problem. Which I also can't reproduce in any of my c3-2, prescott, core2, ... builds.
sorry, I meant to add that my locale settings are: # locale LANG=en_AU.UTF-8 LC_CTYPE=C LC_COLLATE=C LC_TIME="en_AU.UTF-8" LC_NUMERIC="en_AU.UTF-8" LC_MONETARY="en_AU.UTF-8" LC_MESSAGES="en_AU.UTF-8" LC_ALL= I suspect this may be relevant to the abort reproducability. And I use # ld -v GNU ld (GNU Binutils) 2.33.1
(In reply to Peter Putzer from comment #22) Can you try to spin up a VM running 12.x and see if you can reproduce it? I'm thinking it's a local problem on your system since no one else can make it happen.
(In reply to Renato Botelho from comment #25) I'll see if I can do that. However, I just noticed one thing: The compilation fails in a jail (any of my jails). When I run the same command (portmaster archivers/arj) on the host, there is no problem. There is no practical difference between make.conf files that I can see the compiler version used is the same. Could it be an issue with running the compilation in a jail at all?
(In reply to Peter Putzer from comment #26) poudriere, the software used by me for testing and also used by portmgr to build official packages, builds everything inside a jail. Do you have any special configurations on these jails?
(In reply to Renato Botelho from comment #27) Not that I know of. These are ezjail jails, so they have been around for some time. I use freebsd-udpate to update/upgrade them at the same time as the host. The conf file for the basejail looks like this: [...] Components world/base IgnorePaths /etc /root /var /usr/games /usr/home /usr/local /usr/obj /usr/tests StrictComponents yes And for the individual jails themselves: [...] Components world/base IgnorePaths /bin /boot /home /lib /libexec /proc /rescue /sbin /sys /tmp \ /usr/bin /usr/sbin /usr/include /usr/lib /usr/lib32 /usr/libdata /usr/libexec \ /usr/share /usr/src StrictComponents yes MergeChanges /etc/ /boot/device.hints BackupKernel no Anything obvious there?
(In reply to Peter Putzer from comment #28) Peter, I was in the same boat. Nothing changed with respect to archivers/arj and yes, I also build everything within a jail. I'm able to successfully build with gcc9.3.0 on FreeBSD 12.1-STABLE #0 r359973M. Renato, I use jails that are completely clean and start the whole build of the tree, so I often find problems quite early. This for me is important as some port maintainers dont increment the port version numbers after changes. For reference I have been using the following for quite some time (years), with the occassional tweak (last month I added -fno-common): CFLAGS=-O2 -pipe -Wl,-m,elf_x86_64_fbsd -Wl,--strip-debug -Wl,--build-id=md5 -Wl,--hash-style=sysv -DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3 -fno-math-errno -fno-signaling-nans -fPIE -fPIC -fomit-frame-pointer -Wl,-rpath=/usr/local/lib/gcc9 -fno-asynchronous-unwind-tables -fno-common -march=haswell -fstack-protector-strong -fno-strict-aliasing LDFLAGS=-Wl,--strip-debug -Wl,--build-id=md5 -Wl,--hash-style=sysv -pie -Wl,-rpath=/usr/local/lib/gcc9 -L/usr/local/lib/gcc9 -fstack-protector and build defaults. This is successful on amd64 and i386, with gcc.
(In reply to dewayne from comment #29) I don't have gcc installed (and I'd prefer to keep it that way for simplicity's sake). I've since checked the basejail and noticed that some old lib32 files were installed. Unfortunately, updating them did not change anything for the jail build results. I really don't see what's different from the host build environment.
Hi, I am having the same issue when compiling this port in an ezjail. The machine that I'm working on is a VM running via VirtualBox and is controlled by Vagrant (using the 'generic/freebsd12' box). The system is clean except for an installation of ezjail. I just tried compiling it again with a new jail after reading this issue to isolate any changes made in my previous jail, but the error ("Abort trap") keeps happening. All dependencies were built with the default settings (minus docs and examples). Error output: --- make clean ... MAKE_JOBS_UNSAFE=yes make install ... cc -DLOCALE=LANG_en -DLOCALE_DESC="\"en\"" -DPKGLIBDIR="\"/usr/local/lib/arj\"" -D_UNIX -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fstack-protector-strong -s gnu/stripgcc.lnk -o freebsd12.1/en/rs/tools/msgbind ./freebsd12.1/en/rs/tools/filemode.o ./freebsd12.1/en/rs/tools/msgbind.o ./freebsd12.1/en/rs/tools/arjdata.o ./freebsd12.1/en/rs/tools/crc32.o ./freebsd12.1/en/rs/tools/msgbind ./resource/resource.txt msg_crp UNIX s en ./freebsd12.1/en/rs gmake[3]: *** [GNUmakefile:258: freebsd12.1/en/rs/msg_crp.h] Abort trap gmake[3]: Leaving directory '/var/ports/basejail/usr/ports/archivers/arj/work/arj-3.10.22' gmake[2]: *** [GNUmakefile:169: all] Error 2 gmake[2]: Leaving directory '/var/ports/basejail/usr/ports/archivers/arj/work/arj-3.10.22' *** Error code 1 Stop. make[1]: stopped in /basejail/usr/ports/archivers/arj *** Error code 1 Stop. make: stopped in /basejail/usr/ports/archivers/arj --- Some system information that I hope is useful: uname -a: FreeBSD arjtest 12.1-RELEASE FreeBSD 12.1-RELEASE r354233 GENERIC amd64 rc.conf: --- ifconfig_DEFAULT="SYNCDHCP" ifconfig_em0="SYNCDHCP" ipv6_network_interfaces="none" sshd_enable="YES" dumpdev="NO" firstboot_growfs_enable="YES" firstboot_pkgs_enable="YES" ifconfig_em1="inet 10.6.66.42 netmask 255.255.255.0" vboxguest_enable="YES" vboxservice_enable="YES" rpcbind_enable="YES" rpc_lockd_enable="YES" nfs_client_enable="YES" ezjail_enable="YES" cloned_interfaces="lo1" ipv4_addrs_lo1="172.16.0.1-6/29" pf_enable="YES" --- env: --- USER=root LOGNAME=root HOME=/root SHELL=/bin/csh BLOCKSIZE=K MAIL=/var/mail/root PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin TERM=screen HOSTTYPE=FreeBSD VENDOR=amd OSTYPE=FreeBSD MACHTYPE=x86_64 SHLVL=1 PWD=/basejail/usr/ports/archivers/arj GROUP=wheel HOST=arjtest EDITOR=vi PAGER=less --- I don't have any custom ezjail configuration.
Quick update: compiling it as a debug build (make DEBUG=1 ...) produces a msgbind program that doesn't crash.
Same problem FreeBSD 12.1-RELEASE-p10 GENERIC amd64 On the host, compile without problems, inside the jail, the same problem GNU Make 4.3 Built for amd64-portbld-freebsd12.1 ===> Building for arj-3.10.22_8 gmake[2]: Entering directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' mkdir -p ./freebsd12.1/en/rs mkdir -p ./freebsd12.1/en/rs/tools mkdir -p ./freebsd12.1/en/rs/arjcrypt mkdir -p ./freebsd12.1/en/rs/sfxstub mkdir -p ./freebsd12.1/en/rs/arjsfxv mkdir -p ./freebsd12.1/en/rs/arjsfx mkdir -p ./freebsd12.1/en/rs/arjsfxjr mkdir -p ./freebsd12.1/en/rs/arj mkdir -p ./freebsd12.1/en/rs/rearj mkdir -p ./freebsd12.1/en/rs/register mkdir -p ./freebsd12.1/en/rs/arjdisp gmake msg-headers gmake[3]: Entering directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' ./freebsd12.1/en/rs/tools/msgbind ./resource/resource.txt msg_crp UNIX s en ./freebsd12.1/en/rs gmake[3]: *** [GNUmakefile:258: freebsd12.1/en/rs/msg_crp.h] Abort trap gmake[3]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' gmake[2]: *** [GNUmakefile:169: all] Error 2 gmake[2]: Leaving directory '/var/ports/usr/ports/archivers/arj/work/arj-3.10.22' ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[1]: stopped in /usr/ports/archivers/arj *** Error code 1 Stop. make: stopped in /usr/ports/archivers/ar
Same problem here (trying to compile in a FreeBSD 12.2 jail, managed by ezjail): build completes successfully only with the DEBUG option set.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=0f379164c78d57e213a306f6a26d06a5cb07019e commit 0f379164c78d57e213a306f6a26d06a5cb07019e Author: Renato Botelho <garga@FreeBSD.org> AuthorDate: 2022-08-31 09:57:25 +0000 Commit: Renato Botelho <garga@FreeBSD.org> CommitDate: 2022-08-31 10:14:45 +0000 archivers/arj: Fix build inside ezjail For yet unclear reason this port was failing to build inside a jail built using ezjail. It ended up producing a broken msgbind binary that crashes early with 'Abort trap' message. ezjail built jail uses lots of symlinks pointing to a nullfs mounted partition and this combination seems to be the cause of this issue. After many tests jsm@ figured out that removing LD_STRIP definition from gnu/configure script solves the case. There is still something wrong, maybe on nullfs code, that should be investigated, but at least it fixes this port build. PR: 235636 Reported by: Peter Putzer <freebsd@mnd.sc> Sponsored by: Rubicon Communications, LLC ("Netgate") archivers/arj/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
(In reply to commit-hook from comment #35) It seems to be a /usr/bin/ld vs /usr/local/bin/ld.bfd vs /usr/local/bin/ld issue. the former - choosen only when realpath of cc is not /usr/bin/cc e.g /basejail/usr/bin/cc - strips the msgbind binary while the later skips that or does it in a non breakong way. It also happens outside jails and without nullfs. output here https://gist.github.com/jsm222/9726ba1e71b1aeaab9fbaee3b5ca8c15.