GNOME Bugzilla – Bug 546925
libdir hardcoded in pkg-config files
Last modified: 2008-09-03 19:33:16 UTC
Please describe the problem: This is not a distro specific issue. Banshee will accept and use --libdir passed to configure for installing its libs, yet it hardcodes the path in the pkg-config file. This is inconsistent and needs fixed. Etiher the pkg-config file also follows --libdir or the install path is hardcoded everywhere. Its the inconsistency that causes the problem. My distro (mandriva, though fedora etc also do the same) just chooses to use set --libdir to /usr/lib64 on 64 bit systems. As a result its preventing me building banshee-mirage on my x84_64 system; Making all in Mirage make[1]: Entering directory `/home/nicbrown/rpm/BUILD/mirage-0.3.0/ Mirage' gmcs -noconfig -debug -codepage:utf8 -unsafe -warn:4 -d:DEBUG - out:Mirage.dll -target:library -r:/usr/lib/banshee-1/ Banshee.Widgets.dll -r:/usr/lib/banshee-1/Banshee.ThickClient.dll -r:/ usr/lib/banshee-1/Banshee.Services.dll -r:Mono.Cairo -r:/usr/lib/ banshee-1/Hyena.Gui.dll -r:/usr/lib/banshee-1/Banshee.Core.dll - r:System -r:/usr/lib/banshee-1/Mono.Media.dll -r:/usr/lib64/ pkgconfig/../../lib/mono/gtk-sharp-2.0/glib-sharp.dll -r:System.Data - r:Mono.Data.SqliteClient -r:Mono.Posix -r:/usr/lib/banshee-1/Hyena.dll -r:/usr/lib/banshee-1/MusicBrainz.dll -r:/usr/lib64/pkgconfig/../../ lib/mono/gtk-sharp-2.0/pango-sharp.dll -r:/usr/lib64/pkgconfig/../../ lib/mono/gtk-sharp-2.0/atk-sharp.dll -r:/usr/lib64/pkgconfig/../../lib/ mono/gtk-sharp-2.0/gdk-sharp.dll -r:/usr/lib64/pkgconfig/../../lib/ mono/gtk-sharp-2.0/gtk-sharp.dll -r:/usr/lib/mono/taglib-sharp/taglib- sharp.dll -r:/usr/lib/mono/ndesk-dbus-1.0/NDesk.DBus.dll -r:/usr/lib/ mono/ndesk-dbus-glib-1.0/NDesk.DBus.GLib.dll -r:/usr/lib/mono/mono- addins/Mono.Addins.dll -resource:./res/dct.filter,dct.filter - resource:./res/filterweights.filter,filterweights.filter ./ AudioDecoder.cs ./CovarianceMatrix.cs ./Db.cs ./Dbg.cs ./Matrix.cs ./ Mfcc.cs ./Mir.cs ./Scms.cs ./Vector.cs ./AssemblyInfo.cs error CS0006: cannot find metadata file `/usr/lib/banshee-1/ Banshee.Widgets.dll' error CS0006: cannot find metadata file `/usr/lib/banshee-1/ Banshee.ThickClient.dll' error CS0006: cannot find metadata file `/usr/lib/banshee-1/ Banshee.Services.dll' error CS0006: cannot find metadata file `/usr/lib/banshee-1/ Hyena.Gui.dll' error CS0006: cannot find metadata file `/usr/lib/banshee-1/ Banshee.Core.dll' error CS0006: cannot find metadata file `/usr/lib/banshee-1/ Mono.Media.dll' error CS0006: cannot find metadata file `/usr/lib/banshee-1/Hyena.dll' error CS0006: cannot find metadata file `/usr/lib/banshee-1/ MusicBrainz.dll' Compilation failed: 8 error(s), 0 warnings make[1]: *** [Mirage.dll] Error 1 make[1]: Leaving directory `/home/nicbrown/rpm/BUILD/mirage-0.3.0/ Mirage' make: *** [all-recursive] Error 1 error: Bad exit status from /home/nicbrown/rpm/tmp/rpm-tmp.29759 (%build) Steps to reproduce: pkg-config --variable=bansheedir banshee-1-core /usr/lib/banshee-1 cat banshee-1-core.pc.in prefix=@prefix@ exec_prefix=${prefix} libdir=${exec_prefix}/lib bansheedir=${libdir}/banshee-1 Name: Banshee Core Description: Core APIs for the Banshee Media Framework Version: @VERSION@ Requires: taglib-sharp ndesk-dbus-1.0 ndesk-dbus-glib-1.0 glib- sharp-2.0 mono-addins banshee-1-hyena banshee-1-musicbrainz Libs: -r:${bansheedir}/Banshee.Core.dll Actual results: Expected results: Does this happen every time? Yes Other information:
Perhaps the following marco could be used as it appears to correctly subsutite libdir etc http://ac-archive.sourceforge.net/rleigh/ac_config_pkgconfig_in.html
Non obselete equivalent http://ac-archive.sourceforge.net/guidod/ax_create_pkgconfig_info.html
It seems that the commit in r4431 addresses this issue : http://svn.gnome.org/viewvc/banshee?view=revision&revision=4431 Feel free to reopen this bug if I'm wrong (I don't have a 64 bits system to confirm the fix).