顯示具有 hinedo 標籤的文章。 顯示所有文章
顯示具有 hinedo 標籤的文章。 顯示所有文章

2009年12月15日 星期二

betaradio 和 hinedo

這兩個 hinet 網路收音機介面都很久沒更新了
在 11.2 中一直都無法編譯成功
兩個都有類似的錯誤訊息
cc -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread
-I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2
-DEGG_COMPILATION -DDATADIR=\"/usr/share\" -g -O2 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0
-lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcurl -pthread
-lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2 -lglib-2.0 -o betaradio betaradio.o eggtrayicon.o channel.o gstplay.o
betaradio.o: In function `onEggTrayEvent':
/usr/src/packages/BUILD/betaradio-0.1.2/src/betaradio.c:123: undefined reference to `gtk_menu_get_type'
/usr/src/packages/BUILD/betaradio-0.1.2/src/betaradio.c:123: undefined reference to `g_type_check_instance_cast'
/usr/src/packages/BUILD/betaradio-0.1.2/src/betaradio.c:123: undefined reference to `gtk_menu_popup'
betaradio.o: In function `appendMenu':
/usr/src/packages/BUILD/betaradio-0.1.2/src/betaradio.c:103: undefined reference to `gtk_menu_item_new_with_label'
/usr/src/packages/BUILD/betaradio-0.1.2/src/betaradio.c:104: undefined reference to `gtk_menu_shell_get_type'
/usr/src/packages/BUILD/betaradio-0.1.2/src/betaradio.c:104: undefined reference to `g_type_check_instance_cast'

這只是部份而已
後面一長串都是類似錯誤
後來改了一下 Makefile
hinedo
-    cc -o hinedo $(GTK2_LIBS) $(OBJS)
+ cc -o hinedo $(OBJS) $(GTK2_LIBS)

betaradio
-    $(LINK) $(betaradio_OBJECTS) $(betaradio_LDADD) $(LIBS)
+ $(LINK) $(betaradio_OBJECTS) $(AM_LDFLAGS) $(LDFLAGS) $(betaradio_LDADD) $(LIBS)

就可以順利編譯成功

同樣地方的 log 變成
gcc -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread
-I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2
-DEGG_COMPILATION -DDATADIR=\"/usr/share\" -g -O2 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0
-lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lrt -lglib-2.0 -lcurl -pthread
-lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2 -lglib-2.0 -o betaradio betaradio.o eggtrayicon.o channel.o gstplay.o
-pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype
-lfontconfig -lgobject-2.0 -lgmodule-2.0 -lrt -lglib-2.0 -lcurl -pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2 -lglib-2.0
make[2]: Leaving directory `/usr/src/packages/BUILD/betaradio-0.1.2/src'

您可以注意到 -l* 這些東西必須放在 *.o 的後面才能順利編譯
似乎最近常遇到這種問題
不知道是為什麼...請理解的人幫忙回答吧!

要安裝這兩個套件需要先有 Packman 套件庫,才能自動解決相依性
請先在社群套件庫中加入
不過 betaradio 的頻道似乎沒有更新,所以無法收聽...
$ betaradio
Can't get mms from V~.
Can't get mms from ��{.

先用 hinedo 吧
這兩個收音機的系統匣圖示大概和 gcin 是同一國的
都無法在 KDE4 顯示透明背景(傷腦筋)

一面工作一面聽收音機是蠻舒服的...

2007年11月19日 星期一

hinedo 0.4 for openSUSE

PCMan 大也配合修改了收音機的 script
還設計了線上更新 script 的服務
推出 Hinedo 0.4
預設使用 MPlayer 來作為播放器
您若未安裝 MPlayer 請加入 Packman 的套件庫
安裝起來比較方便

若您已經搞定 MPlayer (例如用 1-Click Install)
應該直接下載 hinedo 來安裝即可
或是您已經有 swyear 和 Packman 的套件庫
就可以直接用 yast 或 zypper 或 smart 來安裝
# yast -i hinedo 或
# zypper in hinedo 或
# smart install hinedo