Important: Please read the Qt Code of Conduct -

[solved] Glib libgpod mac os x Compile error

  • I am trying to include libgpod in my application so I can communicate with Ipods. I have compiled and installed libgpod-0.8.0 , then I got error that it requires Glib.

    I installed Glib using brew install glib. However now when I try and compile it throws up error:

    /usr/local/Cellar/glib/2.38.2/include/glib-2.0/glib/gtypes.h:34: error: 'glibconfig.h' file not found
    #include <glibconfig.h>

    Only thing I could find was that i need to include pkg-config --cflags glib-2.0 when compiling . Not sure how to do this though or if that is the problem?

    In my pro file I have added :

    @INCLUDEPATH += /usr/local/include/gpod-1.0/gpod
    INCLUDEPATH += pkg-config --cflags glib-2.0
    INCLUDEPATH += /usr/local/Cellar/glib/2.38.2/include/glib-2.0

    LIBS += /usr/local/Cellar/glib/2.38.2/lib/libglib-2.0.dylib
    LIBS += pkg-config --libs glib-2.0

    my code in mainwindow is :

    @Itdb_iTunesDB *db;@

    I am running mac os x 10.9.1 and Qt Creator 2.8.1
    Based on Qt 5.1.1 (Clang 3.1, 64 bit)

    I have also tried comiling glib from source without homebrew , but same issue. It has been 3 days now I have been searching for a solution and cannot find anything on it.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    You're not using pkg-config correctly with qmake
    Try this
    CONFIG += link_pkgconfig
    PKGCONFIG += glib-2.0

    Just to be sure, do you have pkg-config installed ?

  • Just tried adding the above into my .pro file and now get the follwing error:

    :-1: error: Package glib-2.0 not found

    Yes pkg-config is already installed using hombrew.

  • Lifetime Qt Champion

    then run

    @pkg-config --list-all | grep glib@

    To see whether it knows about any glib installed

  • from terminal I have ran pkg-config --listall which has glib-2.0 , so seems like qt is not seeing pkg-config?

  • Output of pkg-config --list-all | grep glib:

    gio-unix-2.0 GIO unix specific APIs - unix specific headers for glib I/O library
    taglib_c TagLib C Bindings - Audio meta-data library (C bindings)
    gio-2.0 GIO - glib I/O library
    glib-2.0 GLib - C Utility Library
    taglib TagLib - Audio meta-data library

  • Lifetime Qt Champion

    So it's likely a path problem. What you can do is close Qt Creator, and call


    from the command line, that should start Qt Creator with the additional paths setup you might have for your command line. If it doesn't work, remove the file after having closed Qt Creator, and call open again

  • Still the same issue. It cannot even parse the .pro file now. Below is my .pro file:

    @QT += core gui

    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

    TARGET = tesrre
    TEMPLATE = app

    SOURCES += main.cpp

    HEADERS += mainwindow.h

    FORMS += mainwindow.ui

    CONFIG += link_pkgconfig
    PKGCONFIG += glib-2.0

    INCLUDEPATH += /usr/local/include/gpod-1.0/gpod
    INCLUDEPATH += /usr/local/Cellar/glib/2.38.2/include/glib-2.0

    LIBS += /usr/local/Cellar/glib/2.38.2/lib/libglib-2.0.dylib
    LIBS +=/usr/local/lib/libgpod.4.dylib@

    Tired adding PKG_CONFIG_PATH+=/usr/local/Cellar/pkg-config/0.28/bin
    into qmake additional arguments, and also added a new variable under system environment but did not change anything.

  • Lifetime Qt Champion

    What do you mean by "It cannot even parse the pro file" ?
    glib-2.0 should be handled by pkg-config so no need for any other setup.

    @LIBS += -L /usr/local/lib -lgpod@

    Is more likely for gpod

  • I mean that I cannot click the green build and run icon, as it says it cannot parse .pro file.

    gpod was fine before the way i had added it and if i comment out :

    @CONFIG += link_pkgconfig
    PKGCONFIG += glib-2.0@

    then it parses fine. But I have commented out the gpod bit for now just to make sure, and still the same.

    All I have added to the .pro file now is:

    @CONFIG += link_pkgconfig
    PKGCONFIG += glib-2.0@

    If I open in qt creator 3. then it still has the parse issue , but says:

    Project ERROR: Package glib-2.0 not found

  • Lifetime Qt Champion

    Do you have several Qt Creator installed ?

  • Yeah I suppose. I have Qt5.1.1
    Qt5.2.0 folders both in my user folder. Not sure why I have two, Should I try and remove one?

    Qt5.1.1 has Qt creator 2.8

    Qt5.2.0 has Qt creator 3.0.0

  • Lifetime Qt Champion

    Then you have your Qt 5.1.1 Qt Creator starting and this one can't handle 5.2.

    Try calling open with -b /Path/to/Your/5.2/Qt

  • I tried

    open -b /Users/tom/Qt5.2.0/

    And get:

    LSGetApplicationForInfo() failed with error -10814 while trying to determine the application with bundle identifier /Users/tom/Qt5.2.0/

  • Lifetime Qt Champion

    Sorry, my bad, it's -a

  • I have uninstalled all versions of Qt , and reinstalled from the latest 5.2.1

    Created a new application and tried again. Now it is asking me for glib2-development package.

    Cannot find this on homebrew and no where to compile from source. So have just installed Macports and now installed glib2-devel. seems like it just installed the same files that were already present with the homebrew port, with some documentation.

    Still not working and error saying:

    Project ERROR: glib-2.0 development package not found

  • Lifetime Qt Champion

    You might need to add /opt/local/lib/pkgconfig to your PKG_CONFIG_PATH

  • I think the PKG_CONFIG_PATH is fine as it is now seeing glib-2.0 , but is now asking for development package.

    After installing with macports doing pkg config --list-all shows the same as before , so think the development package has not installed.
    Not really sure what I am supposed to see after installing it.
    Do you know a better way of installing?

  • Lifetime Qt Champion

    Do you have something like

    @export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig:$PKG_CONFIG_PATH@

    in your .profile file ?

  • Yeah just added something similar to my .profile . It contains the following:

    export PATH=/usr/local/bin:$PATH
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

    Still the same. Tried launching from terminal again.

    Funny, I have tried on a ubuntu install and it just works. Was amazed at how easy it was.

  • Lifetime Qt Champion

    Did you source the file before testing ? Otherwise the changes won't take effect

  • No , I did not know about that. Just tried but the same.

    Just found the follwing page, which has helped a bit:


    Basically I have added the following to my .pro file:

    @QT_CONFIG -= no-pkg-config@

    So now I have :

    @QT_CONFIG -= no-pkg-config
    CONFIG += link_pkgconfig
    PKGCONFIG += libgpod-1.0 taglib@

    This however will only work if I launch the project from within terminal.
    There are suggestions of fixes for Qt Creator , but none of them seem to work.

  • Lifetime Qt Champion

    I personally always start Qt Creator from the command line to ensure that it will have the environment set by .profile

  • Yeah , I will just live with it like this for now. Thanks for the prompt help SGaist.

    Now to get the libs working in windows. That should be fun.

  • Lifetime Qt Champion

    You might be interested by "this": and "this":

  • Thanks for the above. I done the following:

    sudo nano /etc/launchd.conf

    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

    grep -E "^setenv" /etc/launchd.conf | xargs -t -L 1 launchctl

    Now when I launch Qt creator from dock , it find the libs fine.

    Thanks , again.

  • Lifetime Qt Champion

    You're welcome !

    Glad you succeeded :)

    Since that you have everything working now, please update the thread title prepending [solved] so that other forum users may know solution has been found :)

Log in to reply