※ ChatGPTを利用し、要約された質問です(原文:TunesBrowserのmakeで失敗します)
TunesBrowserのmakeで失敗する理由と解決方法
このQ&Aのポイント
TunesBrowserのmake時にundefined referenceのエラーが発生し、リンクができていないことが原因です。
リンクの方法が分からないため、リンクの仕方を教えてください。
Undefined referenceのエラーを解決するためには、リンクオプションを正しく指定する必要があります。
redhat9,kernel-2.4.20-8,gcc-3.2.2-5で利用してます。
TunesBrowser(http://crazney.net/programs/itunes/tunesbrowser.html)のmake時に以下エラーで失敗します。
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglade-2.0.so: undefined reference to `g_return_if_fail_warning'
collect2: ld returned 1 exit status
make[1]: *** [tunesbrowser] エラー 1
make: *** [all] エラー 2
Makefile中にはlibglade-2.0を含む項目は以下のようなものがあります。
(中略)
GLADE_CFLAGS = -I/usr/include/libglade-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libxml2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/X11R6/include -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
GLADE_LIBS = -Wl,--export-dynamic -L/usr/X11R6/lib -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lz -lgdk-x11-2.0 -lXrandr -lXi -lXinerama -lXext -latk-1.0 -lgdk_pixbuf-2.0 -lm -lXcursor -lpangoxft-1.0 -lXft -lfreetype -lXrender -lfontconfig -lpangox-1.0 -lX11 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
(中略)
TB_CFLAGS = -I/usr/local/include -I/usr/include/libglade-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libxml2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/X11R6/include -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include (省略)
またlibglade-2.0.soは
/usr/lib/libglade-2.0.so
にあります。
色々調べてみたところundefined referenceのエラーの時はリンクが出来ていないのが原因のようですが、リンクのさせ方が分からないので、分かる人教えてください。
お礼
ご回答ありがとうございます。 リンクを見てみると正規版libglade2をインストールにて問題が解決しているみたいなので、同じようにやってみたところ、なんと!tunesbrowserのインストールに成功しました。 自分が使っていたlibglade2は libglade2-2.4.0-5_1.rh9.at.i386.rpm でatrpmsに問題があるみたいですね。 どうもありがとうございました