Home > 工具介绍 > fio性能测试工具新添图形前端gfio

fio性能测试工具新添图形前端gfio

May 30th, 2013

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: 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之类的),如下图:
Screenshot at 2013-05-30 20:48:41

有图有真像!

祝玩得开心!

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: 工具介绍 Tags: ,
  1. manus
    May 31st, 2013 at 12:59 | #1

    顶啊,最近正在学习fio bonnie++这些测评磁盘性能的东东

  2. Vincent Lai
    December 2nd, 2013 at 00:21 | #2

    褚霸兄您好,请问gfio安装后如何使用呢?直接gfio 不行,README中也没找到相应帮助,请教,谢!

    higkoo Reply:

    用vnc打开图型界面,运行gfio就有图形界面了。
    gfio自带了一些例子,可以直接打开运行,然后会自动出报告。

    不过里面的数据特别多!

    Yu Feng Reply:

    是的

  3. chengjing
    December 5th, 2013 at 09:21 | #3

    大神。我也是同问。。我到了这一步了:
    root@chengjing-OptiPlex-390:~/fio# ./fio -S
    fio: server listening on 0.0.0.0,8765
    可是再开一个终端要输入什么命令呢?

  4. allen
    April 15th, 2015 at 11:18 | #4

    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

Comments are closed.