Gnome 2.0 install insanity! help!
I'm trying to install gnome 2.0 from source, and having trouble compiling. After many attempts,changing the prefix, paths, etc, even copying my pkgconfig directory to /usr/bin/, I'm at wit's end. I have all the glib 2 libs and devel libs, pkgconfig, - in short, everything needed to compile innstalled, but always get the same error. I've searched the newsgroups, and tried everything suggested there. Obviously, it's not finding the glibc libs, but I don't know what else to do. Any ideas out there? Below is my last attempt at the first gnome directory (atk-1.0.2), with the last prefix I tried (among many)- it's always the same error. (here's my etc/ld.so.conf file- I added the last line, as that's where pkgconfig is in Mandrake 8.2- should I add another line with a different path?) Also, what's the deal with running /sbin/ldconfig? Do I have to do this? I just changed the line as root, as I've done in other /etc/ files before. Does the ldconfig update other paths, and that's the reason some say to do it?
Thanks, wrc1944 /usr/X11R6/lib /usr/lib/qt2/lib /usr/lib/qt3/lib /opt/kde3/lib/ /usr/lib/pkgconfig ---------------------------------------------------------------- THIS IS THE BEGINNING OF MY LAST, OF MANY, CONFIGURE RUNS: [root@localhost atk-1.0.2]# ./configure includedir=/usr/include checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking for gcc... gcc checking for C compiler default output... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no ---------------------------------------------------------- THIS IS THE END OF THE OUPUT, WHERE THE ERROR OCCURRS: creating libtool checking for Win32... no checking for aclocal flags... checking for pkg-config... /usr/bin/pkg-config checking for GLIB - version >= 2.0.0... no *** Could not run GLIB test program, checking why... *** The test program failed to compile or link. See the file config.log for the *** exact error that occured. This usually means GLIB is incorrectly installed. configure: error: *** GLIB 2.0.0 or better is required. The latest version of *** GLIB is always available from ftp://ftp.gtk.org/. [root@localhost atk-1.0.2]# ----------------------------------------------------------------- CONFIG.LOG (I'm just showing the top, and the error lines for space considerations) It was created by configure, which was generated by GNU Autoconf 2.53. Invocation command line was $ ./configure prefix=/usr/lib/glib-2.0/include ## --------- ## ## Platform. ## ## --------- ## hostname = localhost.localdomain uname -m = i686 uname -r = 2.4.18-6mdk uname -s = Linux uname -v = #1 Fri Mar 15 02:59:08 CET 2002 /usr/bin/uname -p = unknown /bin/uname -X = unknown /bin/arch = i686 /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /sbin PATH: /usr/sbin PATH: /bin PATH: /usr/bin PATH: /usr/X11R6/bin PATH: /usr/local/bin PATH: /usr/local/sbin ## ----------- ## ## Core tests. ## ## ----------- ## configure:1438: checking for a BSD-compatible install configure:1492: result: /usr/bin/install -c configure:1503: checking whether build environment is sane configure:1546: result: yes configure:1561: checking whether make sets ${MAKE} configure:1581: result: yes configure:1613: checking for working aclocal configure:1620: result: found.........(the file goes on and on-wrc1944- next are the error lines) configure:2335: gcc -c -g -O2 conftest.c >&5 conftest.c:2: parse error before `me' configure:2338: $? = 1 configure: failed program was: #ifndef __cplusplus choke me #endif configure:2521: checking build system type configure:2539: result: i686-pc-linux-gnu configure:3197: $? = 1 configure: failed program was: #line 3186 "configure" #include "confdefs.h" #include <ac_nonexistent.h> configure:3234: result: gcc -E configure:3288: $? = 1 configure: failed program was: #line 3277 "configure" #include "confdefs.h" #include <ac_nonexistent.h> configure:3328: checking for ANSI C header configure:3288: $? = 1 configure: failed program was: #line 3277 "configure" #include "confdefs.h" #include <ac_nonexistent.h> configure:3328: checking for ANSI C header files configure:3342: gcc -E conftest.c configure:7473: $? = 1 configure: failed program was: #line 7448 "configure" #include "confdefs.h" #include <glib.h> #include <stdio.h> #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ; return 0; } configure:7508: error: *** GLIB 2.0.0 or better is required. The latest version of *** GLIB is always available from ftp://ftp.gtk.org/. ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_atk_aclocal_flags= ac_cv_build=i686-pc-linux-gnu ac_cv_build_alias=i686-pc-linux-gnu ac_cv_c_compiler_gnu=yes ac_cv_env_CC_set= ac_cv_env_CC_value= ac_cv_env_CFLAGS_set= ac_cv_env_CFLAGS_value= ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_CPP_set= ac_cv_env_CPP_value= ac_cv_env_LDFLAGS_set= ac_cv_env_LDFLAGS_value= ac_cv_env_build_alias_set= ac_cv_env_build_alias_value= ac_cv_env_host_alias_set= ac_cv_env_host_alias_value= ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ac_cv_exeext= ac_cv_header_dlfcn_h=yes ac_cv_header_inttypes_h=yes ac_cv_header_memory_h=yes ac_cv_header_stdc=yes ac_cv_header_stdint_h=yes ac_cv_header_stdlib_h=yes ac_cv_header_string_h=yes ac_cv_header_strings_h=yes ac_cv_header_sys_stat_h=yes ac_cv_header_sys_types_h=yes ac_cv_header_unistd_h=yes ac_cv_host=i686-pc-linux-gnu ac_cv_host_alias=i686-pc-linux-gnu ac_cv_objext=o ac_cv_path_PKG_CONFIG=/usr/bin/pkg-config ac_cv_path_install=$'/usr/bin/install -c' ac_cv_prog_CPP=$'gcc -E' ac_cv_prog_ac_ct_CC=gcc ac_cv_prog_ac_ct_RANLIB=ranlib ac_cv_prog_ac_ct_STRIP=strip ac_cv_prog_cc_g=yes ac_cv_prog_make_make_set=yes lt_cv_archive_cmds_need_lc=no lt_cv_compiler_c_o=yes lt_cv_compiler_o_lo=yes lt_cv_deplibs_check_method=pass_all lt_cv_file_magic_cmd=$'$MAGIC_CMD' lt_cv_file_magic_test_file=$'/lib/libc.so.6 /lib/libc-2.2.4.so' lt_cv_global_symbol_to_c_name_address=$'sed -n -e \'s/^: \\([^ ]*\\) $/ {\\"\\1\\", (lt_ptr) 0},/p\' -e \'s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)$/ {"\\2", (lt_ptr) \\&\\2},/p\'' lt_cv_global_symbol_to_cdecl=$'sed -n -e \'s/^. .* \\(.*\\)$/extern char \\1;/p\'' lt_cv_ld_reload_flag=-r lt_cv_path_LD=/usr/bin/ld lt_cv_path_NM=$'/usr/bin/nm -B' lt_cv_prog_cc_can_build_shared=yes lt_cv_prog_cc_no_builtin= lt_cv_prog_cc_pic=$' -fPIC' lt_cv_prog_cc_pic_works=yes lt_cv_prog_cc_shlib= lt_cv_prog_cc_static=-static lt_cv_prog_cc_static_works=yes lt_cv_prog_cc_wl=-Wl, lt_cv_prog_gnu_ld=yes lt_cv_sys_global_symbol_pipe=$'sed -n -e \'s/^.*[ \t]\\([ABCDGISTW][ABCDGISTW]*\\)[ \t][ \t]*\\(\\)\\([_A-Za-z][_A-Za-z0-9]*\\)$/\\1 \\2\\3 \\3/p\'' lt_cv_sys_path_separator=: ## ----------- ## ## confdefs.h. ## ## ----------- ## #define PACKAGE_NAME "" #define PACKAGE_TARNAME "" #define PACKAGE_VERSION "" #define PACKAGE_STRING "" #define PACKAGE_BUGREPORT "" #define PACKAGE "atk" #define VERSION "1.0.2" #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_STDINT_H 1 #define HAVE_UNISTD_H 1 #define HAVE_DLFCN_H 1 configure: exit 1 |
You need glibc2. Have you installed it? If the answer is 'yes' it's probably in /usr/local/lib (that's where glibc compiled from source is installed by default). Add this directory to your /etc/ld.so.conf
|
In Mandrake 8.2, it's in /usr/lib/glib, and I also have glib-2.0. I'll put those paths in etc/ld.so.config- correct? All that's in those directories in an include directory, with a glibconfig.h file. Is that what I'm lookig for? Also, do I need to run ldconfig, or reboot? I understand that ldconfig is supposed to run at boot to update the links. Sorry to be so detailed, but I'm pretty new at all this.
Thanks, wrc1944 |
You're right. Run ldconfig manually and it should be OK.
|
I added them, rebooted, and also ran ldconfig as root. Same error occurs- it can't seem to find glib. I tried compiling a few other progs, and everything works fine. I'm at a loss to explain this one. Doesn't it have to be that a PATH is not linked properly? I know I have all the required libs- 2.2.4, and devel,- and a bunch of other stuff
|
You need a path gor glibc2 BEFORE path to older glibc (it looks you have 2 or more versions). WHen configure finds one version, it stops searching for more. If the glibc if finds is older than 2.0, you've got an error...
|
Here's my /etc/ld.so.conf file. In /usr/lib/ I have glib, glib-2.0, and gcc-lib. gcc-lib has i586-mandrake-linux-gnu, with 2.96, 3.04, and egs-2.91.66, which I assume are the compilers.
Do I need paths to these, and if I wanted to use one or another compiler for specific programs, how do I go about that? /usr/X11R6/lib /usr/lib/qt2/lib /usr/lib/qt3/lib /opt/kde3/lib/ /usr/lib/pkgconfig /usr/lib/glib /usr/lib/glib-2.0 /usr/local/lib |
The glib library main file is libglib.so .Usually it's just a symlink. The full name: /usr/lib/libglib.so .I suppose you have it. Note down where is it pointing and change it to poing to libglib.so.* from your new glib. It should work.
|
I've got libglib.so in /usr/lib, and it's a symlink, but after that I'm lost. How do I find out where it's pointing. If I open it, it's unreadable- just many squares and symbols- so I can't edit it to point to the new glib, even if I knew what that really meant. I assume you mean glib-2.0, but I'm not sure. I guess I need more details, and exact instructions, as apparently I don't know what I'm doing.
OK- I just right clicked-properties, and found out it points to libglib1-2.so.0.0.10. Now questions arise: 1. If I change it, what happens when something needs the old link? 2. How do I change it? 3. Does libglib.so* mean ALL such files (* being a wild card?)? 4. What is my new glib? glib-2.0? 5. Aren't there appropriate paths I can add to /etc/ld.so.conf, or is changing the symlink supposed to do the same thing? 6. Aren't all these libraries in the gcc folder? As you can see, I really don't know what to do. BTW, I added the following 4 paths to my /etc/ld.so.conf, as recommended by somebody else in the forums. Was that unwise? /usr/lib/pkgconfig /usr/lib/glib /usr/lib/glib-2.0 /usr/local/lib Or should I add the path /usr/lib/libglib.so* to the /etc/ld.so.conf, and run ldconf as root? |
Do you mean I should put the /usr/lib/glib-2.0 line ahead of the /usr/lib/glib line, and then it will find version 2.0 first? It can't be that simple, or can it?
|
I think that symlink is better idea. By libglib.so* I mean one file, something like libglib-1.2.so.0.0.10 There's a symlink created pointing it to libglib.so. Change the symlink to point to your new libglib.
|
So I don't need the old libglib? If I change the symlink won't that disable the old glib?
I still don't know what the "new libglib" is, or what you mean by "something like" libglib-1.2.so.0.0.10". Do I create the symlink by drag/drop, or must I use a command line? Your statement "There's a symlink created pointing it to libglib.so." confuses me. I thought libglib.so WAS a symlink. I'm totally confused as to what you mean. I'm sure it's very simple, but I need a list in detail of what to do (like 1.,2.,3.,4.etc), and exactly how to do it.Only question 3. (libglib.so* being one file) from my previous post is answered, and I'm completely unclear as to the answers to my other questions. wrc1944 |
Quote:
Quote:
In mc: * Find libglib.co (the symlink) * F9, File -> Modify symlink (may be different, I'm translating from Polish into English) * Change the filename of in the dialog you'll see * Done What to change the filename to? New libglib. In my system it's /usr/local/lib/libglib-1.2.so.0.0.10 (compiled from source). Find out the correct name in your system. Quote:
Quote:
Quote:
Hope this helps. |
Mara,
Thanks for the info. I'll have to digest it. I tried putting the glib-2.0 line before the glib line in /etc/ld.so.conf, and trying a gnome 2.0 package compile after rebooting. Same error (see my ./config output below). Also, in the config log of that attempt, it refers to the 2.96 compiler. Doesn't gnome 2.0 require 3.04? I have 3.0.4 also, so maybe I should use it for the compile? How would I go about making that happen? I assume there is a file in the untarred file directory that directs ./configure to a specific (or default compiler) Or, am I totally off-base with that theory? Thanks again, wrc1944 ------------------------------------------------------------------------ [wrc1944@localhost atk-1.0.2]$ su Password: [root@localhost atk-1.0.2]# ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking for gcc... gcc checking for C compiler default output... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for ld used by GCC... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking how to recognise dependant libraries... pass_all checking command to parse /usr/bin/nm -B output... ok checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for ranlib... ranlib checking for strip... strip checking for objdir... .libs checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.lo... yes checking if gcc supports -fno-rtti -fno-exceptions... yes checking whether the linker (/usr/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking dynamic linker characteristics... GNU/Linux ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking whether -lc should be explicitly linked in... no creating libtool checking for Win32... no checking for aclocal flags... checking for pkg-config... /usr/bin/pkg-config checking for GLIB - version >= 2.0.0... no *** Could not run GLIB test program, checking why... *** The test program failed to compile or link. See the file config.log for the *** exact error that occured. This usually means GLIB is incorrectly installed. configure: error: *** GLIB 2.0.0 or better is required. The latest version of *** GLIB is always available from ftp://ftp.gtk.org/. [root@localhost atk-1.0.2]# |
No, it haven't found the new glibc... ry the method with symlink.
Compiler version does not matter there. The only thing is that 2.96 has some bugs and I had to upgrade it to compile KDE, but this won't cause an error during 'configure' stage. |
All times are GMT -5. The time now is 05:44 AM. |