Re: compile failure gtk+ 2.4.0 and 2.4.1 on Solaris 8
- From: "Steven M. Christensen" <steve smc vnet net>
- To: steve smc vnet net, jean brefort normalesup org
- Cc: hnl_dk stofanet dk, gtk-list gnome org
- Subject: Re: compile failure gtk+ 2.4.0 and 2.4.1 on Solaris 8
- Date: Fri, 4 Jun 2004 06:03:34 -0400 (EDT)
I have tried every combination of configure flags going back to
redoing libiconv and gettext - and even earlier versions and I
can get nothing to work. I may be missing something, but don't
have any more time to mess with this. So I am going back to
earlier versions of gtk etc for now and hope that one of the
gtk developers can work on a Solaris machine and find a solution.
I am happy to test any future code, but for now am at a loss.
Thanks for the suggestions of what to try.
Steve Christensen
> From jean brefort normalesup org Wed Jun 2 07:13:20 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 13:18:14 +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)
>
> 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).
> > > > >
> > > >
> >
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]