Created attachment 199431 [details] config.log Doing an update from ports I was surprised to see : titan# uname -aU FreeBSD titan 12.0-RC1 FreeBSD 12.0-RC1 r340470 GENERIC amd64 1200086 titan# pkg query %n\ %v\ %o | sort | cat -n - 1 autoconf 2.69_2 devel/autoconf 2 autoconf-wrapper 20131203 devel/autoconf-wrapper 3 automake 1.16.1_1 devel/automake 4 binutils 2.30_6,1 devel/binutils 5 bison 3.1_1,1 devel/bison 6 check 0.12.0_1 devel/check 7 dialog4ports 0.1.6 ports-mgmt/dialog4ports 8 expat 2.2.6_1 textproc/expat2 9 gdb 8.2 devel/gdb 10 gettext-runtime 0.19.8.1_1 devel/gettext-runtime 11 gettext-tools 0.19.8.1 devel/gettext-tools 12 gmake 4.2.1_2 devel/gmake . . . etc titan# cd ../../devel/gettext-runtime titan# make deinstall ===> Deinstalling for gettext-runtime ===> Deinstalling gettext-runtime-0.19.8.1_1 Updating database digests format: 100% Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: gettext-runtime-0.19.8.1_1 Number of packages to be removed: 1 [1/1] Deinstalling gettext-runtime-0.19.8.1_1... [1/1] Deleting files for gettext-runtime-0.19.8.1_1: 100% titan# make reinstall ===> License LGPL21 GPLv3 accepted by the user ===> gettext-runtime-0.19.8.1_2 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by gettext-runtime-0.19.8.1_2 for building ===> Extracting for gettext-runtime-0.19.8.1_2 => SHA256 Checksum OK for gettext-0.19.8.1.tar.xz. ===> Patching for gettext-runtime-0.19.8.1_2 ===> Applying FreeBSD patches for gettext-runtime-0.19.8.1_2 ===> gettext-runtime-0.19.8.1_2 depends on package: libiconv>=1.14_11 - found ===> Configuring for gettext-runtime-0.19.8.1_2 configure: loading site script /usr/ports/Templates/config.site checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p checking for gawk... (cached) /usr/bin/awk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for gcc... 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 cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether cc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of cc... gcc3 checking for bison... bison -y checking whether to use Java... no 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 Java compiler... no checking for jar... no checking for preferred C# implementation... no checking for C# compiler... no checking build system type... amd64-portbld-freebsd12.0 checking host system type... amd64-portbld-freebsd12.0 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 minix/config.h... (cached) no checking whether it is safe to define __EXTENSIONS__... yes checking whether _XOPEN_SOURCE should be defined... no checking for Minix Amsterdam compiler... no checking for ar... ar checking the archiver (ar) interface... unknown configure: error: could not determine ar interface ===> Script "configure" failed unexpectedly. Please report the problem to tijl@FreeBSD.org [maintainer] and attach the "/usr/ports/devel/gettext-runtime/work/gettext-0.19.8.1/gettext-runtime/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a /usr/local/sbin/pkg-static info -g -Ea). *** Error code 1 Stop. make[1]: stopped in /usr/ports/devel/gettext-runtime *** Error code 1 Stop. make: stopped in /usr/ports/devel/gettext-runtime titan# Seems odd.
looking at config.log and I see : configure:6658: ar cru libconftest.a conftest.o >&5 ld-elf.so.1: Shared object "libintl.so.8" not found, required by "ar" configure:6661: $? = 1 configure:6667: ar -NOLOGO -OUT:conftest.lib conftest.o >&5 ld-elf.so.1: Shared object "libintl.so.8" not found, required by "ar" configure:6670: $? = 1 Well that seems clear to me and I am stuck with GNU gettext bit missing now. Looking at another machine I see : eris# uname -aU FreeBSD eris 12.0-RC1 FreeBSD 12.0-RC1 r340470 GENERIC powerpc 1200086 eris# ls -lapb /usr/local/lib/libint* -rw-r--r-- 1 root wheel 109246 Nov 20 16:11 /usr/local/lib/libintl.a lrwxr-xr-x 1 root wheel 16 Nov 20 16:11 /usr/local/lib/libintl.so -> libintl.so.8.1.5 lrwxr-xr-x 1 root wheel 16 Nov 20 16:11 /usr/local/lib/libintl.so.8 -> libintl.so.8.1.5 -rw-r--r-- 1 root wheel 67626 Nov 20 16:11 /usr/local/lib/libintl.so.8.1.5 eris# Well this is now gone on the amd64 machine and it seems that within ports one can not really just do a deinstall and reinstall and expect things to work because upstream dependencies are destroyed.
It's probably picking up /usr/local/bin/ar from binutils package instead of /usr/bin/ar. What does "echo $PATH" print? Is /usr/local/bin in front of /usr/bin perhaps? You may be able to build gettext-runtime using "env AR=/usr/bin/ar make".
Yes it looks that way. I will use methods that work in the Solaris world and specify some env vars which point to the static binaries such as ar in /usr/bin and try this again. Same is needed for ranlib and perhaps others. The current env is : titan# env | sort BLOCKSIZE=K EDITOR=/usr/bin/vi GROUP=wheel HOME=/root HOST=titan HOSTTYPE=FreeBSD LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LOGNAME=root MACHTYPE=x86_64 MAIL=/var/mail/root OSTYPE=FreeBSD PAGER=/usr/bin/more PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/schily/bin PWD=/usr/ports/devel/gettext-runtime REMOTEHOST=172.16.35.3 SHELL=/bin/csh SHLVL=1 TERM=vt100 TMPDIR=/var/tmp/root USER=root VENDOR=amd VISUAL=/usr/bin/vi XTERM_LOCALE=en_US.UTF-8 titan# So there we see the PATH tells us which bins get found first. I will try again with AR=/usr/bin/ar as well as ranlib and see what else breaks. May be helpful if the configure script were to check for "working" tools but that is asking too much.
So I have given up on tryingto get a clean build now and will trash the server and start over with clean disks. There are too many little problems now where too many other tools require libintl.so.xxx shared objects and this affects "trust" in the server config. I can try to simply install with pkg and then re-build from ports but if I do that then I may as well rebuild the whole server given that I see a DOWNGRADE pkg warning from the pkg install process.
Ok, next time build the port with "make" before you run "make deinstall". You can also use tools like portmaster to update ports.