Ubuntu12.04编译sawfish出错, 附源码包, 错误信息

各种窗口管理器和美化相关
回复
头像
hooluwa
帖子: 5
注册时间: 2013-03-31 13:30
系统: Linux

Ubuntu12.04编译sawfish出错, 附源码包, 错误信息

#1

帖子 hooluwa » 2013-04-05 17:19

各种编译过程,官网: http://sawfish.wikia.com/wiki/Compilation_from_source
源码包librep, rep-gtk, sawfish, sawfish-pager, 云诺链接:
http://s.yunio.com/7Z9xOz

编译时的问题:
1.libtool2.4.2可能出问题, 根据官网说的, 换一个版本,可以在这里下载:http://ftp.debian.org/debian/pool/main/libt/libtool/
2.如果编译过程中出现找不到so文件的问题,可以

代码: 全选

這個時候就要在/etc/ld.so.conf中加入xxx.so所在的目錄。
 一般而言,有很多so檔會在/usr/local/lib這個目錄下,所以在/etc/ld.so.conf中加入/usr/local/lib這一行,可以解決此問題。
將 /etc/ld.so.conf存檔後,還要執行「/sbin/ldconfig –v」來更新一下才會生效。
3.大问题,估计是makefile的问题,google了半天没结果,编译最后一个包sawfish-pager:

代码: 全选

 ~ ⮁ build ⮁ sawfish-pager-0.90.2 ⮀ $ ⮀make
cc -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12   -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpng12   -pthread -I/usr/local/include -I/usr/local/include/ -I/usr/local/lib/rep/ -I/usr/include/gtk-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12     -Wl,-rpath /usr/local/lib/rep/sawfish /usr/local/lib/rep/sawfish/client.so -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0   -pthread -L/usr/local/lib -lX11 -lgdk_pixbuf_xlib-2.0 -lrep -lcrypt -lgmp -lm -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgmodule-2.0 -lrt -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0   -pthread -lgdk_pixbuf_xlib-2.0 -lgmodule-2.0 -lrt -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0    sawfishpager.c   -o sawfishpager
/tmp/cciTLhrx.o: In function `main':
sawfishpager.c:(.text+0x21): undefined reference to `gtk_init'
sawfishpager.c:(.text+0x2b): undefined reference to `client_open'
sawfishpager.c:(.text+0x3e): undefined reference to `client_close'
sawfishpager.c:(.text+0x6f): undefined reference to `gtk_plug_new'
sawfishpager.c:(.text+0x7b): undefined reference to `gtk_window_new'
sawfishpager.c:(.text+0x91): undefined reference to `gtk_vbox_new'
sawfishpager.c:(.text+0x9a): undefined reference to `gtk_container_get_type'
sawfishpager.c:(.text+0xaf): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0xbe): undefined reference to `gtk_container_add'
sawfishpager.c:(.text+0xc3): undefined reference to `gtk_drawing_area_new'
sawfishpager.c:(.text+0xf7): undefined reference to `gtk_drawing_area_get_type'
sawfishpager.c:(.text+0x10c): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x119): undefined reference to `gtk_drawing_area_size'
sawfishpager.c:(.text+0x125): undefined reference to `gtk_box_get_type'
sawfishpager.c:(.text+0x137): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x152): undefined reference to `gtk_box_pack_start'
sawfishpager.c:(.text+0x15c): undefined reference to `gtk_object_get_type'
sawfishpager.c:(.text+0x171): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x192): undefined reference to `g_signal_connect_data'
sawfishpager.c:(.text+0x19c): undefined reference to `gtk_object_get_type'
sawfishpager.c:(.text+0x1b1): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x1d2): undefined reference to `g_signal_connect_data'
sawfishpager.c:(.text+0x1f0): undefined reference to `gdk_input_add'
sawfishpager.c:(.text+0x1fa): undefined reference to `gtk_object_get_type'
sawfishpager.c:(.text+0x20f): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x230): undefined reference to `g_signal_connect_data'
sawfishpager.c:(.text+0x23a): undefined reference to `gtk_object_get_type'
sawfishpager.c:(.text+0x24f): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x270): undefined reference to `g_signal_connect_data'
sawfishpager.c:(.text+0x27a): undefined reference to `gtk_object_get_type'
sawfishpager.c:(.text+0x28f): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x2b0): undefined reference to `g_signal_connect_data'
sawfishpager.c:(.text+0x2ba): undefined reference to `gtk_object_get_type'
sawfishpager.c:(.text+0x2cf): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x2f0): undefined reference to `g_signal_connect_data'
sawfishpager.c:(.text+0x2fa): undefined reference to `gtk_object_get_type'
sawfishpager.c:(.text+0x30f): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x330): undefined reference to `g_signal_connect_data'
sawfishpager.c:(.text+0x344): undefined reference to `gtk_widget_set_events'
sawfishpager.c:(.text+0x34e): undefined reference to `gtk_object_get_type'
sawfishpager.c:(.text+0x363): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x384): undefined reference to `g_signal_connect_data'
sawfishpager.c:(.text+0x38e): undefined reference to `gtk_object_get_type'
sawfishpager.c:(.text+0x3a3): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x3c4): undefined reference to `g_signal_connect_data'
sawfishpager.c:(.text+0x3d3): undefined reference to `gtk_widget_show'
sawfishpager.c:(.text+0x3df): undefined reference to `gtk_widget_show'
sawfishpager.c:(.text+0x3ee): undefined reference to `gdk_atom_intern'
sawfishpager.c:(.text+0x400): undefined reference to `gdk_atom_intern'
sawfishpager.c:(.text+0x423): undefined reference to `gtk_window_get_type'
sawfishpager.c:(.text+0x438): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x445): undefined reference to `gtk_window_set_type_hint'
sawfishpager.c:(.text+0x454): undefined reference to `gtk_widget_show'
sawfishpager.c:(.text+0x459): undefined reference to `gtk_main'
/tmp/cciTLhrx.o: In function `send_command':
sawfishpager.c:(.text+0x488): undefined reference to `client_eval'
/tmp/cciTLhrx.o: In function `box':
sawfishpager.c:(.text+0x574): undefined reference to `gdk_draw_rectangle'
/tmp/cciTLhrx.o: In function `clipbox':
sawfishpager.c:(.text+0x5b7): undefined reference to `gdk_gc_set_clip_rectangle'
sawfishpager.c:(.text+0x5e7): undefined reference to `gdk_draw_rectangle'
/tmp/cciTLhrx.o: In function `expose_event':
sawfishpager.c:(.text+0x630): undefined reference to `gtk_widget_get_state'
sawfishpager.c:(.text+0x66f): undefined reference to `gdk_draw_drawable'
/tmp/cciTLhrx.o: In function `motion_notify_event':
sawfishpager.c:(.text+0x9af): undefined reference to `gdk_window_get_pointer'
/tmp/cciTLhrx.o: In function `configure_event':
sawfishpager.c:(.text+0xbdc): undefined reference to `g_object_unref'
sawfishpager.c:(.text+0xbfa): undefined reference to `gdk_gc_unref'
sawfishpager.c:(.text+0xc25): undefined reference to `gdk_pixmap_new'
sawfishpager.c:(.text+0xc5e): undefined reference to `gdk_gc_new'
sawfishpager.c:(.text+0xc84): undefined reference to `gdk_gc_set_foreground'
sawfishpager.c:(.text+0xcb2): undefined reference to `gdk_gc_set_line_attributes'
sawfishpager.c:(.text+0xcc1): undefined reference to `gdk_gc_new'
sawfishpager.c:(.text+0xcdc): undefined reference to `gdk_gc_set_foreground'
sawfishpager.c:(.text+0xd00): undefined reference to `gdk_gc_set_line_attributes'
/tmp/cciTLhrx.o: In function `make_background':
sawfishpager.c:(.text+0xd40): undefined reference to `g_object_unref'
sawfishpager.c:(.text+0xd6d): undefined reference to `gdk_pixmap_create_from_xpm'
sawfishpager.c:(.text+0xda8): undefined reference to `gdk_pixmap_new'
sawfishpager.c:(.text+0xde7): undefined reference to `gdk_draw_rectangle'
sawfishpager.c:(.text+0xe64): undefined reference to `gdk_draw_rectangle'
sawfishpager.c:(.text+0xebb): undefined reference to `gdk_draw_line'
sawfishpager.c:(.text+0xeea): undefined reference to `gdk_draw_line'
sawfishpager.c:(.text+0xefe): undefined reference to `gdk_gc_set_fill'
sawfishpager.c:(.text+0xf17): undefined reference to `gdk_gc_set_tile'
/tmp/cciTLhrx.o: In function `draw_pager':
sawfishpager.c:(.text+0x13b6): undefined reference to `gdk_draw_line'
sawfishpager.c:(.text+0x1404): undefined reference to `gdk_draw_line'
sawfishpager.c:(.text+0x145a): undefined reference to `gdk_draw_line'
sawfishpager.c:(.text+0x14ad): undefined reference to `gdk_draw_line'
sawfishpager.c:(.text+0x14be): undefined reference to `gtk_widget_draw'
/tmp/cciTLhrx.o: In function `parse_stdin':
sawfishpager.c:(.text+0x1b42): undefined reference to `gdk_window_resize'
sawfishpager.c:(.text+0x1b54): undefined reference to `gtk_drawing_area_get_type'
sawfishpager.c:(.text+0x1b69): undefined reference to `g_type_check_instance_cast'
sawfishpager.c:(.text+0x1b76): undefined reference to `gtk_drawing_area_size'
sawfishpager.c:(.text+0x1bb7): undefined reference to `gdk_colormap_get_system'
sawfishpager.c:(.text+0x1c00): undefined reference to `gdk_colormap_free_colors'
sawfishpager.c:(.text+0x1ca6): undefined reference to `gdk_colormap_alloc_color'
/tmp/cciTLhrx.o: In function `destroy_event':
sawfishpager.c:(.text+0x1d22): undefined reference to `gtk_main_quit'
/tmp/cciTLhrx.o: In function `wmspec_change_state':
sawfishpager.c:(.text+0x1d83): undefined reference to `gdk_display_get_default'
sawfishpager.c:(.text+0x1d8b): undefined reference to `gdk_x11_display_get_xdisplay'
sawfishpager.c:(.text+0x1da1): undefined reference to `gdk_x11_drawable_get_xid'
sawfishpager.c:(.text+0x1db2): undefined reference to `gdk_x11_get_xatom_by_name'
sawfishpager.c:(.text+0x1de6): undefined reference to `gdk_x11_atom_to_xatom'
sawfishpager.c:(.text+0x1dfc): undefined reference to `gdk_x11_atom_to_xatom'
sawfishpager.c:(.text+0x1e08): undefined reference to `gdk_get_default_root_window'
sawfishpager.c:(.text+0x1e10): undefined reference to `gdk_x11_drawable_get_xid'
sawfishpager.c:(.text+0x1e18): undefined reference to `gdk_display_get_default'
sawfishpager.c:(.text+0x1e20): undefined reference to `gdk_x11_display_get_xdisplay'
sawfishpager.c:(.text+0x1e3f): undefined reference to `XSendEvent'
collect2: ld 返回 1
make: *** [sawfishpager] 错误 1
求大神。。。 :em06
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: Ubuntu12.04编译sawfish出错, 附源码包, 错误信息

#2

帖子 YeLee » 2013-04-05 17:33

代码: 全选

strings $(whereis libgtk-x11-2.0.so |awk '{print $2}') |grep gtk_init
gtk_init
gtk_init_add
gtk_init_check
gtk_init_with_args
gtk_disable_setlocale() must be called before gtk_init()
假如你真的什么都找不到的话,你应该去怀疑那该死的gtk究竟出什么问题了。 :em01 :em01 :em01
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: Ubuntu12.04编译sawfish出错, 附源码包, 错误信息

#3

帖子 YeLee » 2013-04-05 18:00

hooluwa 写了:
YeLee 写了:

代码: 全选

strings $(whereis libgtk-x11-2.0.so |awk '{print $2}') |grep gtk_init
gtk_init
gtk_init_add
gtk_init_check
gtk_init_with_args
gtk_disable_setlocale() must be called before gtk_init()
假如你真的什么都找不到的话,你应该去怀疑那该死的gtk究竟出什么问题了。 :em01 :em01 :em01
貌似不能回复了。。 This message was flagged as spam and has been denied.

代码: 全选

 ~ ⮀ $ ⮀strings $(whereis libgtk-x11-2.0.so |awk '{print $2}') |grep gtk_init
^C
 ~ ⮀ $ ⮀whereis libgtk-x11-2.0.so
libgtk-x11-2.0:
 ~ ⮀ $ ⮀whereis libgtk-x11-2.0.so |awk '{print $2}'

 ~ ⮀ $ ⮀

你那该死的gtk2跑去哪了? :em20 :em20 :em20
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
huangbster
帖子: 187
注册时间: 2012-10-29 11:35
系统: UBUNTU

Re: Ubuntu12.04编译sawfish出错, 附源码包, 错误信息

#4

帖子 huangbster » 2013-04-05 20:10

没发现有-lgtk-2这个选项哦,肯定gtk的函数都不能连接啦。
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: Ubuntu12.04编译sawfish出错, 附源码包, 错误信息

#5

帖子 YeLee » 2013-04-05 20:31

敢问楼上,您的系统里面有个文件叫libgtk-2.so的?不然pkg-config --libs gtk+-2.0也不会出现一大堆该死的东西了。 :em20 :em20 :em20
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
huangbster
帖子: 187
注册时间: 2012-10-29 11:35
系统: UBUNTU

Re: Ubuntu12.04编译sawfish出错, 附源码包, 错误信息

#6

帖子 huangbster » 2013-04-05 21:42

我已经是用3.0了。pkg-config --libs gtk+-3.0
-L/usr/local/lib -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0
回复