glib.h not found yet present

Bug #1510299 reported by Justin Zobel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Grub Customizer
New
Undecided
Unassigned

Bug Description

ls /usr/include/glib-2.0/
gio glib glib.h glib-object.h glib-unix.h gmodule.h gobject

glib.h present yet not detected by make:

make -j5
Scanning dependencies of target grubcfg-proxy
Scanning dependencies of target grub-customizer
[ 1%] [ 2%] [ 3%] [ 4%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/Entry.cpp.o
Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/Proxy.cpp.o
Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/Rule.cpp.o
Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/Script.cpp.o
[ 5%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/Entry.cpp.o
[ 6%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/main/proxy.cpp.o
[ 8%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/lib/md5.cpp.o
[ 9%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/ListCfg.cpp.o
[ 10%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/lib/str_replace.cpp.o
[ 11%] [ 12%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/ListCfg.cpp.o
Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/Env.cpp.o
[ 13%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/SettingsStore.cpp.o
[ 14%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/MountTable.cpp.o
[ 16%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/Proxylist.cpp.o
[ 17%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/Repository.cpp.o
[ 18%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/PscriptnameTranslator.cpp.o
[ 19%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/ProxyScriptData.cpp.o
[ 20%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/EntryPathBuilderImpl.cpp.o
[ 21%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/lib/Exception.cpp.o
[ 22%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/lib/assert.cpp.o
[ 24%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/lib/ArrayStructure.cpp.o
[ 25%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/lib/trim.cpp.o
[ 26%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/Model/ScriptSourceMap.cpp.o
[ 27%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/lib/csv.cpp.o
[ 28%] Building CXX object CMakeFiles/grubcfg-proxy.dir/src/lib/FileSystem.cpp.o
[ 29%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/ProxyScriptData.cpp.o
[ 31%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/MountTable.cpp.o
[ 32%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/Proxy.cpp.o
[ 33%] [ 34%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/PscriptnameTranslator.cpp.o
Building CXX object CMakeFiles/grub-customizer.dir/src/Model/Proxylist.cpp.o
Linking CXX executable grubcfg-proxy
[ 35%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/Repository.cpp.o
[ 35%] Built target grubcfg-proxy
[ 36%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/Rule.cpp.o
[ 37%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/Script.cpp.o
[ 39%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/DeviceDataList.cpp.o
[ 40%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/Env.cpp.o
[ 41%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/SettingsManagerData.cpp.o
[ 42%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/SettingsStore.cpp.o
/var/ypkg-root/build/grub-customizer/grub-customizer-4.0.6/src/Model/SettingsManagerData.cpp: In static member function ‘static std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > Model_SettingsManagerData::parsePf2(const string&)’:
/var/ypkg-root/build/grub-customizer/grub-customizer-4.0.6/src/Model/SettingsManagerData.cpp:41:27: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
    fgets(sizeBuf, 5, file);
                           ^
/var/ypkg-root/build/grub-customizer/grub-customizer-4.0.6/src/Model/SettingsManagerData.cpp:46:37: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
    fgets(contentBuf, size + 1, file);
                                     ^
[ 43%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/FbResolutionsGetter.cpp.o
[ 44%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/Installer.cpp.o
[ 45%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/EntryPathBuilderImpl.cpp.o
[ 47%] Building CXX object CMakeFiles/grub-customizer.dir/src/Model/DeviceMap.cpp.o
In file included from /var/ypkg-root/build/grub-customizer/grub-customizer-4.0.6/src/Model/DeviceMap.h:23:0,
                 from /var/ypkg-root/build/grub-customizer/grub-customizer-4.0.6/src/Model/DeviceMap.cpp:19:
/var/ypkg-root/build/grub-customizer/grub-customizer-4.0.6/src/Model/../lib/regex.h:24:18: fatal error: glib.h: No such file or directory
compilation terminated.
CMakeFiles/grub-customizer.dir/build.make:445: recipe for target 'CMakeFiles/grub-customizer.dir/src/Model/DeviceMap.cpp.o' failed
make[2]: *** [CMakeFiles/grub-customizer.dir/src/Model/DeviceMap.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/grub-customizer.dir/all' failed
make[1]: *** [CMakeFiles/grub-customizer.dir/all] Error 2
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2

Revision history for this message
Daniel Richter (danielrichter2007) wrote :

What's the output of:
 * pkg-config --cflags gtkmm-3.0
 * pkg-config --cflags glib-2.0

Revision history for this message
Justin Zobel (justin-zobel) wrote :

pkg-config --cflags gtkmm-3.0
-pthread -I/usr/include/gtkmm-3.0 -I/usr/lib/gtkmm-3.0/include -I/usr/include/atkmm-1.6 -I/usr/include/gtk-3.0/unix-print -I/usr/include/gdkmm-3.0 -I/usr/lib/gdkmm-3.0/include -I/usr/include/giomm-2.4 -I/usr/lib/giomm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/lib/pangomm-1.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/cairomm-1.0 -I/usr/lib/cairomm-1.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng12 -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng15 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include

pkg-config --cflags glib-2.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include

Revision history for this message
Daniel Richter (danielrichter2007) wrote :

The output of make is a little confusing cause of the multitasking option. I'd like to see it without.

Please delete the temporary files and then do again:
cmake
make

Copy all the outputs.

Also I'd like to know what's the distribution you are using.

Revision history for this message
Daniel Richter (danielrichter2007) wrote :

cmake with directory reference of cause (like cmake .)

Revision history for this message
Justin Zobel (justin-zobel) wrote :
Download full text (26.9 KiB)

This is all on Solus Operating System (https://solus-project.com/)

Trying to package up grub-customizer for inclusion into our repository.

Build commands:
setup : |
    mkdir build
    cd build
    %cmake -DCMAKE_INSTALL_PREFIX=/usr ..
build : |
    cd build
    make -j1
install : |
    cd build
    %make_install

%cmake expands to:
cmake -DCMAKE_INSTALL_PREFIX=/usr '-DCMAKE_C_FLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -fomit-frame-pointer -fstack-protector-strong --param ssp-buffer-size=4 -fexceptions -D_FORTIFY_SOURCE=2 -feliminate-unused-debug-types -Wno-error' '-DCMAKE_CXX_FLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -fomit-frame-pointer -fstack-protector-strong --param ssp-buffer-size=4 -fexceptions -D_FORTIFY_SOURCE=2 -feliminate-unused-debug-types -Wno-error' '-DCMAKE_LD_FLAGS=-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now'

Full build log:
Running setup...
+ export TERM=dumb
+ TERM=dumb
+ cd /var/ypkg-root/build/grub-customizer/grub-customizer-4.0.6
+ export 'CFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -fomit-frame-pointer -fstack-protector-strong --param ssp-buffer-size=4 -fexceptions -D_FORTIFY_SOURCE=2 -feliminate-unused-debug-types -Wno-error'
+ CFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -fomit-frame-pointer -fstack-protector-strong --param ssp-buffer-size=4 -fexceptions -D_FORTIFY_SOURCE=2 -feliminate-unused-debug-types -Wno-error'
+ export 'CXXFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -fomit-frame-pointer -fstack-protector-strong --param ssp-buffer-size=4 -fexceptions -D_FORTIFY_SOURCE=2 -feliminate-unused-debug-types -Wno-error'
+ CXXFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -fomit-frame-pointer -fstack-protector-strong --param ssp-buffer-size=4 -fexceptions -D_FORTIFY_SOURCE=2 -feliminate-unused-debug-types -Wno-error'
+ export 'LDFLAGS=-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now'
+ LDFLAGS='-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now'
+ export CC=x86_64-solus-linux-gcc
+ CC=x86_64-solus-linux-gcc
+ export CXX=x86_64-solus-linux-g++
+ CXX=x86_64-solus-linux-g++
+ export PATH=/usr/bin:/bin
+ PATH=/usr/bin:/bin
+ export srcdir=/var/ypkg-root/build/grub-customizer/grub-customizer-4.0.6
+ srcdir=/var/ypkg-root/build/grub-customizer/grub-customizer-4.0.6
+ export installdir=/var/ypkg-root/install/grub-customizer
+ installdir=/var/ypkg-root/install/grub-customizer
+ export package=grub-customizer
+ package=grub-customizer
+ export release=1
+ release=1
+ export version=4.0.6
+ version=4.0.6
+ export sources=/var/cache/eopkg/archives
+ sources=/var/cache/eopkg/archives
+ export LD_AS_NEEDED=1
+ LD_AS_NEEDED=1
+ export CCACHE_DIR=/root/.ccache
+ CCACHE_DIR=/root/.ccache
+ mkdir build
+ cd build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr '-DCMAKE_C_FLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -fomit-frame-pointer -fstack-protector-strong --param ssp-buffer-size=4 -fexceptions -D_FORTIFY_SOURCE=2 -feliminate-unu...

Revision history for this message
Daniel Richter (danielrichter2007) wrote :

Hmm… ok. Now there's another error message coming from the linker.

I think there's a general problem compiling gtkmm applications on your system.

Let's do a simple test.
Replace the contents of the following files:

CMakeLists.txt
######################################
project(GrubCustomizer)
cmake_minimum_required(VERSION 2.6.2) # may be lower

find_package(PkgConfig)

pkg_check_modules(GTKMM gtkmm-3.0)
pkg_check_modules(GTHREAD gthread-2.0)
pkg_check_modules(OPENSSL openssl)
pkg_check_modules(LIBARCHIVE libarchive)

link_directories(
    ${GTKMM_LIBRARY_DIRS} ${OPENSSL_LIBRARY_DIRS} ${LIBARCHIVE_LIBRARY_DIRS} )

include_directories(
    ${GTKMM_INCLUDE_DIRS} )

add_executable(gtk-testapp
 src/main/gtk-client.cpp
)

target_link_libraries(gtk-testapp
    ${GTKMM_LIBRARIES} ${GTHREAD_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBARCHIVE_LIBRARIES})
######################################

src/main/gtk-client.cpp
######################################
#include <gtkmm.h>

int main(int argc, char** argv)
{
 Gtk::Main app(argc, argv);

 Gtk::Window win;

 win.set_title("Testapp");
 win.set_default_size(400, 300);

 Gtk::Label lbl(Glib::ustring("Testapp"));

 win.add(lbl);
 win.show_all();

 app.run(win);
}
######################################

Then compile it.

Revision history for this message
Justin Zobel (justin-zobel) wrote :

Resolved, thanks Daniel! :)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.