Bug 233388 - devel/gettext-runtime configure: error: could not determine ar interface
Summary: devel/gettext-runtime configure: error: could not determine ar interface
Status: Closed Not A Bug
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: Tijl Coosemans
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-21 17:20 UTC by Dennis Clarke
Modified: 2018-11-21 19:13 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (tijl)


Attachments
config.log (18.08 KB, application/gzip)
2018-11-21 17:20 UTC, Dennis Clarke
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dennis Clarke 2018-11-21 17:20:06 UTC
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.
Comment 1 Dennis Clarke 2018-11-21 17:27:36 UTC
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.
Comment 2 Tijl Coosemans freebsd_committer freebsd_triage 2018-11-21 17:48:42 UTC
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".
Comment 3 Dennis Clarke 2018-11-21 17:58:53 UTC
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.
Comment 4 Dennis Clarke 2018-11-21 18:34:12 UTC
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.
Comment 5 Tijl Coosemans freebsd_committer freebsd_triage 2018-11-21 19:13:44 UTC
Ok, next time build the port with "make" before you run "make deinstall".  You can also use tools like portmaster to update ports.