fio性能测试工具新添图形前端gfio
原创文章,转载请注明: 转载自系统技术非业余研究
本文链接地址: fio性能测试工具新添图形前端gfio
fio是个非常强大的IO性能测试工具,可以毫不夸张的说,如果你把所有的fio参数都搞明白了,基本上就把IO协议栈的问题搞的差不多明白了,原因在于作者Jens Axboe是linux内核IO部分的maintainer. 但是这个工具有个很大的缺点就是没有图形界面,单靠输出的数字很难看出来IO的趋势变化,所以急需一个图形前端.
幸运的是Jens也认识到这个问题,2012年2月15号在google plus上说:
Once complete, this will be a great addition to fio. It can be quite tricky to get a good overview of all the various job controlling options that fio has, presenting them graphically has some advantages over a basic 80-line text cli.
可是Jens是写linux内核代码的,对于图形终端的编程不是很熟悉。 大牛毕竟是大牛,发扬革命不怕苦精神,自己学图形编程,于是在最近的2.1版本给我们带来了这个图形终端。有了这个东西使用起来就方便许多。
我给大家演示下如何编译,运行这个gfio. 在这之前需要给大家说下fio的server/client模式。 fio一旦进入server模式就会在8765 tcp端口上监听,等待客户端来连接。 一旦客户端连接上来,会发上来比如运行job等任务,服务端把运行结果推送到客户端。所以这个图形前端实际上是fio的一个client, 名字叫gfio. 具体参见 README里面的描述。
新版本的支持gfio的fio可以在这里下载 git clone git://git.kernel.dk/fio.git,编译gfio源码的时候, 由于它依赖于gtk库,需要先安装libgtk2.0开发包,演示开始:
$ uname -a Linux yufeng-Latitude-E6400 3.0.0-30-generic #47-Ubuntu SMP Wed Jan 2 23:16:29 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux $ sudo apt-get -y install libgtk2.0-dev $ git clone git://git.kernel.dk/fio.git $ cd fio $ ./configure --enable-gfio ... gtk 2.18 or higher yes ... $ make fio $ make gfio $ ./fio -S fio: server listening on 0.0.0.0,8765
这样fio就编译好了,同时进入server模式。 在另外一个终端运行 gfio 就可以看到图形界面,打开examples/aio-read.fio 这个脚本把玩下(注意这个脚本里面文件的路径是/data1, 最好改成/tmp之类的),如下图:
有图有真像!
祝玩得开心!
Post Footer automatically generated by wp-posturl plugin for wordpress.
顶啊,最近正在学习fio bonnie++这些测评磁盘性能的东东
褚霸兄您好,请问gfio安装后如何使用呢?直接gfio 不行,README中也没找到相应帮助,请教,谢!
higkoo Reply:
December 20th, 2013 at 4:24 pm
用vnc打开图型界面,运行gfio就有图形界面了。
gfio自带了一些例子,可以直接打开运行,然后会自动出报告。
不过里面的数据特别多!
Yu Feng Reply:
December 20th, 2013 at 7:34 pm
是的
大神。我也是同问。。我到了这一步了:
root@chengjing-OptiPlex-390:~/fio# ./fio -S
fio: server listening on 0.0.0.0,8765
可是再开一个终端要输入什么命令呢?
gfio.c: In function ‘gfio_ui_setup_log’:
gfio.c:322: error: ‘GtkTreeSelection’ undeclared (first use in this function)
gfio.c:322: error: ‘selection’ undeclared (first use in this function)
gfio.c:323: error: ‘GtkListStore’ undeclared (first use in this function)
gfio.c:323: error: ‘model’ undeclared (first use in this function)
gfio.c:324: error: ‘GtkWidget’ undeclared (first use in this function)
gfio.c:324: error: ‘tree_view’ undeclared (first use in this function)
gfio.c:326: warning: implicit declaration of function ‘gtk_list_store_new’
gfio.c:326: error: ‘G_TYPE_STRING’ undeclared (first use in this function)
gfio.c:328: warning: implicit declaration of function ‘gtk_tree_view_new_with_model’
gfio.c:328: warning: implicit declaration of function ‘GTK_TREE_MODEL’
gfio.c:329: warning: implicit declaration of function ‘gtk_widget_set_can_focus’
gfio.c:329: error: ‘FALSE’ undeclared (first use in this function)
gfio.c:331: warning: implicit declaration of function ‘gtk_tree_view_get_selection’
gfio.c:331: warning: implicit declaration of function ‘GTK_TREE_VIEW’
gfio.c:332: warning: implicit declaration of function ‘gtk_tree_selection_set_mode’
gfio.c:332: warning: implicit declaration of function ‘GTK_TREE_SELECTION’
gfio.c:332: error: ‘GTK_SELECTION_BROWSE’ undeclared (first use in this function)
gfio.c:333: warning: implicit declaration of function ‘g_object_set’
gfio.c:333: warning: implicit declaration of function ‘G_OBJECT’
gfio.c:333: error: ‘TRUE’ undeclared (first use in this function)
gfio.c:334: error: ‘GTK_TREE_VIEW_GRID_LINES_BOTH’ undeclared (first use in this function)
gfio.c:336: warning: implicit declaration of function ‘tree_view_column’
gfio.c:341: error: ‘struct gui’ has no member named ‘log_model’
gfio.c:342: error: ‘struct gui’ has no member named ‘log_tree’
gfio.c: At top level:
gfio.c:345: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘on_config_drawing_area’
gfio.c:359: error: expected declaration specifiers or ‘…’ before ‘cairo_t’
gfio.c: In function ‘draw_graph’:
gfio.c:361: error: ‘cr’ undeclared (first use in this function)
gfio.c:361: error: too many arguments to function ‘line_graph_draw’
gfio.c:362: warning: implicit declaration of function ‘cairo_stroke’
gfio.c: At top level:
gfio.c:365: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘graph_tooltip’
gfio.c:385: error: expected ‘)’ before ‘*’ token
gfio.c: In function ‘ge_destroy’:
gfio.c:411: error: ‘struct gui_entry’ has no member named ‘client’
gfio.c:415: error: ‘struct gui_entry’ has no member named ‘state’
gfio.c:423: warning: implicit declaration of function ‘g_hash_table_remove’
gfio.c:423: error: ‘struct gui’ has no member named ‘ge_hash’
gfio.c:423: error: ‘struct gui_entry’ has no member named ‘page_num’
gfio.c:425: error: ‘struct gui_entry’ has no member named ‘job_file’
gfio.c:426: error: ‘struct gui_entry’ has no member named ‘host’
gfio.c: At top level:
gfio.c:430: error: expected ‘)’ before ‘*’ token
gfio.c: In function ‘gfio_quit’:
gfio.c:439: warning: implicit declaration of function ‘gtk_main_quit’
gfio.c: At top level:
gfio.c:442: error: expected declaration specifiers or ‘…’ before ‘GtkWidget’
gfio.c:443: error: expected declaration specifiers or ‘…’ before ‘gpointer’
gfio.c: In function ‘quit_clicked’:
gfio.c:445: error: ‘data’ undeclared (first use in this function)
gfio.c: In function ‘job_thread’:
gfio.c:454: error: ‘struct gui’ has no member named ‘handler_running’
gfio.c:456: error: ‘struct gui’ has no member named ‘handler_running’
gfio.c: In function ‘send_job_file’:
gfio.c:462: error: ‘struct gui_entry’ has no member named ‘client’
gfio.c:469: error: ‘struct gfio_client’ has no member named ‘o_list’
gfio.c:472: error: ‘struct gfio_client’ has no member named ‘o_list’
gfio.c:477: error: ‘struct gui_entry’ has no member named ‘job_file’
gfio.c:481: error: ‘struct gui_entry’ has no member named ‘job_file’
gfio.c: In function ‘gfio_start_server’:
gfio.c:498: error: ‘struct gui’ has no member named ‘server_t’
gfio.c:499: error: ‘struct gui’ has no member named ‘server_t’
gfio.c: At top level:
gfio.c:503: error: expected declaration specifiers or ‘…’ before ‘GtkWidget’
gfio.c:504: error: expected declaration specifiers or ‘…’ before ‘gpointer’
gfio.c: In function ‘start_job_clicked’:
gfio.c:506: error: ‘data’ undeclared (first use in this function)
gfio.c:507: error: ‘struct gui_entry’ has no member named ‘client’
gfio.c: At top level:
gfio.c:513: error: expected ‘)’ before ‘*’ token
gfio.c:517: error: expected specifier-qualifier-list before ‘GtkWidget’
gfio.c:522: error: expected ‘)’ before ‘*’ token
gfio.c: In function ‘get_connection_details’:
gfio.c:558: error: ‘GtkWidget’ undeclared (first use in this function)
gfio.c:558: error: ‘dialog’ undeclared (first use in this function)
gfio.c:558: error: ‘box’ undeclared (first use in this function)
gfio.c:558: warning: left-hand operand of comma expression has no effect
gfio.c:558: error: ‘vbox’ undeclared (first use in this function)
gfio.c:558: warning: left-hand operand of comma expression has no effect
gfio.c:558: error: ‘hbox’ undeclared (first use in this function)
gfio.c:558: warning: left-hand operand of comma expression has no effect
gfio.c:558: error: ‘frame’ undeclared (first use in this function)
gfio.c:558: warning: left-hand operand of comma expression has no effect
gfio.c:558: error: ‘pentry’ undeclared (first use in this function)
gfio.c:558: warning: left-hand operand of comma expression has no effect
gfio.c:559: warning: ISO C90 forbids mixed declarations and code
gfio.c:563: error: ‘struct gui_entry’ has no member named ‘host’
gfio.c:566: warning: implicit declaration of function ‘gtk_dialog_new_with_buttons’
gfio.c:567: warning: implicit declaration of function ‘GTK_WINDOW’
gfio.c:567: error: ‘struct gui’ has no member named ‘window’
gfio.c:568: error: ‘GTK_DIALOG_DESTROY_WITH_PARENT’ undeclared (first use in this function)
gfio.c:569: error: ‘GTK_STOCK_OK’ undeclared (first use in this function)
gfio.c:569: error: ‘GTK_RESPONSE_ACCEPT’ undeclared (first use in this function)
gfio.c:570: error: ‘GTK_STOCK_CANCEL’ undeclared (first use in this function)
gfio.c:570: error: ‘GTK_RESPONSE_REJECT’ undeclared (first use in this function)
gfio.c:572: warning: implicit declaration of function ‘gtk_frame_new’
gfio.c:573: warning: implicit declaration of function ‘gtk_dialog_get_content_area’
gfio.c:573: warning: implicit declaration of function ‘GTK_DIALOG’
gfio.c:574: warning: implicit declaration of function ‘gtk_box_pack_start’
gfio.c:574: warning: implicit declaration of function ‘GTK_BOX’
gfio.c:574: error: ‘FALSE’ undeclared (first use in this function)
gfio.c:576: warning: implicit declaration of function ‘gtk_vbox_new’
gfio.c:577: warning: implicit declaration of function ‘gtk_container_add’
gfio.c:577: warning: implicit declaration of function ‘GTK_CONTAINER’
gfio.c:579: warning: implicit declaration of function ‘gtk_hbox_new’
gfio.c:579: error: ‘TRUE’ undeclared (first use in this function)
gfio.c:581: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:581: warning: implicit declaration of function ‘gtk_entry_new’
gfio.c:582: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:583: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:592: warning: implicit declaration of function ‘create_spinbutton’
gfio.c:602: error: ‘struct connection_widgets’ has no member named ‘combo’
gfio.c:602: warning: implicit declaration of function ‘gtk_combo_box_text_new’
gfio.c:603: warning: implicit declaration of function ‘gtk_combo_box_text_append_text’
gfio.c:603: warning: implicit declaration of function ‘GTK_COMBO_BOX’
gfio.c:603: error: ‘struct connection_widgets’ has no member named ‘combo’
gfio.c:604: error: ‘struct connection_widgets’ has no member named ‘combo’
gfio.c:605: error: ‘struct connection_widgets’ has no member named ‘combo’
gfio.c:606: warning: implicit declaration of function ‘gtk_combo_box_set_active’
gfio.c:606: error: ‘struct connection_widgets’ has no member named ‘combo’
gfio.c:608: error: ‘struct connection_widgets’ has no member named ‘combo’
gfio.c:618: error: ‘struct connection_widgets’ has no member named ‘button’
gfio.c:618: warning: implicit declaration of function ‘gtk_check_button_new_with_label’
gfio.c:619: warning: implicit declaration of function ‘gtk_toggle_button_set_active’
gfio.c:619: warning: implicit declaration of function ‘GTK_TOGGLE_BUTTON’
gfio.c:619: error: ‘struct connection_widgets’ has no member named ‘button’
gfio.c:620: error: ‘struct connection_widgets’ has no member named ‘button’
gfio.c:621: error: ‘struct connection_widgets’ has no member named ‘button’
gfio.c:626: warning: implicit declaration of function ‘g_signal_connect’
gfio.c:626: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:626: warning: implicit declaration of function ‘G_CALLBACK’
gfio.c:626: error: ‘hostname_cb’ undeclared (first use in this function)
gfio.c:627: error: ‘struct connection_widgets’ has no member named ‘combo’
gfio.c:629: warning: implicit declaration of function ‘gtk_widget_show_all’
gfio.c:631: warning: implicit declaration of function ‘gtk_dialog_run’
gfio.c:632: warning: implicit declaration of function ‘gtk_widget_destroy’
gfio.c:636: error: ‘struct gui_entry’ has no member named ‘host’
gfio.c:636: warning: implicit declaration of function ‘gtk_entry_get_text’
gfio.c:636: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:636: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:636: warning: cast to pointer from integer of different size
gfio.c:636: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:636: warning: cast to pointer from integer of different size
gfio.c:636: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:636: warning: cast to pointer from integer of different size
gfio.c:636: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:636: warning: passing argument 1 of ‘strlen’ makes pointer from integer without a cast
gfio.c:636: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:636: warning: passing argument 2 of ‘__builtin___memcpy_chk’ makes pointer from integer without a cast
gfio.c:636: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:636: warning: passing argument 2 of ‘__memcpy_ichk’ makes pointer from integer without a cast
gfio.c:636: error: ‘struct connection_widgets’ has no member named ‘hentry’
gfio.c:636: warning: passing argument 1 of ‘__strdup’ makes pointer from integer without a cast
gfio.c:637: error: ‘struct gui_entry’ has no member named ‘port’
gfio.c:637: warning: implicit declaration of function ‘gtk_spin_button_get_value_as_int’
gfio.c:637: warning: implicit declaration of function ‘GTK_SPIN_BUTTON’
gfio.c:639: warning: implicit declaration of function ‘gtk_combo_box_text_get_active_text’
gfio.c:639: error: ‘struct connection_widgets’ has no member named ‘combo’
gfio.c:639: warning: assignment makes pointer from integer without a cast
gfio.c:641: error: ‘struct gui_entry’ has no member named ‘type’
gfio.c:643: error: ‘struct gui_entry’ has no member named ‘type’
gfio.c:645: error: ‘struct gui_entry’ has no member named ‘type’
gfio.c:646: warning: implicit declaration of function ‘g_free’
gfio.c:648: error: ‘struct gui_entry’ has no member named ‘server_start’
gfio.c:648: warning: implicit declaration of function ‘gtk_toggle_button_get_active’
gfio.c:648: error: ‘struct connection_widgets’ has no member named ‘button’
gfio.c: In function ‘gfio_client_added’:
gfio.c:666: error: ‘struct gfio_client’ has no member named ‘o_list’
gfio.c:666: error: ‘struct gfio_client’ has no member named ‘o_list’
gfio.c:666: error: ‘struct gfio_client’ has no member named ‘o_list’
gfio.c:666: error: ‘struct gfio_client’ has no member named ‘o_list’
gfio.c:668: error: ‘struct gui_entry’ has no member named ‘client’
gfio.c:678: error: ‘struct gfio_client’ has no member named ‘o_list’
gfio.c:679: error: ‘struct gfio_client’ has no member named ‘o_list_nr’
gfio.c: In function ‘gfio_clear_graph_data’:
gfio.c:684: error: ‘struct gfio_graphs’ has no member named ‘iops_graph’
gfio.c:685: error: ‘struct gfio_graphs’ has no member named ‘bandwidth_graph’
gfio.c: At top level:
gfio.c:688: error: expected ‘)’ before ‘*’ token
gfio.c:739: error: expected ‘)’ before ‘*’ token
gfio.c:747: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
gfio.c: In function ‘alloc_new_gui_entry’:
gfio.c:755: error: ‘struct gui_entry’ has no member named ‘state’
gfio.c: In function ‘get_new_ge_with_tab’:
gfio.c:766: error: ‘struct gui_entry’ has no member named ‘vbox’
gfio.c:766: warning: implicit declaration of function ‘new_client_page’
gfio.c:767: error: ‘struct gui_entry’ has no member named ‘vbox’
gfio.c:767: error: ‘ge_widget_destroy’ undeclared (first use in this function)
gfio.c:769: error: ‘struct gui_entry’ has no member named ‘page_label’
gfio.c:769: warning: implicit declaration of function ‘gtk_label_new’
gfio.c:770: error: ‘struct gui_entry’ has no member named ‘page_num’
gfio.c:770: warning: implicit declaration of function ‘gtk_notebook_append_page’
gfio.c:770: warning: implicit declaration of function ‘GTK_NOTEBOOK’
gfio.c:770: error: ‘struct gui’ has no member named ‘notebook’
gfio.c:770: error: ‘struct gui_entry’ has no member named ‘vbox’
gfio.c:770: error: ‘struct gui_entry’ has no member named ‘page_label’
gfio.c:772: warning: implicit declaration of function ‘g_hash_table_insert’
gfio.c:772: error: ‘struct gui’ has no member named ‘ge_hash’
gfio.c:772: error: ‘struct gui_entry’ has no member named ‘page_num’
gfio.c:774: error: ‘struct gui’ has no member named ‘window’
gfio.c: At top level:
gfio.c:778: error: expected ‘)’ before ‘*’ token
gfio.c:791: error: expected declaration specifiers or ‘…’ before ‘gint’
gfio.c: In function ‘get_ge_from_page’:
gfio.c:794: error: ‘cur_page’ undeclared (first use in this function)
gfio.c:803: warning: implicit declaration of function ‘g_hash_table_lookup’
gfio.c:803: error: ‘struct gui’ has no member named ‘ge_hash’
gfio.c:803: warning: return makes pointer from integer without a cast
gfio.c: In function ‘get_ge_from_cur_tab’:
gfio.c:808: error: ‘gint’ undeclared (first use in this function)
gfio.c:808: error: expected ‘;’ before ‘cur_page’
gfio.c:814: error: ‘cur_page’ undeclared (first use in this function)
gfio.c:814: warning: implicit declaration of function ‘gtk_notebook_get_current_page’
gfio.c:814: error: ‘struct gui’ has no member named ‘notebook’
gfio.c:816: error: too many arguments to function ‘get_ge_from_page’
gfio.c: At top level:
gfio.c:821: error: expected ‘)’ before ‘*’ token
gfio.c:843: warning: type defaults to ‘int’ in declaration of ‘gchar’
gfio.c:843: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
gfio.c:857: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
gfio.c:865: warning: type defaults to ‘int’ in declaration of ‘gchar’
gfio.c:865: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
gfio.c:894: warning: type defaults to ‘int’ in declaration of ‘gchar’
gfio.c:894: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
gfio.c:933: error: expected ‘)’ before ‘*’ token
gfio.c:945: error: expected ‘)’ before ‘*’ token
gfio.c:981: error: expected ‘)’ before ‘*’ token
gfio.c:1006: error: expected ‘)’ before ‘*’ token
gfio.c: In function ‘gfio_view_log’:
gfio.c:1018: error: ‘GtkWidget’ undeclared (first use in this function)
gfio.c:1018: error: ‘win’ undeclared (first use in this function)
gfio.c:1018: error: ‘scroll’ undeclared (first use in this function)
gfio.c:1018: warning: left-hand operand of comma expression has no effect
gfio.c:1018: error: ‘vbox’ undeclared (first use in this function)
gfio.c:1018: warning: left-hand operand of comma expression has no effect
gfio.c:1018: error: ‘box’ undeclared (first use in this function)
gfio.c:1018: warning: left-hand operand of comma expression has no effect
gfio.c:1020: error: ‘struct gui’ has no member named ‘log_view’
gfio.c:1023: error: ‘struct gui’ has no member named ‘log_view’
gfio.c:1023: warning: implicit declaration of function ‘gtk_window_new’
gfio.c:1023: error: ‘GTK_WINDOW_TOPLEVEL’ undeclared (first use in this function)
gfio.c:1024: warning: implicit declaration of function ‘gtk_window_set_title’
gfio.c:1025: warning: implicit declaration of function ‘gtk_window_set_default_size’
gfio.c:1027: warning: implicit declaration of function ‘gtk_scrolled_window_new’
gfio.c:1029: warning: implicit declaration of function ‘gtk_container_set_border_width’
gfio.c:1031: warning: implicit declaration of function ‘gtk_scrolled_window_set_policy’
gfio.c:1031: warning: implicit declaration of function ‘GTK_SCROLLED_WINDOW’
gfio.c:1031: error: ‘GTK_POLICY_AUTOMATIC’ undeclared (first use in this function)
gfio.c:1033: error: ‘TRUE’ undeclared (first use in this function)
gfio.c:1034: error: ‘struct gui’ has no member named ‘log_tree’
gfio.c:1035: error: ‘view_log_destroy’ undeclared (first use in this function)
gfio.c:1036: warning: implicit declaration of function ‘gtk_scrolled_window_add_with_viewport’
gfio.c: At top level:
gfio.c:1045: error: expected ‘)’ before ‘*’ token
gfio.c:1052: error: expected ‘)’ before ‘*’ token
gfio.c:1062: error: expected ‘)’ before ‘*’ token
gfio.c:1072: error: expected ‘)’ before ‘*’ token
gfio.c:1082: error: expected ‘)’ before ‘*’ token
gfio.c:1092: error: expected ‘)’ before ‘*’ token
gfio.c: In function ‘__update_graph_settings’:
gfio.c:1112: error: ‘struct gfio_graphs’ has no member named ‘iops_graph’
gfio.c:1113: error: ‘struct gfio_graphs’ has no member named ‘iops_graph’
gfio.c:1114: error: ‘struct gfio_graphs’ has no member named ‘bandwidth_graph’
gfio.c:1115: error: ‘struct gfio_graphs’ has no member named ‘bandwidth_graph’
gfio.c: At top level:
gfio.c:1118: error: expected ‘)’ before ‘key’
gfio.c: In function ‘update_graph_limits’:
gfio.c:1132: error: ‘main_ui’ undeclared (first use in this function)
gfio.c:1133: error: ‘GdkEvent’ undeclared (first use in this function)
gfio.c:1133: error: ‘ev’ undeclared (first use in this function)
gfio.c:1135: error: ‘struct gui’ has no member named ‘graphs’
gfio.c:1137: warning: implicit declaration of function ‘gdk_event_new’
gfio.c:1137: error: ‘GDK_EXPOSE’ undeclared (first use in this function)
gfio.c:1138: warning: implicit declaration of function ‘g_signal_emit_by_name’
gfio.c:1138: error: ‘struct gui’ has no member named ‘graphs’
gfio.c:1138: error: ‘GFIO_DRAW_EVENT’ undeclared (first use in this function)
gfio.c:1138: warning: implicit declaration of function ‘GTK_WIDGET’
gfio.c:1138: error: ‘struct gui’ has no member named ‘graphs’
gfio.c:1138: error: ‘struct gui’ has no member named ‘graphs’
gfio.c:1139: warning: implicit declaration of function ‘gdk_event_free’
gfio.c:1141: warning: implicit declaration of function ‘g_hash_table_foreach’
gfio.c:1141: error: ‘struct gui’ has no member named ‘ge_hash’
gfio.c:1141: error: ‘ge_update_settings_fn’ undeclared (first use in this function)
gfio.c: At top level:
gfio.c:1144: error: expected ‘)’ before ‘*’ token
gfio.c:1237: error: expected ‘)’ before ‘*’ token
gfio.c:1278: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘menu_items’
gfio.c:1297: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘nmenu_items’
gfio.c:1299: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
gfio.c:1335: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
gfio.c:1352: error: expected ‘)’ before ‘*’ token
gfio.c:1358: error: expected ‘)’ before ‘*’ token
gfio.c:1371: error: expected ‘)’ before ‘*’ token
gfio.c:1381: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
gfio.c:1484: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
gfio.c:1570: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘notebook_switch_page’
gfio.c:1591: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘compare_recent_items’
gfio.c: In function ‘add_recent_file_items’:
gfio.c:1601: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
gfio.c:1601: error: ‘gfio’ undeclared (first use in this function)
gfio.c:1601: warning: implicit declaration of function ‘g_get_application_name’
gfio.c:1602: error: ‘GList’ undeclared (first use in this function)
gfio.c:1602: error: ‘items’ undeclared (first use in this function)
gfio.c:1602: error: ‘item’ undeclared (first use in this function)
gfio.c:1602: warning: left-hand operand of comma expression has no effect
gfio.c:1603: warning: ISO C90 forbids mixed declarations and code
gfio.c:1605: error: ‘struct gui’ has no member named ‘recent_ui_id’
gfio.c:1606: warning: implicit declaration of function ‘gtk_ui_manager_remove_ui’
gfio.c:1606: error: ‘struct gui’ has no member named ‘uimanager’
gfio.c:1606: error: ‘struct gui’ has no member named ‘recent_ui_id’
gfio.c:1607: warning: implicit declaration of function ‘gtk_ui_manager_ensure_update’
gfio.c:1607: error: ‘struct gui’ has no member named ‘uimanager’
gfio.c:1609: error: ‘struct gui’ has no member named ‘recent_ui_id’
gfio.c:1609: warning: implicit declaration of function ‘gtk_ui_manager_new_merge_id’
gfio.c:1609: error: ‘struct gui’ has no member named ‘uimanager’
gfio.c:1611: error: ‘struct gui’ has no member named ‘actiongroup’
gfio.c:1612: warning: implicit declaration of function ‘gtk_ui_manager_remove_action_group’
gfio.c:1612: error: ‘struct gui’ has no member named ‘uimanager’
gfio.c:1612: error: ‘struct gui’ has no member named ‘actiongroup’
gfio.c:1613: warning: implicit declaration of function ‘g_object_unref’
gfio.c:1613: error: ‘struct gui’ has no member named ‘actiongroup’
gfio.c:1615: error: ‘struct gui’ has no member named ‘actiongroup’
gfio.c:1615: warning: implicit declaration of function ‘gtk_action_group_new’
gfio.c:1617: warning: implicit declaration of function ‘gtk_ui_manager_insert_action_group’
gfio.c:1617: error: ‘struct gui’ has no member named ‘uimanager’
gfio.c:1617: error: ‘struct gui’ has no member named ‘actiongroup’
gfio.c:1619: warning: implicit declaration of function ‘gtk_recent_manager_get_items’
gfio.c:1619: error: ‘struct gui’ has no member named ‘recentmanager’
gfio.c:1620: warning: implicit declaration of function ‘g_list_sort’
gfio.c:1620: error: ‘GCompareFunc’ undeclared (first use in this function)
gfio.c:1620: error: expected ‘)’ before ‘compare_recent_items’
gfio.c:1622: warning: implicit declaration of function ‘g_list_next’
gfio.c:1623: error: ‘GtkRecentInfo’ undeclared (first use in this function)
gfio.c:1623: error: ‘info’ undeclared (first use in this function)
gfio.c:1623: error: expected expression before ‘)’ token
gfio.c:1624: error: ‘gchar’ undeclared (first use in this function)
gfio.c:1624: error: ‘action_name’ undeclared (first use in this function)
gfio.c:1625: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
gfio.c:1625: warning: ISO C90 forbids mixed declarations and code
gfio.c:1625: error: ‘label’ undeclared (first use in this function)
gfio.c:1626: error: ‘GtkAction’ undeclared (first use in this function)
gfio.c:1626: error: ‘action’ undeclared (first use in this function)
gfio.c:1628: warning: implicit declaration of function ‘gtk_recent_info_has_application’
gfio.c:1634: warning: implicit declaration of function ‘gtk_recent_info_is_local’
gfio.c:1634: warning: implicit declaration of function ‘gtk_recent_info_exists’
gfio.c:1637: warning: implicit declaration of function ‘g_strdup_printf’
gfio.c:1638: warning: implicit declaration of function ‘gtk_recent_info_get_display_name’
gfio.c:1640: warning: implicit declaration of function ‘g_object_new’
gfio.c:1640: error: ‘GTK_TYPE_ACTION’ undeclared (first use in this function)
gfio.c:1644: warning: implicit declaration of function ‘g_object_set_data_full’
gfio.c:1645: warning: implicit declaration of function ‘gtk_recent_info_ref’
gfio.c:1646: error: ‘GDestroyNotify’ undeclared (first use in this function)
gfio.c:1646: error: expected ‘)’ before ‘gtk_recent_info_unref’
gfio.c:1649: error: ‘recent_open’ undeclared (first use in this function)
gfio.c:1651: warning: implicit declaration of function ‘gtk_action_group_add_action’
gfio.c:1651: error: ‘struct gui’ has no member named ‘actiongroup’
gfio.c:1654: warning: implicit declaration of function ‘gtk_ui_manager_add_ui’
gfio.c:1654: error: ‘struct gui’ has no member named ‘uimanager’
gfio.c:1654: error: ‘struct gui’ has no member named ‘recent_ui_id’
gfio.c:1657: error: ‘GTK_UI_MANAGER_MENUITEM’ undeclared (first use in this function)
gfio.c:1657: error: ‘FALSE’ undeclared (first use in this function)
gfio.c:1665: warning: implicit declaration of function ‘g_list_foreach’
gfio.c:1665: error: ‘GFunc’ undeclared (first use in this function)
gfio.c:1665: error: expected ‘)’ before ‘gtk_recent_info_unref’
gfio.c:1666: warning: implicit declaration of function ‘g_list_free’
gfio.c: At top level:
gfio.c:1669: error: expected ‘)’ before ‘*’ token
gfio.c: In function ‘init_ui’:
gfio.c:1698: error: ‘GtkSettings’ undeclared (first use in this function)
gfio.c:1698: error: ‘settings’ undeclared (first use in this function)
gfio.c:1699: error: ‘GtkWidget’ undeclared (first use in this function)
gfio.c:1699: error: ‘vbox’ undeclared (first use in this function)
gfio.c:1705:23: error: missing binary operator before token “(”
gfio.c:1710: warning: implicit declaration of function ‘gdk_threads_init’
gfio.c:1712: warning: implicit declaration of function ‘gtk_init’
gfio.c:1713: warning: implicit declaration of function ‘gtk_settings_get_default’
gfio.c:1714: warning: implicit declaration of function ‘gtk_settings_set_long_property’
gfio.c:1715:24: error: missing binary operator before token “(”
gfio.c:1718: warning: implicit declaration of function ‘gdk_color_parse’
gfio.c:1718: error: ‘gfio_color_lightyellow’ undeclared (first use in this function)
gfio.c:1719: error: ‘gfio_color_white’ undeclared (first use in this function)
gfio.c:1721: error: ‘struct gui’ has no member named ‘window’
gfio.c:1721: error: ‘GTK_WINDOW_TOPLEVEL’ undeclared (first use in this function)
gfio.c:1722: error: ‘struct gui’ has no member named ‘window’
gfio.c:1723: error: ‘struct gui’ has no member named ‘window’
我在make gfio的时候提示很多错误,我所在redhat 5.0下安装的,请帮忙看下!
gfio.c:1725: error: ‘struct gui’ has no member named ‘window’
gfio.c:1726: error: ‘struct gui’ has no member named ‘window’
gfio.c:1728: error: ‘struct gui’ has no member named ‘vbox’
gfio.c:1728: error: ‘FALSE’ undeclared (first use in this function)
gfio.c:1729: error: ‘struct gui’ has no member named ‘window’
gfio.c:1729: error: ‘struct gui’ has no member named ‘vbox’
gfio.c:1731: error: ‘struct gui’ has no member named ‘uimanager’
gfio.c:1731: warning: implicit declaration of function ‘gtk_ui_manager_new’
gfio.c:1732: error: ‘struct gui’ has no member named ‘menu’
gfio.c:1732: warning: implicit declaration of function ‘get_menubar_menu’
gfio.c:1732: error: ‘struct gui’ has no member named ‘window’
gfio.c:1732: error: ‘struct gui’ has no member named ‘uimanager’
gfio.c:1733: warning: implicit declaration of function ‘gfio_ui_setup’
gfio.c:1733: error: ‘struct gui’ has no member named ‘menu’
gfio.c:1733: error: ‘struct gui’ has no member named ‘vbox’
gfio.c:1733: error: ‘struct gui’ has no member named ‘uimanager’
gfio.c:1735: error: ‘struct gui’ has no member named ‘recentmanager’
gfio.c:1735: warning: implicit declaration of function ‘gtk_recent_manager_get_default’
gfio.c:1738: error: ‘struct gui’ has no member named ‘notebook’
gfio.c:1738: warning: implicit declaration of function ‘gtk_notebook_new’
gfio.c:1739: error: ‘struct gui’ has no member named ‘notebook’
gfio.c:1739: error: ‘notebook_switch_page’ undeclared (first use in this function)
gfio.c:1740: warning: implicit declaration of function ‘gtk_notebook_set_scrollable’
gfio.c:1740: error: ‘struct gui’ has no member named ‘notebook’
gfio.c:1741: warning: implicit declaration of function ‘gtk_notebook_popup_enable’
gfio.c:1741: error: ‘struct gui’ has no member named ‘notebook’
gfio.c:1742: error: ‘struct gui’ has no member named ‘vbox’
gfio.c:1742: error: ‘struct gui’ has no member named ‘notebook’
gfio.c:1744: warning: implicit declaration of function ‘new_main_page’
gfio.c:1745: warning: implicit declaration of function ‘gtk_drag_dest_set’
gfio.c:1745: error: ‘struct gui’ has no member named ‘window’
gfio.c:1745: error: ‘GTK_DEST_DEFAULT_ALL’ undeclared (first use in this function)
gfio.c:1745: error: ‘GDK_ACTION_COPY’ undeclared (first use in this function)
gfio.c:1746: warning: implicit declaration of function ‘gtk_drag_dest_add_uri_targets’
gfio.c:1746: error: ‘struct gui’ has no member named ‘window’
gfio.c:1747: error: ‘struct gui’ has no member named ‘window’
gfio.c:1747: error: ‘drag_and_drop_received’ undeclared (first use in this function)
gfio.c:1749: error: ‘struct gui’ has no member named ‘notebook’
gfio.c:1753: error: ‘struct gui’ has no member named ‘window’
gfio.c: In function ‘main’:
gfio.c:1765: error: ‘main_ui’ undeclared (first use in this function)
gfio.c:1765: warning: left-hand operand of comma expression has no effect
gfio.c:1766: warning: implicit declaration of function ‘g_hash_table_new’
gfio.c:1766: error: ‘g_int_hash’ undeclared (first use in this function)
gfio.c:1766: error: ‘g_int_equal’ undeclared (first use in this function)
gfio.c:1770: warning: implicit declaration of function ‘gdk_threads_enter’
gfio.c:1771: warning: implicit declaration of function ‘gtk_main’
gfio.c:1772: warning: implicit declaration of function ‘gdk_threads_leave’
gfio.c:1774: warning: implicit declaration of function ‘g_hash_table_destroy’
make: *** [gfio.o] Error 1