configure doesn't find installed packages

Help
2012-05-09
2012-08-26
  • Dominique Michel

    On my newly installed hentoo system, roccat-tools fail with

    cmake -DCMAKE_INSTALL_PREFIX="/usr" -DDEVICES="koneplus" ..
    -- The C compiler identification is GNU 4.5.3
    -- Check for working C compiler: /usr/bin/gcc
    -- Check for working C compiler: /usr/bin/gcc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") 
    -- Building for target x86_64-pc-linux-gnu
    -- Installing libraries in lib64
    -- Compiler supports attribute pack
    CMake Error at cmake_modules/FindGTK.cmake:39 (MESSAGE):
      Could not find GTK
    Call Stack (most recent call first):
      CMakeLists.txt:27 (FIND_PACKAGE)
    

    Into CMakeCache.txt:

    //Path to a file.
    CAIRO_INCLUDE_DIRS:PATH=CAIRO_INCLUDE_DIRS-NOTFOUND
    
    //Path to a library.
    CAIRO_LIBRARIES:FILEPATH=/usr/lib64/libcairo.so
    ...
    //Path to a file.
    GDK_GDKCONFIG_INCLUDE_DIRS:PATH=GDK_GDKCONFIG_INCLUDE_DIRS-NOTFOUND
    
    //Path to a file.
    GDK_GDK_INCLUDE_DIRS:PATH=GDK_GDK_INCLUDE_DIRS-NOTFOUND
    
    //Path to a library.
    GDK_GDK_LIBRARIES:FILEPATH=/usr/lib64/libgdk-x11-2.0.so
    
    //Path to a file.
    GDK_PIXBUF2_INCLUDE_DIRS:PATH=GDK_PIXBUF2_INCLUDE_DIRS-NOTFOUND
    
    //Path to a library.
    GDK_PIXBUF2_LIBRARIES:FILEPATH=/usr/lib64/libgdk_pixbuf-2.0.so
    
    //Path to a file.
    GLIB2_GLIB2CONFIG_INCLUDE_DIRS:PATH=GLIB2_GLIB2CONFIG_INCLUDE_DIRS-NOTFOUND
    
    //Path to a file.
    GLIB2_GLIB2_INCLUDE_DIRS:PATH=GLIB2_GLIB2_INCLUDE_DIRS-NOTFOUND
    
    //Path to a library.
    GLIB2_GLIB2_LIBRARIES:FILEPATH=/usr/lib64/libglib-2.0.so
    
    //Path to a file.
    GOBJECT2_INCLUDE_DIRS:PATH=GOBJECT2_INCLUDE_DIRS-NOTFOUND
    
    //Path to a library.
    GOBJECT2_LIBRARIES:FILEPATH=/usr/lib64/libgobject-2.0.so
    
    //Path to a file.
    GTK2_INCLUDE_DIRS:PATH=GTK2_INCLUDE_DIRS-NOTFOUND
    
    //Path to a library.
    GTK2_LIBRARIES:FILEPATH=/usr/lib64/libgtk-x11-2.0.so
    
    //Single output directory for building all libraries.
    LIBRARY_OUTPUT_PATH:PATH=
    
    //Path to a file.
    PANGO_INCLUDE_DIRS:PATH=PANGO_INCLUDE_DIRS-NOTFOUND
    
    //Path to a library.
    PANGO_LIBRARIES:FILEPATH=/usr/lib64/libpango-1.0.so
    

    cat /usr/lib64/pkgconfig/cairo.pc

    prefix=/usr
    exec_prefix=${prefix}
    libdir=/usr/lib64
    includedir=${prefix}/include
    
    Name: cairo
    Description: Multi-platform 2D graphics library
    Version: 1.10.2
    
    Requires.private:    gobject-2.0 glib-2.0     pixman-1 >= 0.18.4    fontconfig >= 2.2.95 freetype2 >= 9.7.3   egl gl libpng xcb-shm xcb >= 1.1.92 xcb-render >= 0.9.92 xrender >= 0.6 x11 
    Libs: -L${libdir} -lcairo
    Libs.private:           -lz -lz   -lGL        
    Cflags: -I${includedir}/cairo
    

    cat /usr/lib64/pkgconfig/gdk-x11-2.0.pc

    prefix=/usr
    exec_prefix=${prefix}
    libdir=/usr/lib64
    includedir=${prefix}/include
    target=x11
    
    Name: GDK
    Description: GTK+ Drawing Kit (${target} target)
    Version: 2.24.10
    Requires: pango pangocairo gdk-pixbuf-2.0
    Libs: -L${libdir} -lgdk-${target}-2.0 
    Cflags: -I${includedir}/gtk-2.0 -I${libdir}/gtk-2.0/include
    

    cat /usr/lib64/pkgconfig/gdk-pixbuf-2.0.pc

    prefix=/usr
    exec_prefix=${prefix}
    libdir=/usr/lib64
    includedir=${prefix}/include
    
    gdk_pixbuf_binary_version=2.10.0
    gdk_pixbuf_binarydir=/usr/lib64/gdk-pixbuf-2.0/2.10.0
    gdk_pixbuf_moduledir=${gdk_pixbuf_binarydir}/loaders
    gdk_pixbuf_cache_file=${gdk_pixbuf_binarydir}/loaders.cache
    
    Name: GdkPixbuf
    Description: Image loading and scaling
    Version: 2.26.1
    Requires: gobject-2.0
    Requires.private: gmodule-no-export-2.0 libpng
    Libs: -L${libdir} -lgdk_pixbuf-2.0
    Libs.private:  -lm 
    Cflags: -I${includedir}/gdk-pixbuf-2.0
    

    cat /usr/lib64/pkgconfig/gobject-2.0.pc

    prefix=/usr
    exec_prefix=${prefix}
    libdir=/usr/lib64
    includedir=${prefix}/include
    
    Name: GObject
    Description: GLib Type, Object, Parameter and Signal Library
    Requires: glib-2.0
    Version: 2.32.2
    Libs: -L${libdir} -lgobject-2.0
    Libs.private: -lffi  
    Cflags:
    

    and so on

     
  • Stefan Achatz

    Stefan Achatz - 2012-05-10

    As I don't have the time and diskspace to install a gentoo system, could you
    please check for me if the headers are where they should be:

    ls /usr/include/gtk-2.0/gtk/gtk.h

    Does this print the path as result?

    Next you could show me the output of pkg-config to see if it's doing its job:

    pkg-config --libs --cflags gtk+-2.0

    Thanks in advance

    Stefan

     
  • Dominique Michel

    Sorry for the delay, but as you moved my message, I didn't get any email about
    your answer.

    Here is what I get:

    ls /usr/include/gtk-2.0/gtk/gtk.h

    /usr/include/gtk-2.0/gtk/gtk.h

    pkg-config --libs --cflags gtk+-2.0

    -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/libdrm -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0

     
  • Dominique Michel

    And it is other cflags than portage add for every package, but I don't think
    they can cause the issue:

    # cat /etc/make.conf|grep CFLAGS

    CFLAGS="-march=amdfam10 -O2 -pipe"

    CXXFLAGS="${CFLAGS}"

     
  • Stefan Achatz

    Stefan Achatz - 2012-05-25

    I found that cmake 2.8.8 shows this behaviour. Because of time limitations it
    might take me some days to find a solution though.

    PS: I haven't moved anything, but it seems that monitoring fails sometimes.

     
  • Dominique Michel

    Nice, you find a clue.

    The mouse work out of the box with the kernel driver. I can even change the
    resolution. So, this is not urgent for me.

    I begun a new ebuild for the last version of the roccat-tools. I will update
    it on the gentoo bugzilla after you find a fix for this issue. Also, I am on
    ~arch, something like debian testing, The gentoo users on arch (something like
    debian stable) are using cmake-2.8.6. On gentoo, it is possible to mix the
    archs by using an arch base system and ~arch for only some softwares. (It is
    even possible to make-use live ebuilds with noarch for use with cvs code, or
    svn, git, ...)

    So, it would be best if your fix will work with both versions of cmake.

     
  • Stefan Achatz

    Stefan Achatz - 2012-05-26

    Fixed in just released roccat-tools-0.12.2

    A bug in cmake let me find out that half of my fallbacks were useless.

    http://www.cmake.org/Bug/print_bug_page.php?bug_id=13125

     
  • Dominique Michel

    I get another error now:

    -- checking for module 'unique-1.0'
    --   package 'unique-1.0' not found
    CMake Error at cmake_modules/FindUNIQUE.cmake:28 (MESSAGE):
      Could not find UNIQUE
    Call Stack (most recent call first):
      CMakeLists.txt:30 (FIND_PACKAGE)
    

    It is libunique-3.0.2 that is installed. The package config file is
    /usr/lib64/pkgconfig/unique-3.0.pc

    # pkg-config --libs --cflags unique-3.0
    -pthread -I/usr/include/unique-3.0 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng15 -I/usr/include/libdrm  -lunique-3.0 -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0
    
     
  • Dominique Michel

    In cmake_modules/FindUNIQUE.cmake, it work after changing all the occurances
    of unique-1.0 to unique-3.0.

    This is something I can fix into the ebuild, but in the long run it will be
    better if it is fixed into roccat-tools.

     
  • Dominique Michel

    It is another and minnor issue. When installing roccat-tools with portage, a
    get the following message:

     * QA Notice: udev rules should be installed in /lib/udev/rules.d:
     * 
     *   etc/udev/rules.d/90-roccat-koneplus.rules
     *
    

    The QA notices are messages issued by portage when things are working, but not
    conforming to some general gnu/linux guidelines.

    In that case, to install the rules into /lib/udev/rules.d is better because
    they will simply be overwritten in case of update, and custom rules into
    /etc/udev/rules.d/ will not be overwritten.

     
  • Dominique Michel

    After relogin, roccatgui crash:

    (roccatgui:20212): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
    

    When running it in gdb, I get:

    LC_ALL=en_US gdb /usr/bin/roccatgui
    ...
    /usr/bin/roccatgui: Permission denied.
    

    The permission for roccatgui, konepluscontrol and koneplusupdate are root root
    0711. After changing them to 0755, gdv is abble to load roccatgui:

    LC_ALL=en_US gdb /usr/bin/roccatgui
    GNU gdb (Gentoo 7.4.1 p1) 7.4.1
    Copyright (C) 2012 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <[url]http://gnu.org/licenses/gpl.html[/url]>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "x86_64-pc-linux-gnu".
    For bug reporting instructions, please see:
    <[url]http://bugs.gentoo.org/[/url]>...
    Reading symbols from /usr/bin/roccatgui...Reading symbols from /usr/lib64/debug/usr/bin/roccatgui.debug...done.
    done.
    (gdb) run
    Starting program: /usr/bin/roccatgui 
    warning: Could not load shared library symbols for linux-vdso.so.1.
    Do you need "set solib-search-path" or "set sysroot"?
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib64/libthread_db.so.1".
    
    (roccatgui:27272): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
    
    Program received signal SIGTRAP, Trace/breakpoint trap.
    0x00007ffff76b8aad in g_logv () from /usr/lib64/libglib-2.0.so.0
    (gdb)  bt
    #0  0x00007ffff76b8aad in g_logv () from /usr/lib64/libglib-2.0.so.0
    #1  0x00007ffff76b8c63 in g_log () from /usr/lib64/libglib-2.0.so.0
    #2  0x00007ffff6f019fd in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
    #3  0x00007ffff76bc8e8 in g_option_context_parse () from /usr/lib64/libglib-2.0.so.0
    #4  0x00007ffff6f01c50 in gtk_parse_args () from /usr/lib64/libgtk-x11-2.0.so.0
    #5  0x00007ffff6f01ca9 in gtk_init_check () from /usr/lib64/libgtk-x11-2.0.so.0
    #6  0x00007ffff6f01ce9 in gtk_init () from /usr/lib64/libgtk-x11-2.0.so.0
    #7  0x0000000000402a71 in main (argc=1, argv=0x7fffffffbe28)
        at /var/tmp/portage/sys-apps/roccat-tools-0.12.2/work/roccat-tools-0.12.2/roccatgui/roccatgui.c:115
    (gdb)  thread apply all bt full
    
    Thread 1 (Thread 0x7ffff7fa38c0 (LWP 27272)):
    #0  0x00007ffff76b8aad in g_logv () from /usr/lib64/libglib-2.0.so.0
    No symbol table info available.
    #1  0x00007ffff76b8c63 in g_log () from /usr/lib64/libglib-2.0.so.0
    No symbol table info available.
    #2  0x00007ffff6f019fd in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
    No symbol table info available.
    #3  0x00007ffff76bc8e8 in g_option_context_parse () from /usr/lib64/libglib-2.0.so.0
    No symbol table info available.
    #4  0x00007ffff6f01c50 in gtk_parse_args () from /usr/lib64/libgtk-x11-2.0.so.0
    No symbol table info available.
    #5  0x00007ffff6f01ca9 in gtk_init_check () from /usr/lib64/libgtk-x11-2.0.so.0
    No symbol table info available.
    #6  0x00007ffff6f01ce9 in gtk_init () from /usr/lib64/libgtk-x11-2.0.so.0
    No symbol table info available.
    #7  0x0000000000402a71 in main (argc=1, argv=0x7fffffffbe28)
        at /var/tmp/portage/sys-apps/roccat-tools-0.12.2/work/roccat-tools-0.12.2/roccatgui/roccatgui.c:115
            context = 0x0
            retval = 0
    
     
  • Dominique Michel

    I am not sure about the crash, because a google search show me that it is a
    lot of peoples sufring of this GTK2-GTK* issue, and also because i am in the
    middle of a system update. I will confirm or infirm it later.

     
  • Stefan Achatz

    Stefan Achatz - 2012-05-28
    1. Moving the udev rules to lib will be implemented in next release. Thanks for pointing this out.

    2. libunique and gtk+-2.0 and 3.0 mixup error: Libunique is deprecated and will be replaced with switching to gtk+-3.0. libunique-3.0 seems to be just a compatibility fixup for old application for compilation with gtk+-3.0. My problem: Being compatible with gtk+-2.0 is mandatory for me and switching to 3.0 is not easily done. There will be a cmake configuration option for choosing gtk version, but that will take a lot of time.

     
  • Dominique Michel

    libunique3 is slotted, so I can make roccat-tools depend on the old version.
    And it work just fine now.

    I updated the gentoo bugzilla with my current ebuild: https://bugs.gentoo.org
    /show_bug.cgi?id=395171

     


Anonymous

Cancel  Add attachments