Re: compile failure gtk+ 2.4.0 and 2.4.1 on Solaris 8



I really do not understand what is wrong. It should work, the symbols
exist in libintl and you have -lintl on the command line. Did you try to
compile everything with --disable-nls? (if you compile glib with this
option dgettext and related functions should be ignored). I cannot give
you more help. Sorry.

Le mer 02/06/2004 à 12:59, Steven M. Christensen a écrit :
> OK, so I assume you are telling me that if I run make and make install
> on the glib after the configure that gives the config.log in my prefious
> message that the glib will be OK.  So I did that.  Now when I go to
> atk and do ./configure  I get a failure as I described before and in
> config.log, I get
> 
> configure:18815: result: no
> configure:18850: gcc -o conftest -g -O2 -Wall -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include   -DNDEBUG -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/ssl/include -I/usr/openwin/include -I/usr/local/lib/glib-2.0/include -I/usr/local/include -R/usr/lib -L/usr/lib -R/usr/openwin/lib -L/usr/openwin/lib -R/usr/local/lib -L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib -R/usr/local/BerkeleyDB.4.2/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib -lintl conftest.c  -L/usr/local/lib -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lintl -liconv   >&5
> Undefined                       first referenced
>  symbol                             in file
> libintl_bindtextdomain              /usr/local/lib/libglib-2.0.so
> libintl_dgettext                    /usr/local/lib/libglib-2.0.so
> ld: fatal: Symbol referencing errors. No output written to conftest
> collect2: ld returned 1 exit status
> configure:18853: $? = 1
> configure: failed program was:
> | #line 18829 "configure"
> | /* confdefs.h.  */
> | 
> | #define PACKAGE_NAME "atk"
> | #define PACKAGE_TARNAME "atk"
> | #define PACKAGE_VERSION "1.6.0"
> | #define PACKAGE_STRING "atk 1.6.0"
> | #define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=atk";
> | #define PACKAGE "atk"
> | #define VERSION "1.6.0"
> | #define GETTEXT_PACKAGE "atk10"
> | #define STDC_HEADERS 1
> | #define HAVE_SYS_TYPES_H 1
> | #define HAVE_SYS_STAT_H 1
> | #define HAVE_STDLIB_H 1
> | #define HAVE_STRING_H 1
> | #define HAVE_MEMORY_H 1
> | #define HAVE_STRINGS_H 1
> | #define HAVE_INTTYPES_H 1
> | #define HAVE_UNISTD_H 1
> | #define HAVE_DLFCN_H 1
> | #ifdef __cplusplus
> | #include <stdlib.h>
> | #endif
> | /* end confdefs.h.  */
> | 
> | #include <libintl.h>
> | #include <glib.h>
> | #include <stdio.h>
> | 
> | int
> | main ()
> | {
> |  return ((glib_major_version) || (glib_minor_version) || (glib_micro_version));
> |   ;
> |   return 0;
> | }
> configure:18887: error:
> *** GLIB 2.0.0 or better is required. The latest version of
> *** GLIB is always available from ftp://ftp.gtk.org/. If GLIB is installed
> *** but not in the same location as pkg-config add the location of the file
> *** glib-2.0.pc to the environment variable PKG_CONFIG_PATH.
> 
> 
> ---------------------------
> But I do have PKG_CONFIG_PATH set properly and glib was installed.
> 
> I don't want to be going round and round on this, but it is just not
> working.
> 
> Steve Christensen
> 
> 
> > From jean brefort normalesup org  Wed Jun  2 05:40:43 2004
> > Subject: Re: compile failure gtk+ 2.4.0 and 2.4.1 on Solaris 8
> > From: Jean =?ISO-8859-1?Q?Br=E9fort?= <jean brefort normalesup org>
> > To: "Steven M. Christensen" <steve smc vnet net>
> > Cc: hnl_dk stofanet dk, gtk-list gnome org
> > Date: 02 Jun 2004 11:45:38 +0200
> > X-Spam-Status: No, hits=-5.4 required=5.0
> > 	tests=IN_REP_TO,PGP_SIGNATURE_2,QUOTED_EMAIL_TEXT,REFERENCES,
> > 	      REPLY_WITH_QUOTES,USER_AGENT_XIMIAN,WEIRD_QUOTING
> > 	autolearn=ham version=2.55
> > X-Spam-Level: 
> > X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp)
> > 
> > Le mer 02/06/2004 à 10:03, Steven M. Christensen a écrit :
> > > I have gone back to the creation of glib and determined that the
> > > problem is there and not in atk, though the problem with glib's
> > > configure step is probably occurs in atk, pango, and gtk also.
> > 
> > The config.log extract below is quite correct. dgettext and other
> > symbols are fisrt seached in libc, and as they are not found there, they
> > are searched in libintl, this time with success. There is no proble
> > there.
> > 
> > > With ./configure --with-libiconv=gnu in the glib source directory,
> > > and looking down the config.log I find
> > > 
> > > configure:6053: result: yes
> > > configure:6057: checking libintl.h presence 
> > > configure:6067: gcc -E -DNDEBUG -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/ssl/include -I/usr/openwin/include -I/usr/local/lib/glib-2.0/include -I/usr/local/include conftest.c
> > > configure:6073: $? = 0
> > > configure:6093: result: yes
> > > configure:6128: checking for libintl.h
> > > configure:6135: result: yes
> > > configure:6146: checking for dgettext in libc  
> > > configure:6169: gcc -o conftest -g -O2 -DNDEBUG -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/ssl/include -I/usr/openwin/include -I/usr/local/lib/glib-2.0/include -I/usr/local/include -R/usr/lib -L/usr/lib -R/usr/openwin/lib -L/usr/openwin/lib -R/usr/local/lib -L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib -R/usr/local/BerkeleyDB.4.2/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib -lintl conftest.c  >&5
> > > Undefined                       first referenced
> > >  symbol                             in file
> > > libintl_dgettext                    /var/tmp//ccwCMoJv.o
> > > ld: fatal: Symbol referencing errors. No output written to conftest
> > > collect2: ld returned 1 exit status
> > > configure:6175: $? = 1 
> > > configure: failed program was:
> > > | /* confdefs.h.  */ 
> > > | 
> > > | #define PACKAGE_NAME "glib" 
> > > | #define PACKAGE_TARNAME "glib"
> > > | #define PACKAGE_VERSION "2.4.1"
> > > | #define PACKAGE_STRING "glib 2.4.1"
> > > | #define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=glib";
> > > | #define GLIB_MAJOR_VERSION 2
> > > | #define GLIB_MINOR_VERSION 4
> > > | #define GLIB_MICRO_VERSION 1
> > > | #define GLIB_INTERFACE_AGE 1
> > > | #define GLIB_BINARY_AGE 401
> > > | #define G_COMPILED_WITH_DEBUGGING "minimum"
> > > | #ifdef __cplusplus
> > > | extern "C" void std::exit (int) throw (); using std::exit;
> > > | #endif
> > > | #define _FILE_OFFSET_BITS 64
> > > | #define STDC_HEADERS 1
> > > | #define HAVE_SYS_TYPES_H 1
> > > | #define HAVE_SYS_STAT_H 1
> > > | #define HAVE_STDLIB_H 1
> > > | #define HAVE_STRING_H 1
> > > | #define HAVE_MEMORY_H 1
> > > | #define HAVE_STRINGS_H 1
> > > | #define HAVE_INTTYPES_H 1
> > > | #define HAVE_UNISTD_H 1
> > > | #define HAVE_LOCALE_H 1
> > > | #define HAVE_LC_MESSAGES 1
> > > | /* end confdefs.h.  */
> > > |
> > > | #include <libintl.h>
> > > |
> > > | int
> > > | main ()
> > > | {
> > > | return (int) dgettext ("","")
> > > |   ;
> > > |   return 0;
> > > | }
> > > configure:6201: result: no
> > > configure:6315: checking for bindtextdomain in -lintl
> > > configure:6345: gcc -o conftest -g -O2 -DNDEBUG -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/ssl/include -I/usr/openwin/include -I/usr/local/lib/glib-2.0/include -I/usr/local/include -R/usr/lib -L/usr/lib -R/usr/openwin/lib -L/usr/openwin/lib -R/usr/local/lib -L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib -R/usr/local/BerkeleyDB.4.2/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib -lintl conftest.c -lintl   >&5
> > > configure:6351: $? = 0
> > > configure:6355: test -z 
> > >                          || test ! -s conftest.err
> > > configure:6358: $? = 0
> > > configure:6361: test -s conftest
> > > configure:6364: $? = 0
> > > configure:6377: result: yes
> > > configure:6380: checking for dgettext in -lintl
> > > configure:6410: gcc -o conftest -g -O2 -DNDEBUG -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/ssl/include -I/usr/openwin/include -I/usr/local/lib/glib-2.0/include -I/usr/local/include -R/usr/lib -L/usr/lib -R/usr/openwin/lib -L/usr/openwin/lib -R/usr/local/lib -L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib -R/usr/local/BerkeleyDB.4.2/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib -lintl conftest.c -lintl   >&5
> > > configure:6416: $? = 0
> > > configure:6420: test -z
> > >                          || test ! -s conftest.err
> > > configure:6423: $? = 0
> > > configure:6426: test -s conftest
> > > configure:6429: $? = 0
> > > configure:6442: result: yes
> > > configure:6542: checking for bind_textdomain_codeset
> > > configure:6599: gcc -o conftest -g -O2 -DNDEBUG -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/ssl/include -I/usr/openwin/include -I/usr/local/lib/glib-2.0/include -I/usr/local/include -R/usr/lib -L/usr/lib -R/usr/openwin/lib -L/usr/openwin/lib -R/usr/local/lib -L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib -R/usr/local/BerkeleyDB.4.2/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib -lintl conftest.c  -lintl  >&5
> > > Undefined                       first referenced
> > >  symbol                             in file
> > > bind_textdomain_codeset             /var/tmp//ccCriMJe.o
> > > ld: fatal: Symbol referencing errors. No output written to conftest
> > > collect2: ld returned 1 exit status
> > > configure:6605: $? = 1
> > > configure: failed program was:
> > > | /* confdefs.h.  */
> > > |
> > > | #define PACKAGE_NAME "glib"
> > > | #define PACKAGE_TARNAME "glib"
> > > | #define PACKAGE_VERSION "2.4.1"
> > > | #define PACKAGE_STRING "glib 2.4.1"
> > > | #define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=glib";
> > > | #define GLIB_MAJOR_VERSION 2
> > > | #define GLIB_MINOR_VERSION 4
> > > | #define GLIB_MICRO_VERSION 1
> > > | #define GLIB_INTERFACE_AGE 1
> > > | #define GLIB_BINARY_AGE 401
> > > | #define G_COMPILED_WITH_DEBUGGING "minimum"
> > > | #ifdef __cplusplus
> > > | extern "C" void std::exit (int) throw (); using std::exit;
> > > | #endif
> > > | #define _FILE_OFFSET_BITS 64
> > > | #define STDC_HEADERS 1
> > > | #define HAVE_SYS_TYPES_H 1
> > > | #define HAVE_SYS_STAT_H 1
> > > | #define HAVE_STDLIB_H 1
> > > | #define HAVE_STRING_H 1
> > > | #define HAVE_MEMORY_H 1
> > > | #define HAVE_STRINGS_H 1
> > > | #define HAVE_INTTYPES_H 1
> > > | #define HAVE_UNISTD_H 1
> > > | #define HAVE_LOCALE_H 1
> > > | #define HAVE_LC_MESSAGES 1
> > > | /* end confdefs.h.  */
> > > | /* Define bind_textdomain_codeset to an innocuous variant, in case <limits.h> declares bind_textdomain_codeset.
> > > |    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
> > > | #define bind_textdomain_codeset innocuous_bind_textdomain_codeset
> > > |
> > > | /* System header to define __stub macros and hopefully few prototypes,
> > > |     which can conflict with char bind_textdomain_codeset (); below.
> > > |     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
> > > |     <limits.h> exists even on freestanding compilers.  */
> > > |
> > > | #ifdef __STDC__
> > > | # include <limits.h>
> > > | #else
> > > | # include <assert.h>
> > > | #endif
> > > |
> > > | #undef bind_textdomain_codeset
> > > |
> > > | /* Override any gcc2 internal prototype to avoid an error.  */
> > > | #ifdef __cplusplus
> > > | extern "C"
> > > | {
> > > | #endif
> > > | /* We use char because int might match the return type of a gcc2
> > > |    builtin and then its argument prototype would still apply.  */
> > > | char bind_textdomain_codeset ();
> > > | /* The GNU C library defines this for functions which it implements
> > > |     to always fail with ENOSYS.  Some functions are actually named
> > > |     something starting with __ and the normal name is an alias.  */
> > > | #if defined (__stub_bind_textdomain_codeset) || defined (__stub___bind_textdomain_codeset)
> > > | choke me
> > > | #else
> > > | char (*f) () = bind_textdomain_codeset;
> > > | #endif
> > > | #ifdef __cplusplus
> > > | }
> > > | #endif
> > > |
> > > | int
> > > | main ()
> > > | {
> > > | return f != bind_textdomain_codeset;
> > > |   ;
> > > |   return 0;
> > > | }
> > > configure:6630: result: no
> > > 
> > > 
> > > ----------------------------------------------------
> > > 
> > > I took the code bits above and compiled them outside of configure.
> > > If I take, for example
> > > 
> > >  #include <libintl.h>
> > > 
> > >  int
> > >  main ()
> > >  {
> > >  return (int) dgettext ("","")
> > >    ;
> > >    return 0;
> > >  }
> > > 
> > > and call it gtest.c, and then do gcc on it I get
> > > 
> > > [417]> gcc -o gtest gtest.c
> > > Undefined                       first referenced
> > >  symbol                             in file
> > > libintl_dgettext                    /var/tmp//ccry6HWi.o
> > > ld: fatal: Symbol referencing errors. No output written to gtest
> > > collect2: ld returned 1 exit status
> > > 
> > > but with gcc -o gtest gtest.c -lintl, it compiles and runs fine.
> > > 
> > > So, it appears to me that there is a problem in the configure file.  This
> > > problem then propogates to the atk, pango, and gtk configures also. 
> > > 
> > > 
> > > Steve Christensen
> > > 
> > > > From jean brefort normalesup org  Wed Jun  2 01:23:57 2004
> > > > Subject: Re: compile failure gtk+ 2.4.0 and 2.4.1 on Solaris 8
> > > > From: Jean =?ISO-8859-1?Q?Br=E9fort?= <jean brefort normalesup org>
> > > > To: "Steven M. Christensen" <steve smc vnet net>
> > > > Cc: hnl_dk stofanet dk, gtk-list gnome org
> > > > Date: 02 Jun 2004 07:28:50 +0200
> > > > X-Spam-Status: No, hits=-6.9 required=5.0
> > > > 	tests=IN_REP_TO,PGP_SIGNATURE_2,QUOTED_EMAIL_TEXT,REFERENCES,
> > > > 	      REPLY_WITH_QUOTES,USER_AGENT_XIMIAN
> > > > 	autolearn=ham version=2.55
> > > > X-Spam-Level: 
> > > > X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp)
> > > > 
> > > > So the symbols that ld claims are missing are really present in
> > > > libintl.so. This is quite strange. I have no more idea about how to
> > > > solve your problem except changing the order of the libraries when
> > > > calling ld. You can edit glib-2.0.pc (probably in
> > > > /usr/local/lib/pkgconfig/) and if you have -lintl in the Libs variable,
> > > > change the order (put it before -lglib-2.0). I'd be surprised if it
> > > > works but it is the only think I can think about (it might also be a ld
> > > > bug).
> > > > 
> > > 
> 

Attachment: signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=



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