Saturday, March 17, 2018

Building GNU libtool 2.4.6

I start with the same considerations from the post Building GNU libsigsegv 2.12. The GNU libtool library is sometimes used on GNU buildings so I add it to my crazy list of GNU software to manually build.

The basic building strategy and general assumptions have been detailed on a previous post: Staged Building, so I'll (hopefully) get more straight to the point:

$ pwd
/stage/build

$ ./gnu-build-preparation ../source/.../libtool-2.4.6.tar.xz

Processing /stage/source/.../libtool-2.4.6.tar.xz

------------------------------------
App: libtool
Ver: 2.4.6
------------------------------------

In the process, the following ZFS datasets will be created:

  rpool/stage/build/libtool
 
rpool/stage/build/libtool/libtool-2.4.6
 
rpool/stage/build/libtool/libtool-2.4.6-32
 
rpool/stage/build/libtool/libtool-2.4.6-64

 
rpool/stage/prototype/libtool
 
rpool/stage/prototype/libtool/libtool-2.4.6
 
rpool/stage/prototype/libtool/libtool-2.4.6/32
 
rpool/stage/prototype/libtool/libtool-2.4.6/64

Enter "y" to proceed:
y

Creating
rpool/stage/build/libtool...
Creating
rpool/stage/build/libtool/libtool-2.4.6...
   
rpool/stage/build/libtool 
rpool/stage/build/libtool/libtool-2.4.6
rpool/stage/build/libtool/libtool-2.4.6@source
rpool/stage/build/libtool/libtool-2.4.6-32 
rpool/stage/build/libtool/libtool-2.4.6-32@start
rpool/stage/build/libtool/libtool-2.4.6-64
rpool/stage/build/libtool/libtool-2.4.6-64@start

Creating data-0/stage/prototype/libtool subtree.

rpool/stage/prototype/libtool
rpool/stage/prototype/libtool/2.4.6
rpool/stage/prototype/libtool/2.4.6/32

rpool/stage/prototype/libtool/2.4.6/64

Creating pre-configuration script.


$ cd libtool/libtool-2.4.6-64

$ source ../setenv 64
...

$ ./configure \
    --build=x86_64-pc-solaris2.11 \
    --prefix=/opt/gnu \
    --enable-ltdl-install
 

## ------------------------- ##
## Configuring libtool 2.4.6 ##
## ------------------------- ##


checking for GNU M4 that supports accurate traces... /usr/gnu/bin/m4
checking whether /usr/gnu/bin/m4 accepts --gnu... yes
checking how m4 supports trace files... --debugfile
checking for a BSD-compatible install... /usr/gnu/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/gnu/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-pc-solaris2.11
checking host system type... x86_64-pc-solaris2.11
configure: autobuild project... GNU Libtool
configure: autobuild revision... 2.4.6
configure: autobuild hostname... brick
configure: autobuild mode... default
configure: autobuild timestamp... 20180317T133348Z
checking for gcc... /usr/bin/gcc
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/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to accept ISO C89... none needed
checking whether /usr/bin/gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of /usr/bin/gcc... gcc3
checking how to run the C preprocessor... /usr/bin/gcc -E
checking for grep that handles long lines and -e... /usr/gnu/bin/grep
checking for egrep... /usr/gnu/bin/grep -E
checking for Minix Amsterdam compiler... no
checking for ar... ar
checking for ranlib... ranlib
checking how to run the C preprocessor... /usr/bin/gcc -E
checking how to print strings... print -r
checking for a sed that does not truncate output... /usr/gnu/bin/sed
checking for fgrep... /usr/gnu/bin/grep -F
checking for ld used by /usr/bin/gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/gnu/bin/nm -B
checking the name lister (/usr/gnu/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking how to convert x86_64-pc-solaris2.11 file names to x86_64-pc-solaris2.11 format... func_convert_file_noop
checking how to convert x86_64-pc-solaris2.11 file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... print -r --
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... (cached) ranlib
checking command to parse /usr/gnu/bin/nm -B output from /usr/bin/gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/gnu/bin/dd
checking how to truncate binary pipes... /usr/gnu/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if /usr/bin/gcc supports -fno-rtti -fno-exceptions... no
checking for /usr/bin/gcc option to produce PIC... -fPIC -DPIC
checking if /usr/bin/gcc PIC flag -fPIC -DPIC works... yes
checking if /usr/bin/gcc static flag -static works... no
checking if /usr/bin/gcc supports -c -o file.o... yes
checking if /usr/bin/gcc supports -c -o file.o... (cached) yes
checking whether the /usr/bin/gcc linker (/usr/bin/ld -64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking what extension is used for runtime loadable modules... .so
checking what variable specifies run-time module search path... LD_LIBRARY_PATH
checking for the default library search path... /lib /usr/lib
checking for library containing dlopen... none required
checking for dlerror... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dld_link in -ldld... no
checking for _ prefix in compiled symbols... no
checking whether deplibs are loaded by dlopen... yes
checking for argz.h... no
checking for error_t... no
checking for argz_add... no
checking for argz_append... no
checking for argz_count... no
checking for argz_create_sep... no
checking for argz_insert... no
checking for argz_next... no
checking for argz_stringify... no
checking whether libtool supports -dlopen/-dlpreopen... yes
checking for unistd.h... (cached) yes
checking for dl.h... no
checking for sys/dl.h... yes
checking for dld.h... no
checking for mach-o/dyld.h... no
checking for dirent.h... yes
checking for closedir... yes
checking for opendir... yes
checking for readdir... yes
checking for strlcat... yes
checking for strlcpy... yes
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/bin/g++ accepts -g... yes
checking dependency style of /usr/bin/g++... gcc3
checking how to run the C++ preprocessor... /usr/bin/g++ -E
checking for ld used by /usr/bin/g++... /usr/bin/ld -64
checking if the linker (/usr/bin/ld -64) is GNU ld... no
checking whether the /usr/bin/g++ linker (/usr/bin/ld -64) supports shared libraries... yes
checking for /usr/bin/g++ option to produce PIC... -fPIC -DPIC
checking if /usr/bin/g++ PIC flag -fPIC -DPIC works... yes
checking if /usr/bin/g++ static flag -static works... no
checking if /usr/bin/g++ supports -c -o file.o... yes
checking if /usr/bin/g++ supports -c -o file.o... (cached) yes
checking whether the /usr/bin/g++ linker (/usr/bin/ld -64) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gfortran option to produce PIC... -fPIC
checking if gfortran PIC flag -fPIC works... yes
checking if gfortran static flag -static works... no
checking if gfortran supports -c -o file.o... yes
checking if gfortran supports -c -o file.o... (cached) yes
checking whether the gfortran linker (/usr/bin/ld -64) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking for gfortran... gfortran
checking whether we are using the GNU Fortran compiler... yes
checking whether gfortran accepts -g... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gfortran option to produce PIC... -fPIC
checking if gfortran PIC flag -fPIC works... yes
checking if gfortran static flag -static works... no
checking if gfortran supports -c -o file.o... yes
checking if gfortran supports -c -o file.o... (cached) yes
checking whether the gfortran linker (/usr/bin/ld -64) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking for gccgo... no
checking for gcj... no
checking for windres... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing tests/atconfig commands
config.status: executing depfiles commands
config.status: executing libtool commands


$ gmake -j4
  GEN      libtoolize
  GEN      libltdl/libltdl/lt__argz.h
gmake  all-recursive
gmake[1]: Entering directory `/stage/build/libtool/libtool-2.4.6-64'
Making all in .
gmake[2]: Entering directory `/stage/build/libtool/libtool-2.4.6-64'
  CC       libltdl/lt__argz.lo
  CC       libltdl/loaders/libltdl_libltdl_la-preopen.lo
  CC       libltdl/libltdl_libltdl_la-lt__alloc.lo
  CC       libltdl/libltdl_libltdl_la-lt_dlloader.lo
  CC       libltdl/libltdl_libltdl_la-lt_error.lo
  CC       libltdl/libltdl_libltdl_la-ltdl.lo
  CC       libltdl/libltdl_libltdl_la-slist.lo
  CC       libltdl/loaders/dlopen.lo
  CCLD     libltdl/dlopen.la
  CCLD     libltdl/libltdl.la
gmake[2]: Leaving directory `/stage/build/libtool/libtool-2.4.6-64'
gmake[1]: Leaving directory `/stage/build/libtool/libtool-2.4.6-64'


$ gmake check
  GEN      public-submodule-commit
gmake  check-recursive
gmake[1]: Entering directory `/stage/build/libtool/libtool-2.4.6-64'
Making check in .
gmake[2]: Entering directory `/stage/build/libtool/libtool-2.4.6-64'
gmake  check-local
gmake[3]: Entering directory `/stage/build/libtool/libtool-2.4.6-64'
  CC       libltdl/loaders/libltdl_libltdlc_la-preopen.lo
  CC       libltdl/libltdl_libltdlc_la-lt__alloc.lo
  CC       libltdl/libltdl_libltdlc_la-lt_dlloader.lo
  CC       libltdl/libltdl_libltdlc_la-lt_error.lo
  CC       libltdl/libltdl_libltdlc_la-ltdl.lo
  CC       libltdl/libltdl_libltdlc_la-slist.lo
  CCLD     libltdl/libltdlc.la

## ----------------------------- ##
## GNU Libtool 2.4.6 test suite. ##
## ----------------------------- ##

Functions shared with configure and libtool.

  1: func_munge_path_list works                      ok

Libtoolize operation.

  2: libtoolize macro installation                   ok
  3: libtoolize macro directory mismatch error       ok
  4: multiple AC_CONFIG_MACRO_DIRS invocation        ok
  5: multiple AC_CONFIG_MACRO_DIRS directories       ok
  6: libtoolize ACLOCAL_AMFLAGS extraction           ok
  7: libtoolize macro serial update                  ok
  8: libtoolize config files serial update           ok
  9: diagnose missing LT_CONFIG_LTDL_DIR             ok
 10: copy ltdl.m4 with shared macro directory        ok
 11: correctly parse LTDL_INIT from configure.ac     ok
 12: diagnose missing LTDL_INIT invocation           ok
 13: upgrading verbatim style aclocal.m4             ok
 14: verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIRS    ok
 15: nonrecursive ltdl with AC_CONFIG_MACRO_DIRS     ok
 16: subproject ltdl with unconventional layout      ok
 17: Subproject ltdl without GNU M4                  ok
 18: LIBTOOLIZE_OPTIONS                              ok
 19: cleanup old installation                        ok

Basic libtool operation.

 20: check help output                               ok
 21: diagnose no mode specified                      ok
 22: quote shell meta-characters in filenames        ok
 23: transform source suffices                       ok
 24: check link mode operation                       ok
 25: check objectlist file operation                 ok
 26: test LT_SUPPORTED_TAG interface                 ok


...

sysroot tests

166: -L=.../lib -l                             skipped (sysroot.at:203)
167: -L SYSROOT/.../lib -l                     skipped (sysroot.at:204)
168: SYSROOT/.../*.la                          skipped (sysroot.at:205)

Libtool stress test.

169: Link option thorough search test                ok
170: Run tests with low max_cmd_len           
FAILED (cmdline_wrap.at:48)

## ------------- ##
## Test results. ##
## ------------- ##

ERROR: 153 tests were run,
14 failed (5 expected failures).
17 tests were skipped.
## -------------------------- ##
## testsuite.log was created. ##
## -------------------------- ##

Please send `tests/testsuite.log' 

and all information you think might help:

   To:
   Subject: [GNU Libtool 2.4.6] 

            testsuite: 46 47 153 154 155 156 157 158 170 failed

You may investigate any problem if you feel able to do so, in which
case the test suite provides a good starting point.  Its output may
be found below `tests/testsuite.dir'.

gmake[3]: *** [check-local] Error 1
gmake[3]: Leaving directory `/stage/build/libtool/libtool-2.4.6-64'
gmake[2]: *** [check-am] Error 2
gmake[2]: Leaving directory `/stage/build/libtool/libtool-2.4.6-64'
gmake[1]: *** [check-recursive] Error 1
gmake[1]: Leaving directory `/stage/build/libtool/libtool-2.4.6-64'
gmake: *** [check] Error 2


Most of the failures were related to Fortran which I haven't installed in my system. I suspect that the last failure may have be triggered by not configuring CONFIG_SHELL=/usr/bin/bash in my setenv script or because there may be some sort of issue related to GNU userland in Solaris 11.3 is mostly 32-bits (i386-pc-solaris2.11) and I have forced 64-bits (x86_64-pc-solaris2.11). In any case I believe it's harmless. But if I happen to be wrong I'll fix this post.

$ sudo gmake DESTDIR=/stage/prototype/libtool/2.4.6/64 install
Password:
gmake  install-recursive
gmake[1]: Entering directory `/stage/build/libtool/libtool-2.4.6-64'
Making install in .
gmake[2]: Entering directory `/stage/build/libtool/libtool-2.4.6-64'
gmake[3]: Entering directory `/stage/build/libtool/libtool-2.4.6-64'
 /usr/gnu/bin/mkdir -p '/stage/prototype/libtool/2.4.6/64/opt/gnu/bin'
 /usr/gnu/bin/install -c libtool '/stage/prototype/libtool/2.4.6/64/opt/gnu/bin'
 /usr/gnu/bin/mkdir -p '/stage/prototype/libtool/2.4.6/64/opt/gnu/lib'
 /bin/sh ./libtool   --mode=install /usr/gnu/bin/install -c   libltdl/libltdl.la '/stage/prototype/libtool/2.4.6/64/opt/gnu/lib'
libtool: install: /usr/gnu/bin/install -c libltdl/.libs/libltdl.so.7.3.1 /stage/prototype/libtool/2.4.6/64/opt/gnu/lib/libltdl.so.7.3.1
libtool: install: (cd /stage/prototype/libtool/2.4.6/64/opt/gnu/lib && { ln -s -f libltdl.so.7.3.1 libltdl.so.7 || { rm -f libltdl.so.7 && ln -s libltdl.so.7.3.1 libltdl.so.7; }; })
libtool: install: (cd /stage/prototype/libtool/2.4.6/64/opt/gnu/lib && { ln -s -f libltdl.so.7.3.1 libltdl.so || { rm -f libltdl.so && ln -s libltdl.so.7.3.1 libltdl.so; }; })
libtool: install: chmod +x /stage/prototype/libtool/2.4.6/64/opt/gnu/lib/libltdl.so.7.3.1
libtool: install: /usr/gnu/bin/install -c libltdl/.libs/libltdl.lai /stage/prototype/libtool/2.4.6/64/opt/gnu/lib/libltdl.la
libtool: install: /usr/gnu/bin/install -c libltdl/.libs/libltdl.a /stage/prototype/libtool/2.4.6/64/opt/gnu/lib/libltdl.a
libtool: install: chmod 644 /stage/prototype/libtool/2.4.6/64/opt/gnu/lib/libltdl.a
libtool: install: ranlib /stage/prototype/libtool/2.4.6/64/opt/gnu/lib/libltdl.a

libtool: warning: remember to run 'libtool --finish /opt/gnu/lib'
 GREP='/usr/gnu/bin/grep' SED='/usr/gnu/bin/sed' './build-aux/inline-source' libtoolize > '/stage/prototype/libtool/2.4.6/64/opt/gnu/bin/libtoolize'
rm -rf '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool'/*
 /usr/gnu/bin/install -c -m 644 './m4/libtool.m4' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/aclocal/libtool.m4'
 /usr/gnu/bin/install -c -m 644 './m4/ltargz.m4' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/aclocal/ltargz.m4'
 /usr/gnu/bin/install -c -m 644 './m4/ltdl.m4' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/aclocal/ltdl.m4'
 /usr/gnu/bin/install -c -m 644 './m4/ltoptions.m4' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/aclocal/ltoptions.m4'
 /usr/gnu/bin/install -c -m 644 './m4/ltsugar.m4' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/aclocal/ltsugar.m4'
 /usr/gnu/bin/install -c -m 644 './m4/ltversion.m4' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/aclocal/ltversion.m4'
 /usr/gnu/bin/install -c -m 644 './m4/lt~obsolete.m4' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/aclocal/lt~obsolete.m4'
 /usr/gnu/bin/install -c './build-aux/compile' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/build-aux/compile'
 /usr/gnu/bin/install -c './build-aux/config.guess' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/build-aux/config.guess'
 /usr/gnu/bin/install -c './build-aux/config.sub' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/build-aux/config.sub'
 /usr/gnu/bin/install -c './build-aux/depcomp' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/build-aux/depcomp'
 /usr/gnu/bin/install -c './build-aux/install-sh' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/build-aux/install-sh'
 /usr/gnu/bin/install -c './build-aux/missing' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/build-aux/missing'
 /usr/gnu/bin/install -c -m 644 './build-aux/ltmain.sh' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/build-aux/ltmain.sh'
 /usr/gnu/bin/install -c -m 644 './libltdl/COPYING.LIB' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/COPYING.LIB'
 /usr/gnu/bin/install -c -m 644 './libltdl/Makefile.am' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/Makefile.am'
 /usr/gnu/bin/install -c -m 644 './libltdl/README' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/README'
 /usr/gnu/bin/install -c -m 644 './libltdl/configure.ac' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/configure.ac'
 /usr/gnu/bin/install -c -m 644 './libltdl/aclocal.m4' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/aclocal.m4'
 /usr/gnu/bin/install -c -m 644 './libltdl/Makefile.in' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/Makefile.in'
 /usr/gnu/bin/install -c -m 644 './libltdl/config-h.in' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/config-h.in'
 /usr/gnu/bin/install -c -m 644 './libltdl/configure' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/configure'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__alloc.h' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/libltdl/lt__alloc.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__argz_.h' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/libltdl/lt__argz_.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__dirent.h' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/libltdl/lt__dirent.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__glibc.h' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/libltdl/lt__glibc.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__private.h' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/libltdl/lt__private.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__strl.h' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/libltdl/lt__strl.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt_dlloader.h' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/libltdl/lt_dlloader.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt_error.h' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/libltdl/lt_error.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt_system.h' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/libltdl/lt_system.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/slist.h' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/libltdl/slist.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/dld_link.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/loaders/dld_link.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/dlopen.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/loaders/dlopen.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/dyld.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/loaders/dyld.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/load_add_on.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/loaders/load_add_on.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/loadlibrary.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/loaders/loadlibrary.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/preopen.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/loaders/preopen.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/shl_load.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/loaders/shl_load.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt__alloc.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/lt__alloc.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt__argz.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/lt__argz.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt__dirent.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/lt__dirent.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt__strl.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/lt__strl.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt_dlloader.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/lt_dlloader.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt_error.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/lt_error.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/ltdl.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/ltdl.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/ltdl.h' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/ltdl.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/ltdl.mk' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/ltdl.mk'
 /usr/gnu/bin/install -c -m 644 './libltdl/slist.c' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/slist.c'
chmod a+x '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/libtool/configure'
 /usr/gnu/bin/mkdir -p '/stage/prototype/libtool/2.4.6/64/opt/gnu/include'
 /usr/gnu/bin/install -c -m 644 libltdl/ltdl.h '/stage/prototype/libtool/2.4.6/64/opt/gnu/include'
 /usr/gnu/bin/mkdir -p '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/info'
 /usr/gnu/bin/install -c -m 644 ./doc/libtool.info ./doc/libtool.info-1 ./doc/libtool.info-2 '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/info'
 install-info --info-dir='/stage/prototype/libtool/2.4.6/64/opt/gnu/share/info' '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/info/libtool.info'
 /usr/gnu/bin/mkdir -p '/stage/prototype/libtool/2.4.6/64/opt/gnu/include/libltdl'
 /usr/gnu/bin/install -c -m 644 libltdl/libltdl/lt_system.h libltdl/libltdl/lt_error.h libltdl/libltdl/lt_dlloader.h '/stage/prototype/libtool/2.4.6/64/opt/gnu/include/libltdl'
 /usr/gnu/bin/mkdir -p '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/man/man1'
 /usr/gnu/bin/install -c -m 644 ./doc/libtool.1 ./doc/libtoolize.1 '/stage/prototype/libtool/2.4.6/64/opt/gnu/share/man/man1'
gmake[3]: Leaving directory `/stage/build/libtool/libtool-2.4.6-64'
gmake[2]: Leaving directory `/stage/build/libtool/libtool-2.4.6-64'
gmake[1]: Leaving directory `/stage/build/libtool/libtool-2.4.6-64'


Due to the above warning message and the fact I'll not build the corresponding IPS package right now that could handle the warning as its final delivery actions, I'll repeat the installation in the final resting area (${prefix}) because it's non-conflicting with any standard system areas.

$ sudo gmake install
gmake  install-recursive
gmake[1]: Entering directory `/stage/build/libtool/libtool-2.4.6-64'
Making install in .
gmake[2]: Entering directory `/stage/build/libtool/libtool-2.4.6-64'
gmake[3]: Entering directory `/stage/build/libtool/libtool-2.4.6-64'
 /usr/gnu/bin/mkdir -p '/opt/gnu/bin'
 /usr/gnu/bin/install -c libtool '/opt/gnu/bin'
 /usr/gnu/bin/mkdir -p '/opt/gnu/lib'
 /bin/sh ./libtool   --mode=install /usr/gnu/bin/install -c   libltdl/libltdl.la '/opt/gnu/lib'
libtool: install: /usr/gnu/bin/install -c libltdl/.libs/libltdl.so.7.3.1 /opt/gnu/lib/libltdl.so.7.3.1
libtool: install: (cd /opt/gnu/lib && { ln -s -f libltdl.so.7.3.1 libltdl.so.7 || { rm -f libltdl.so.7 && ln -s libltdl.so.7.3.1 libltdl.so.7; }; })
libtool: install: (cd /opt/gnu/lib && { ln -s -f libltdl.so.7.3.1 libltdl.so || { rm -f libltdl.so && ln -s libltdl.so.7.3.1 libltdl.so; }; })
libtool: install: chmod +x /opt/gnu/lib/libltdl.so.7.3.1
libtool: install: /usr/gnu/bin/install -c libltdl/.libs/libltdl.lai /opt/gnu/lib/libltdl.la
libtool: install: /usr/gnu/bin/install -c libltdl/.libs/libltdl.a /opt/gnu/lib/libltdl.a
libtool: install: chmod 644 /opt/gnu/lib/libltdl.a
libtool: install: ranlib /opt/gnu/lib/libltdl.a
 GREP='/usr/gnu/bin/grep' SED='/usr/gnu/bin/sed' './build-aux/inline-source' libtoolize > '/opt/gnu/bin/libtoolize'
rm -rf '/opt/gnu/share/libtool'/*
 /usr/gnu/bin/install -c -m 644 './m4/libtool.m4' '/opt/gnu/share/aclocal/libtool.m4'
 /usr/gnu/bin/install -c -m 644 './m4/ltargz.m4' '/opt/gnu/share/aclocal/ltargz.m4'
 /usr/gnu/bin/install -c -m 644 './m4/ltdl.m4' '/opt/gnu/share/aclocal/ltdl.m4'
 /usr/gnu/bin/install -c -m 644 './m4/ltoptions.m4' '/opt/gnu/share/aclocal/ltoptions.m4'
 /usr/gnu/bin/install -c -m 644 './m4/ltsugar.m4' '/opt/gnu/share/aclocal/ltsugar.m4'
 /usr/gnu/bin/install -c -m 644 './m4/ltversion.m4' '/opt/gnu/share/aclocal/ltversion.m4'
 /usr/gnu/bin/install -c -m 644 './m4/lt~obsolete.m4' '/opt/gnu/share/aclocal/lt~obsolete.m4'
 /usr/gnu/bin/install -c './build-aux/compile' '/opt/gnu/share/libtool/build-aux/compile'
 /usr/gnu/bin/install -c './build-aux/config.guess' '/opt/gnu/share/libtool/build-aux/config.guess'
 /usr/gnu/bin/install -c './build-aux/config.sub' '/opt/gnu/share/libtool/build-aux/config.sub'
 /usr/gnu/bin/install -c './build-aux/depcomp' '/opt/gnu/share/libtool/build-aux/depcomp'
 /usr/gnu/bin/install -c './build-aux/install-sh' '/opt/gnu/share/libtool/build-aux/install-sh'
 /usr/gnu/bin/install -c './build-aux/missing' '/opt/gnu/share/libtool/build-aux/missing'
 /usr/gnu/bin/install -c -m 644 './build-aux/ltmain.sh' '/opt/gnu/share/libtool/build-aux/ltmain.sh'
 /usr/gnu/bin/install -c -m 644 './libltdl/COPYING.LIB' '/opt/gnu/share/libtool/COPYING.LIB'
 /usr/gnu/bin/install -c -m 644 './libltdl/Makefile.am' '/opt/gnu/share/libtool/Makefile.am'
 /usr/gnu/bin/install -c -m 644 './libltdl/README' '/opt/gnu/share/libtool/README'
 /usr/gnu/bin/install -c -m 644 './libltdl/configure.ac' '/opt/gnu/share/libtool/configure.ac'
 /usr/gnu/bin/install -c -m 644 './libltdl/aclocal.m4' '/opt/gnu/share/libtool/aclocal.m4'
 /usr/gnu/bin/install -c -m 644 './libltdl/Makefile.in' '/opt/gnu/share/libtool/Makefile.in'
 /usr/gnu/bin/install -c -m 644 './libltdl/config-h.in' '/opt/gnu/share/libtool/config-h.in'
 /usr/gnu/bin/install -c -m 644 './libltdl/configure' '/opt/gnu/share/libtool/configure'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__alloc.h' '/opt/gnu/share/libtool/libltdl/lt__alloc.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__argz_.h' '/opt/gnu/share/libtool/libltdl/lt__argz_.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__dirent.h' '/opt/gnu/share/libtool/libltdl/lt__dirent.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__glibc.h' '/opt/gnu/share/libtool/libltdl/lt__glibc.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__private.h' '/opt/gnu/share/libtool/libltdl/lt__private.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt__strl.h' '/opt/gnu/share/libtool/libltdl/lt__strl.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt_dlloader.h' '/opt/gnu/share/libtool/libltdl/lt_dlloader.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt_error.h' '/opt/gnu/share/libtool/libltdl/lt_error.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/lt_system.h' '/opt/gnu/share/libtool/libltdl/lt_system.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/libltdl/slist.h' '/opt/gnu/share/libtool/libltdl/slist.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/dld_link.c' '/opt/gnu/share/libtool/loaders/dld_link.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/dlopen.c' '/opt/gnu/share/libtool/loaders/dlopen.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/dyld.c' '/opt/gnu/share/libtool/loaders/dyld.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/load_add_on.c' '/opt/gnu/share/libtool/loaders/load_add_on.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/loadlibrary.c' '/opt/gnu/share/libtool/loaders/loadlibrary.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/preopen.c' '/opt/gnu/share/libtool/loaders/preopen.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/loaders/shl_load.c' '/opt/gnu/share/libtool/loaders/shl_load.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt__alloc.c' '/opt/gnu/share/libtool/lt__alloc.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt__argz.c' '/opt/gnu/share/libtool/lt__argz.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt__dirent.c' '/opt/gnu/share/libtool/lt__dirent.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt__strl.c' '/opt/gnu/share/libtool/lt__strl.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt_dlloader.c' '/opt/gnu/share/libtool/lt_dlloader.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/lt_error.c' '/opt/gnu/share/libtool/lt_error.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/ltdl.c' '/opt/gnu/share/libtool/ltdl.c'
 /usr/gnu/bin/install -c -m 644 './libltdl/ltdl.h' '/opt/gnu/share/libtool/ltdl.h'
 /usr/gnu/bin/install -c -m 644 './libltdl/ltdl.mk' '/opt/gnu/share/libtool/ltdl.mk'
 /usr/gnu/bin/install -c -m 644 './libltdl/slist.c' '/opt/gnu/share/libtool/slist.c'
chmod a+x '/opt/gnu/share/libtool/configure'
 /usr/gnu/bin/mkdir -p '/opt/gnu/include'
 /usr/gnu/bin/install -c -m 644 libltdl/ltdl.h '/opt/gnu/include'
 /usr/gnu/bin/mkdir -p '/opt/gnu/share/info'
 /usr/gnu/bin/install -c -m 644 ./doc/libtool.info ./doc/libtool.info-1 ./doc/libtool.info-2 '/opt/gnu/share/info'
 install-info --info-dir='/opt/gnu/share/info' '/opt/gnu/share/info/libtool.info'
 /usr/gnu/bin/mkdir -p '/opt/gnu/include/libltdl'
 /usr/gnu/bin/install -c -m 644 libltdl/libltdl/lt_system.h libltdl/libltdl/lt_error.h libltdl/libltdl/lt_dlloader.h '/opt/gnu/include/libltdl'
 /usr/gnu/bin/mkdir -p '/opt/gnu/share/man/man1'
 /usr/gnu/bin/install -c -m 644 ./doc/libtool.1 ./doc/libtoolize.1 '/opt/gnu/share/man/man1'
gmake[3]: Leaving directory `/stage/build/libtool/libtool-2.4.6-64'
gmake[2]: Leaving directory `/stage/build/libtool/libtool-2.4.6-64'
gmake[1]: Leaving directory `/stage/build/libtool/libtool-2.4.6-64'


$ sudo zfs snapshot -r .../opt/gnu@libtool-2.4.6

Checking the resulting artifacts:

$ l /stage/prototype/libtool/2.4.6/64/opt/gnu/*
/stage/prototype/libtool/2.4.6/64/opt/gnu/bin:
total 271K

-rwxr-xr-x 1 root root ... libtool
-rwxr-xr-x 1 root root ... libtoolize

/stage/prototype/libtool/2.4.6/64/opt/gnu/include:
total 5.5K

drwxr-xr-x 2 root root ... libltdl
-rw-r--r-- 1 root root ... ltdl.h

/stage/prototype/libtool/2.4.6/64/opt/gnu/lib:
total 64K

-rw-r--r-- 1 root root ... libltdl.a
-rwxr-xr-x 1 root root ... libltdl.la
lrwxrwxrwx 1 root root ... libltdl.so -> libltdl.so.7.3.1
lrwxrwxrwx 1 root root ... libltdl.so.7 -> libltdl.so.7.3.1
-rwxr-xr-x 1 root root ... libltdl.so.7.3.1

/stage/prototype/libtool/2.4.6/64/opt/gnu/share:
total 6.0K

drwxr-xr-x 2 root root ... aclocal
drwxr-xr-x 2 root root ... info
drwxr-xr-x 5 root root ... libtool
drwxr-xr-x 3 root root ... man


$ l /opt/gnu/*
/opt/gnu/bin:
total 514K

-rwxr-xr-x 1 root root ... libtool
-rwxr-xr-x 1 root root ... libtoolize

/opt/gnu/include:
total 18K

drwxr-xr-x 2 root root ... libltdl
-rw-r--r-- 1 root root ... ltdl.h
-rw-r--r-- 1 root root ... sigsegv.h

/opt/gnu/lib:
total 144K

-rw-r--r-- 1 root root ... libltdl.a
-rwxr-xr-x 1 root root ... libltdl.la
lrwxrwxrwx 1 root root ... libltdl.so -> libltdl.so.7.3.1
lrwxrwxrwx 1 root root ... libltdl.so.7 -> libltdl.so.7.3.1
-rwxr-xr-x 1 root root ... libltdl.so.7.3.1
-rw-r--r-- 1 root root ... libsigsegv.a
-rwxr-xr-x 1 root root ... libsigsegv.la

/opt/gnu/share:
total 6.0K

drwxr-xr-x 2 root root  9 Mar 17 12:19 aclocal
drwxr-xr-x 2 root root  6 Mar 17 12:19 info
drwxr-xr-x 5 root root 23 Mar 17 12:19 libtool
drwxr-xr-x 3 root root  3 Mar 17 12:19 man


The building process is virtually the same for 32-bits artifacts but I don't install them under /opt/gnu because I'm particularly using it exclusively for 64-bits artifacts.