bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

cannot complile gettext-0.12.1 on AIX 4.3.3, gcc-2.95.3


From: Kouichi Hashikawa
Subject: cannot complile gettext-0.12.1 on AIX 4.3.3, gcc-2.95.3
Date: Mon, 23 Jun 2003 17:43:28 +0900

I cannot compile gettext-0.12.1 on AIX 4.3.3 and gcc-2.95.3.

----------------------------------------------------------------------------
% ./configure
% gmake
...
Making all in src
gmake[3]: Entering directory 
`/home/users/z01/z01a7ksy/tmp/amanda/p/gettext-0.12.1/gettext-runtime/src'
gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -I. 
-I. -I.. -I../intl -I./../intl -I../lib -I./../lib -I../../gettext-tools/lib 
-I./../../gettext-tools/lib   -DINSTALLDIR=\"/usr/local/bin\" -g -O2 -c -o 
gettext-gettext.o `test -f 'gettext.c' || echo './'`gettext.c
/bin/sh ../libtool --mode=link gcc  -g -O2   -o gettext  gettext-gettext.o 
../lib/libgrt.a ../intl/libintl.la -liconv 
mkdir .libs
chmod 777 .libs
gcc -g -O2 -o .libs/gettext gettext-gettext.o  ../lib/libgrt.a -L../intl/.libs 
-lintl -lc -liconv 
-Wl,-blibpath:/usr/local/lib:/usr/local/lib/gcc-lib/rs6000-ibm-aix4.3.1.0/2.95.2:/usr/local/lib:/usr/lib:/lib
 
ld: 0711-317 ERROR: Undefined symbol: ..libintl_bindtextdomain
ld: 0711-317 ERROR: Undefined symbol: ..libintl_textdomain
ld: 0711-317 ERROR: Undefined symbol: ..libintl_gettext
ld: 0711-317 ERROR: Undefined symbol: ..libintl_dgettext
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status
gmake[3]: *** [gettext] Error 1
gmake[3]: Leaving directory 
`/home/users/z01/z01a7ksy/tmp/amanda/p/gettext-0.12.1/gettext-runtime/src'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory 
`/home/users/z01/z01a7ksy/tmp/amanda/p/gettext-0.12.1/gettext-runtime'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory 
`/home/users/z01/z01a7ksy/tmp/amanda/p/gettext-0.12.1/gettext-runtime'
gmake: *** [all-recursive] Error 1
----------------------------------------------------------------------------

Check error reason.

----------------------------------------------------------------------------
% cd gettext-runtime/src
% gcc -E -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. 
-I. -I. -I.. -I../intl -I./../intl -I../lib -I./../lib 
-I../../gettext-tools/lib -I./../../gettext-tools/lib 
-DINSTALLDIR=\"/usr/local/bin\" -g -O2 -c `test -f 'gettext.c' || echo 
'./'`gettext.c | less
...
# 263 "../intl/libintl.h"

extern char *bindtextdomain  (const char *__domainname,
                                           const char *__dirname)  
       __asm__ ("."    "libintl_bindtextdomain"  ) ;
...
% nm gettext-gettext.o
...
..libintl_bindtextdomain U          -
..libintl_dgettext   U          -
..libintl_gettext    U          -
..libintl_textdomain U          -
...
----------------------------------------------------------------------------


This is gcc's bug, and fixed at 01-05-25.
gcc-2.95.3 don't contains this fix, but gcc-3.0 contains this fix.

gcc-3.3/gcc/ChangeLog.5:
----------------------------------------------------------------------------
2001-05-25  David Edelsohn  <address@hidden>

        * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.

        * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
        any prefix.
----------------------------------------------------------------------------

Fix:

I want to add following patch (work arround) to gettext.

----------------------------------------------------------------------------
--- gettext-runtime/intl/libgnuintl.h.in        Fri Apr  4 19:40:05 2003
+++ gettext-runtime/intl/libgnuintl.h.in-new    Mon Jun 23 16:54:04 2003
@@ -105,7 +105,12 @@
 #endif
 /* Auxiliary macros.  */
 #ifdef _INTL_REDIRECT_ASM
-# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, 
#cname))
+#if __GNUC__ <= 2 && defined _AIX
+/* work arround for gcc's bug */
+#   define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (, #cname))
+#else
+#   define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, 
#cname))
+#endif
 # define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring
 # define _INTL_STRINGIFY(prefix) #prefix
 #else
----------------------------------------------------------------------------





reply via email to

[Prev in Thread] Current Thread [Next in Thread]