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

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

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


From: Bruno Haible
Subject: Re: cannot complile gettext-0.12.1 on AIX 4.3.3, gcc-2.95.3
Date: Sun, 16 Nov 2003 17:23:43 +0100
User-agent: KMail/1.5

Kouichi Hashikawa wrote on 2003-06-23:
> 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
> ...
> 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
> ----------------------------------------------------------------------------

Thanks a lot for the report and analysis. I'm adding the following patch to 
gettext-0.13.

Bruno


diff -r -c3 --exclude='*.po*' --exclude='*.info*' --exclude='*.html' 
--exclude=Makefile.in --exclude=aclocal.m4 --exclude=configure 
--exclude=po-gram-gen.c --exclude=po-gram-gen.h --exclude=po-hash-gen.c 
--exclude=po-hash-gen.h --exclude='*.o' --exclude='*.lo' 
gettext-5/gettext-runtime/intl/libgnuintl.h.in 
gettext-6/gettext-runtime/intl/libgnuintl.h.in
*** gettext-5/gettext-runtime/intl/libgnuintl.h.in      Tue Oct  7 23:42:37 2003
--- gettext-6/gettext-runtime/intl/libgnuintl.h.in      Sun Nov 16 12:51:49 2003
***************
*** 83,89 ****
     If he doesn't, we choose the method.  A third possible method is
     _INTL_REDIRECT_ASM, supported only by GCC.  */
  #if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
! # if __GNUC__ >= 2 && !defined __APPLE_CC__ && !defined __MINGW32__ && 
(defined __STDC__ || defined __cplusplus)
  #  define _INTL_REDIRECT_ASM
  # else
  #  ifdef __cplusplus
--- 83,89 ----
     If he doesn't, we choose the method.  A third possible method is
     _INTL_REDIRECT_ASM, supported only by GCC.  */
  #if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
! # if __GNUC__ >= 2 && !defined __APPLE_CC__ && !defined __MINGW32__ && 
!(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
  #  define _INTL_REDIRECT_ASM
  # else
  #  ifdef __cplusplus





reply via email to

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