Find the answer to your Linux question:
Results 1 to 1 of 1
I've been installing a seemingly endless list of tools and libraries since deciding to update the GTK+ libraries that I'm using on a Red Hat machine. Seems like everytime I ...
  1. #1
    Just Joined!
    Join Date
    May 2011
    Posts
    1

    Question gtk+ configure error: glib-compile-schemas not found

    I've been installing a seemingly endless list of tools and libraries since deciding to update the GTK+ libraries that I'm using on a Red Hat machine. Seems like everytime I think I've got just one more package to install to meet GTK's prerequisites, I discover that there are 3 things that that package needs.

    Anyway, it was looking like I finally had everything ready to go to get the configure command to work to get GTK+ ready to build, but then I ran into a roadblock that's got me stumped.

    A little background info:
    uname -a: Linux <machine_name> 2.6.9-89.35.1.ELsmp #1 SMP Tue Jan 4 22:29:01 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
    cat /etc/redhat-release: Red Hat Enterprise Linux AS release 4 (Nahant Update 8 )

    I don't have root access, so I'm building all these packages in my home directory, and setting my PATH, LD_LIBRARY_PATH, CPPFLAGS, LDFLAGS, and PKG_CONFIG_PATH to make each successive package build using the previously installed packages.

    What I've built:
    pkg-config-0.26
    zlib-1.2.5
    gettext-0.18.1.1
    valgrind-3.6.1
    pixman-0.22.0
    cairo-1.10.2
    gdk-pixbuf-2.22.1
    pango-1.28.4
    atk-2.0.0
    glib-2.28.7

    I'm attempting to build gtk+-3.0.10.

    I unpacked the gtk+ files into my home directory at /home/rpuri/gtk/gtk+-3.0.10.
    From within that directory, I run the command:
    ./configure --prefix=/home/rpuri/gtk/gtk+-3.0.10

    The error I'm getting is:
    configure: error: glib-compile-schemas not found.

    The glib package seemed to build without a hitch, and what I did since I can't run the "make install" without root access (and what I've done for all the packages that I've built) is copy all the headers into <package_root>/include, all the libraries into /lib, all the .pc files into /pkgconfig, and all the executables into /bin. I then add those paths to my CPPFLAGS, LD_LIBRARY_PATH, LDFLAGS, PKG_CONFIG_PATH, and PATH variables.

    I've verified that the glib-compile-schemas executable is accessible before I run the configure command, and if I enter "which glib-compile-schemas", it outputs "~/glib/glib-2.28.7/bin/glib-compile-schemas".

    I've searched all over for a solution, but can't get anything that works. I tried adding a XDG_DATA_DIRS variable, set to /home/rpuri/glib/glib-2.28.7/schemas. The only thing in that directory is "gschemas.compiled", which was created by running glib-compile-schemas on the only *.gschema.xml file that I could find that doesn't produce errors, which was in with the GTK+ files,
    /home/rpuri/gtk/gtk+-3.0.10/gtk/org.gtk.Settings.FileChooser.gschema.xml. All the other gschema.xml files that I've got were in with the GLIB files, in a schema-tests subdirectory, and they all produce errors so are ignored by glib-compile-schemas.

    So I really don't know how to get the GTK+ configure command to find glib-compile-schemas. I feel like there's got to be some variable that the configure command is looking for that I could point to the executable location. Anyone know what to do?

    Thanks for any help!

    EDIT: I'm attaching the config.log files from the GLIB configure command and the failing GTK+ configure command.

    The files are too big to attach, so here are some links.

    Jeeze... guess I can't post a link until I have 15 posts. Okay, well if you enter tinyurl(dot)com, followed by a slash, followed by a gtk-config-log or a glib-config-log, you can see the files.

    EDIT:
    Figured it out!!

    When the command,
    pkg-config --variable glib_compile_schemas gio-2.0
    is run, it produces an empty string, rather than the path to the glib_compile_schemas executable as it should. I can't figure out why, because gio-2.0.pc has it defined correctly, and seems to be syntactically correct when compared to glib-2.0.pc. But when "pkg-config --print-variables gio-2.0" is run, it produces this error:
    GLib-CRITICAL **: g_hash_table_foreach: assertion `hash_table != NULL' failed
    whereas "pkg-config --print-variables glib-2.0" works fine and prints out the three variables defined in glib-2.0.pc.

    So to get around this issue, I edited the gtk+-3.0.10/configure to hard code GLIB_COMPILE_SCHEMAS to the glib_compile_schemas path, rather than using pkg-config to get it. After that, configure completes fine. Now to build...
    Last edited by Brent212; 05-27-2011 at 07:18 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...