<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Georgia;
        panose-1:2 4 5 2 5 4 5 2 3 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>I’m having trouble building rrdtool 1.4.5 on SuSE Linux 10.2. Looks like the Makefile for rrdtool can’t find glib.h.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The critical part of the make output seems to be:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>CC rrdcached-rrd_daemon.o<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:116:27: error: glib-2.0/glib.h: No such file or directory<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:254: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before â*â token<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Noticing the special characters, I wonder if I have a $LANG problem.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I installed glib-2 from source into the (hoped-for!) install dir for rrdtool and I think I have all the environmental vars set as laid out in the rrdtool build instructions.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>export INSTALL_DIR=/usr/local/nagios/rrdtool-1.4.5<o:p></o:p></p><p class=MsoNormal>export LDFLAGS="-Wl,--rpath -Wl,${INSTALL_DIR}/lib"<o:p></o:p></p><p class=MsoNormal>export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>glib built and installed with no apparent problems using <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>./configure --prefix=$INSTALL_DIR CFLAGS="-O3 -fPIC" && make && make install<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here’s the complete make output for rrdtool:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>make all-recursive<o:p></o:p></p><p class=MsoNormal>make[1]: Entering directory `/opt/nagios/src/rrdtool-1.4.5'<o:p></o:p></p><p class=MsoNormal>Making all in po<o:p></o:p></p><p class=MsoNormal>make[2]: Entering directory `/opt/nagios/src/rrdtool-1.4.5/po'<o:p></o:p></p><p class=MsoNormal>make[2]: Leaving directory `/opt/nagios/src/rrdtool-1.4.5/po'<o:p></o:p></p><p class=MsoNormal>Making all in src<o:p></o:p></p><p class=MsoNormal>make[2]: Entering directory `/opt/nagios/src/rrdtool-1.4.5/src'<o:p></o:p></p><p class=MsoNormal> CC hash_32.lo<o:p></o:p></p><p class=MsoNormal> CC pngsize.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_create.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_graph.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_graph_helper.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_version.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_last.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_lastupdate.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_first.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_restore.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_xport.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_gfx.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_dump.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_flushcached.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_fetch.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_resize.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_tune.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_parsetime.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_hw.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_hw_math.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_hw_update.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_diff.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_format.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_info.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_error.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_open.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_client.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_nan_inf.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_rpncalc.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_utils.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_update.lo<o:p></o:p></p><p class=MsoNormal> CC rrd_not_thread_safe.lo<o:p></o:p></p><p class=MsoNormal> CCLD librrdupd.la<o:p></o:p></p><p class=MsoNormal> CCLD librrd.la<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_parsetime.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_hw.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_hw_math.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_hw_update.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_diff.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_format.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_info.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_error.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_open.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_client.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_nan_inf.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_rpncalc.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_utils.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_update.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-hash_32.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-pngsize.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_create.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_graph.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_graph_helper.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_version.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_last.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_lastupdate.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_first.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_restore.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_xport.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_gfx.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_dump.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_flushcached.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_fetch.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_resize.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_tune.lo<o:p></o:p></p><p class=MsoNormal> CC librrd_th_la-rrd_thread_safe.lo<o:p></o:p></p><p class=MsoNormal> CCLD librrd_th.la<o:p></o:p></p><p class=MsoNormal> CC rrd_tool.o<o:p></o:p></p><p class=MsoNormal>In file included from rrd_i18n.h:18,<o:p></o:p></p><p class=MsoNormal> from rrd_tool.c:19:<o:p></o:p></p><p class=MsoNormal>gettext.h:176:6: warning: "__STRICT_ANSI__" is not defined<o:p></o:p></p><p class=MsoNormal>gettext.h:200:5: warning: "__STRICT_ANSI__" is not defined<o:p></o:p></p><p class=MsoNormal>gettext.h:215:6: warning: "__STRICT_ANSI__" is not defined<o:p></o:p></p><p class=MsoNormal>gettext.h:246:5: warning: "__STRICT_ANSI__" is not defined<o:p></o:p></p><p class=MsoNormal>gettext.h:261:6: warning: "__STRICT_ANSI__" is not defined<o:p></o:p></p><p class=MsoNormal> CCLD rrdtool<o:p></o:p></p><p class=MsoNormal> CC rrdupdate.o<o:p></o:p></p><p class=MsoNormal> CCLD rrdupdate<o:p></o:p></p><p class=MsoNormal> CC rrdcached-rrd_daemon.o<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:116:27: error: glib-2.0/glib.h: No such file or directory<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:254: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before â*â token<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: In function âadd_response_infoâ:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:548: warning: implicit declaration of function âva_startâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:548: warning: nested extern declaration of âva_startâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:554: warning: implicit declaration of function âva_endâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:554: warning: nested extern declaration of âva_endâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: At top level:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:777: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âtree_callback_flushâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: In function âflush_old_valuesâ:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:829: warning: implicit declaration of function âg_tree_foreachâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:829: warning: nested extern declaration of âg_tree_foreachâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:829: error: âcache_treeâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:829: error: (Each undeclared identifier is reported only once<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:829: error: for each function it appears in.)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:829: error: âtree_callback_flushâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:829: error: âgpointerâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:833: error: âgbooleanâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:833: error: expected â;â before âstatusâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:836: error: âstatusâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:836: error: âTRUEâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: In function âqueue_thread_mainâ:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:966: warning: implicit declaration of function âg_tree_lookupâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:966: warning: nested extern declaration of âg_tree_lookupâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:966: error: âcache_treeâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:966: warning: cast to pointer from integer of different size<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: In function âflush_fileâ:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1110: error: âcache_treeâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1110: warning: cast to pointer from integer of different size<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: In function âhandle_request_statsâ:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1166: warning: implicit declaration of function âg_tree_nnodesâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1166: warning: nested extern declaration of âg_tree_nnodesâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1166: error: âcache_treeâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1167: warning: implicit declaration of function âg_tree_heightâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1167: warning: nested extern declaration of âg_tree_heightâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: In function âhandle_request_pendingâ:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1257: error: âcache_treeâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1257: warning: assignment makes pointer from integer without a cast<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: In function âhandle_request_forgetâ:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1274: error: âgbooleanâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1274: error: expected â;â before âfoundâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1285: error: âfoundâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1285: warning: implicit declaration of function âg_tree_removeâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1285: warning: nested extern declaration of âg_tree_removeâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1285: error: âcache_treeâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1288: error: âTRUEâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: In function âhandle_request_updateâ:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1345: error: âcache_treeâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1345: warning: assignment makes pointer from integer without a cast<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1400: warning: assignment makes pointer from integer without a cast<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1402: warning: implicit declaration of function âg_tree_replaceâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1402: warning: nested extern declaration of âg_tree_replaceâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: In function âhandle_request_wroteâ:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1490: error: âcache_treeâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:1490: warning: assignment makes pointer from integer without a cast<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: In function âdaemonizeâ:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:2767: error: âcache_treeâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:2767: warning: implicit declaration of function âg_tree_new_fullâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:2767: warning: nested extern declaration of âg_tree_new_fullâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:2767: error: âGCompareDataFuncâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:2767: error: expected â)â before âstrcmpâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c: In function âcleanupâ:<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:2801: warning: implicit declaration of function âg_tree_destroyâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:2801: warning: nested extern declaration of âg_tree_destroyâ<o:p></o:p></p><p class=MsoNormal>rrd_daemon.c:2801: error: âcache_treeâ undeclared (first use in this function)<o:p></o:p></p><p class=MsoNormal>make[2]: *** [rrdcached-rrd_daemon.o] Error 1<o:p></o:p></p><p class=MsoNormal>make[2]: Leaving directory `/opt/nagios/src/rrdtool-1.4.5/src'<o:p></o:p></p><p class=MsoNormal>make[1]: *** [all-recursive] Error 1<o:p></o:p></p><p class=MsoNormal>make[1]: Leaving directory `/opt/nagios/src/rrdtool-1.4.5'<o:p></o:p></p><p class=MsoNormal>make: *** [all] Error 2<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif";color:#548DD4'>Andy Ford<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif";color:#548DD4'>Network Security Engineer | Solutions Design & Automation| Information Security Technology<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif";color:#548DD4'>314-348-4937<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Georgia","serif";color:#548DD4'>andrew.ford@wellsfargo.com<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>