manpagez: man pages & more
info libtool
Home | html | info | man

File: libtool.info,  Node: Configure notes,  Prev: LT_INIT,  Up: Configuring

5.4.2 Platform-specific configuration notes
-------------------------------------------

While Libtool tries to hide as many platform-specific features as
possible, some have to be taken into account when configuring either the
Libtool package or a libtoolized package.

   • You currently need GNU make to build the Libtool package itself.

   • On AIX there are two different styles of shared linking, one where
     symbols are bound at link-time and one where symbols are bound at
     runtime only, similar to ELF.  In case of doubt use
     ‘LDFLAGS=-Wl,-brtl’ for the latter style.

   • On AIX, native tools are to be preferred over binutils; especially
     for C++ code, if using the AIX Toolbox GCC 4.0 and binutils,
     configure with ‘AR=/usr/bin/ar LD=/usr/bin/ld NM='/usr/bin/nm -B'’.

   • On AIX, the ‘/bin/sh’ is very slow due to its inefficient handling
     of here-documents.  A modern shell is preferable:
          CONFIG_SHELL=/bin/bash; export $CONFIG_SHELL
          $CONFIG_SHELL ./configure [...]

   • For C++ code with templates, it may be necessary to specify the way
     the compiler will generate the instantiations.  For Portland pgCC
     version5, use ‘CXX='pgCC --one_instantiation_per_object'’ and avoid
     parallel ‘make’.

   • For C++ code, it may be necessary to specify a library if it is a
     dependency of a link/compile flag.  For example in GNU G++, if you
     want to use ‘-fsanitize=address’ you need to specify the ‘-lasan’
     library, like so: ‘g++ -o libx.la -fsanitize=address -lasan -rpath
     [...]’.

   • On Darwin, for C++ code with templates you need two level shared
     libraries.  Libtool builds these by default if
     ‘MACOSX_DEPLOYMENT_TARGET’ is set to 10.3 or later at ‘configure’
     time.  See  for more information on this
     issue.

   • The default shell on UNICOS 9, a ksh 88e variant, is too buggy to
     correctly execute the libtool script.  Users are advised to install
     a modern shell such as GNU bash.

   • Some HP-UX ‘sed’ programs are horribly broken, and cannot handle
     libtool's requirements, so users may report unusual problems.
     There is no workaround except to install a working ‘sed’ (such as
     GNU sed) on these systems.

   • The vendor-distributed NCR MP-RAS ‘cc’ programs emits copyright on
     standard error that confuse tests on size of ‘conftest.err’.  The
     workaround is to specify ‘CC’ when run configure with ‘CC='cc
     -Hnocopyr'’.

   • Any earlier DG/UX system with ELF executables, such as R3.10 or
     R4.10, is also likely to work, but hasn't been explicitly tested.

   • On Reliant Unix libtool has only been tested with the Siemens
     C-compiler and an old version of ‘gcc’ provided by Marco Walther.

   • ‘libtool.m4’, ‘ltdl.m4’ and the ‘configure.ac’ files are marked to
     use autoconf-mode, which is distributed with GNU Emacs 21, Autoconf
     itself, and all recent releases of XEmacs.

   • When building on some GNU/Linux systems for multilib targets
     ‘libtool’ sometimes guesses the wrong paths that the linker and
     dynamic linker search by default.  If this occurs for the dynamic
     library path, you may use the ‘LT_SYS_LIBRARY_PATH’ environment
     variable to adjust.  Otherwise, at ‘configure’ time you may
     override libtool's guesses by setting the ‘autoconf’ cache
     variables ‘lt_cv_sys_lib_search_path_spec’ and
     ‘lt_cv_sys_lib_dlsearch_path_spec’ respectively.

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.