mirror of
https://https.git.savannah.gnu.org/git/gettext.git
synced 2026-01-26 07:37:57 +00:00
55 lines
1.9 KiB
Plaintext
55 lines
1.9 KiB
Plaintext
Installation on AIX:
|
|
|
|
Here are some hints to get a successful build of GNU gettext on AIX.
|
|
|
|
* Set the recommended environment variables before running configure:
|
|
https://gitlab.com/ghwiki/gnow-how/-/wikis/Platforms/Configuration
|
|
|
|
Namely:
|
|
* for a 32-bit build with gcc:
|
|
CC=gcc
|
|
CXX=g++
|
|
CPPFLAGS="-I$PREFIX/include"
|
|
LDFLAGS="-L$PREFIX/lib"
|
|
unset AR NM
|
|
* for a 32-bit build with xlc:
|
|
CC="xlc -qthreaded -qtls"
|
|
CXX="xlC -qthreaded -qtls"
|
|
CPPFLAGS="-I$PREFIX/include"
|
|
LDFLAGS="-L$PREFIX/lib"
|
|
unset AR NM
|
|
* for a 64-bit build with gcc:
|
|
CC="gcc -maix64"
|
|
CXX="g++ -maix64"
|
|
CPPFLAGS="-I$PREFIX/include"
|
|
LDFLAGS="-L$PREFIX/lib"
|
|
AR="ar -X 64"
|
|
NM="nm -X 64 -B"
|
|
* for a 64-bit build with xlc:
|
|
CC="xlc -q64 -qthreaded -qtls"
|
|
CXX="xlC -q64 -qthreaded -qtls"
|
|
CPPFLAGS="-I$PREFIX/include"
|
|
LDFLAGS="-L$PREFIX/lib"
|
|
AR="ar -X 64"
|
|
NM="nm -X 64 -B"
|
|
|
|
where $PREFIX is the value that you pass to the --prefix configure option.
|
|
|
|
* Avoid using a --prefix that contains earlier installations of the same
|
|
package.
|
|
|
|
Rationale: Because the AIX linker hardcodes directory names in shared
|
|
libraries, GNU libtool has a peculiar configuration on AIX. It ends up
|
|
mixing the in-build-tree libraries with the libraries in the install
|
|
locations, leading to all sorts of errors.
|
|
|
|
If you really need to use a --prefix that contains an earlier
|
|
installation of the same package, proceed in two steps:
|
|
1. Build GNU gettext with --disable-shared, and install it.
|
|
2. Do a "make distclean".
|
|
3. Build GNU gettext with --enable-shared. "make check" will likely
|
|
fail with hundreds of test failures, because the AIX linker gets
|
|
confused when it find a static libintl installed and expects a
|
|
shared libintl in the same place. Do "make install" regardless.
|
|
Then you can do "make check", and it will succeed.
|