On Tue Feb 28 19:43:16 2012, JWRIGHT wrote:
Show quoted text
Hi. Are you a maintainer author of that pkg-config?
To be honest I did not know of the existence of that pkg-config, and it seems to work OK (aside
from a few warnings after fetching OpenBSD/PkgConfig.pm
From what I've observed it seems to be lacking in the link order (very important); thus e.g.:
mordy@debmed:~/src/PkgConfig$ ./obsdpc.pl --libs --static --cflags gio-2.0
Use of uninitialized value $machine_arch in string eq at ./obsdpc.pl line 114.
Use of uninitialized value $machine_arch in string eq at ./obsdpc.pl line 114.
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -L/usr/lib -pthread -lgmodule-2.0 -
ldl -lgthread-2.0 -lrt -lgobject-2.0 -lglib-2.0 -lgio-2.0 -lz -lresolv
mordy@debmed:~/src/PkgConfig$ pkg-config --libs --cflags --static gio-2.0
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -lgio-2.0 -lz -lresolv -
lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lglib-2.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -lgio-2.0 -lgobject-2.0 -lgmodule-
2.0 -lgthread-2.0 -pthread -lrt -lglib-2.0
In this case, glib is a dependency of gio and not the other way around, so it must be listed
*after* gio on the linker path, otherwise linker errors will occur.
Also, -L/usr/lib is a bad thing. I know gcc ignores -I<default_path>, but I'm not sure about GNU
ld, and how it performs for other platforms.