After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 752232 - Missing dependency for libgmodule in build file
Missing dependency for libgmodule in build file
Status: RESOLVED OBSOLETE
Product: glib
Classification: Platform
Component: build
2.45.x
Other Linux
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2015-07-10 16:26 UTC by Cor-Paul Bezemer
Modified: 2018-05-24 17:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch for adding missing dependencies (1.50 KB, patch)
2015-07-10 16:26 UTC, Cor-Paul Bezemer
none Details | Review
patch for adding missing dependencies (508 bytes, patch)
2015-08-15 20:09 UTC, Cor-Paul Bezemer
none Details | Review

Description Cor-Paul Bezemer 2015-07-10 16:26:48 UTC
Created attachment 307236 [details] [review]
patch for adding missing dependencies

I am a researcher from the Software Analysis and Intelligence Lab (SAIL) from Queen's University in Kingston, Canada.
Currently, we are working on an approach for finding missing dependencies in build files and we are using glib as a case study.
We have found several bugs which I will submit in the following days, together with a patch for fixing them.

The targets:
glib_compile_resources, gsettings, gdbus, gapplication, gresource
are linking libgmodule-2.0.la but do not compile it. Hence they may be using old versions of libgmodule-2.0.la.


As can be found in the make output for gresource:
/bin/bash ../libtool --tag=CC --mode=link gcc -Wall -Wstrict-prototypes -Werror=declaration-after-statement -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=pointer-arith -Werror=init-self -Werror=format-security -Werror=format=2 -Werror=missing-include-dirs -g -O2 -o gresource gresource-gresource-tool.o libgio-2.0.la ../gobject/libgobject-2.0.la ../glib/libglib-2.0.la
libtool: link: gcc -Wall -Wstrict-prototypes -Werror=declaration-after-statement -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=pointer-arith -Werror=init-self -Werror=format-security -Werror=format=2 -Werror=missing-include-dirs -g -O2 -o .libs/gresource gresource-gresource-tool.o ./.libs/libgio-2.0.so /home/shane/src/glib/repo/gobject/.libs/libgobject-2.0.so /home/shane/src/glib/repo/gmodule/.libs/libgmodule-2.0.so -ldl -lz -lresolv ../gobject/.libs/libgobject-2.0.so /home/shane/src/glib/repo/glib/.libs/libglib-2.0.so -lffi ../glib/.libs/libglib-2.0.so -lpthread -lrt

Similar for the other mentioned targets.

The included patch adds these dependencies for the latest HEAD.
We observed that these dependencies are missing since at least version 2.36.0.
Comment 1 Cor-Paul Bezemer 2015-08-15 20:08:00 UTC
We have studied this further, and it appears that the dependency on libgmodule-2.0.la is missing for the libgio_2_0_la target. I have attached an updated patch for this.
Comment 2 Cor-Paul Bezemer 2015-08-15 20:09:02 UTC
Created attachment 309335 [details] [review]
patch for adding missing dependencies
Comment 3 GNOME Infrastructure Team 2018-05-24 17:56:52 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/glib/issues/1059.