[prev in list] [next in list] [prev in thread] [next in thread] 

List:       collectd
Subject:    [collectd] Solaris 10U4 compilation of 4.3.3
From:       Randy Bias <randyb () neotactics ! com>
Date:       2008-04-30 22:41:34
Message-ID: 2412FD5A-D070-4196-AC6C-7A71B9B30E0C () neotactics ! com
[Download RAW message or body]

I did not have a chance to troubleshoot all of the issues with  
building collectd, but this gave me a somewhat working version (YMMV):

make command:

make clean ; CFLAGS="-D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__" ./ 
configure --prefix=/usr/local/collectd --disable-apcups --disable-csv  
--disable-mysql --disable-swap --disable-snmp; gmake -j 4

patch to collectd.h, stealing from /usr/include/firefox/dbm/mcom_db.h

--- collectd-4.3.3/src/collectd.h       Thu Apr  3 06:52:16 2008
+++ collectd-4.3.3.solaris/src/collectd.h       Wed Apr 30 15:12:43 2008
@@ -126,7 +126,42 @@
  # include <endian.h>
  #endif

+#ifdef __sun
+#define BIG_ENDIAN      4321
+#define LITTLE_ENDIAN   1234            /* LSB first: i386, vax, all  
NT risc */
+
+#ifndef __SVR4
+/* compat.h is only in 4.1.3 machines. - dp */
+#include <compat.h>
+#endif
+
+/* XXX - dp
+ * Need to find a general way of defining endian-ness in SunOS 5.3
+ * SunOS 5.4 defines _BIG_ENDIAN and _LITTLE_ENDIAN
+ * SunOS 5.3 does nothing like this.
+ */
+
  #ifndef BYTE_ORDER
+
+#if defined(_BIG_ENDIAN)
+#define BYTE_ORDER BIG_ENDIAN
+#elif defined(_LITTLE_ENDIAN)
+#define BYTE_ORDER LITTLE_ENDIAN
+#elif !defined(__SVR4)
+/* 4.1.3 is always BIG_ENDIAN as it was released only on sparc  
platforms. */
+#define BYTE_ORDER BIG_ENDIAN
+#elif !defined(vax) && !defined(ntohl) && !defined(lint) && ! 
defined(i386)
+/* 5.3 big endian. Copied this above line from sys/byteorder.h */
+/* Now we are in a 5.3 SunOS rather non 5.4 or above SunOS  */
+#define BYTE_ORDER BIG_ENDIAN
+#else
+#define BYTE_ORDER LITTLE_ENDIAN
+#endif
+
+#endif /* !BYTE_ORDER */
+#endif /* __sun */
+
+#ifndef BYTE_ORDER
  # ifdef __BYTE_ORDER
  #  define BYTE_ORDER __BYTE_ORDER
  # endif


Ps.  If someone wants to help make this cleaner I will provide a  
Solaris and a Nexenta box to make it build on.

Randy Bias, chief tactician, neoTactics, Inc.
(877) NEO-TKTX, randyb@neotactics.com



[Attachment #3 (text/html)]

<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; \
-webkit-line-break: after-white-space; ">I did not have a chance to troubleshoot all \
of the issues with building collectd, but this gave me a somewhat working version \
(YMMV):<div><br></div><div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">make command:</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: \
0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">make clean ; CFLAGS="-D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__" \
./configure --prefix=/usr/local/collectd --disable-apcups --disable-csv \
--disable-mysql --disable-swap --disable-snmp; gmake -j 4</div><div \
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; \
font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div \
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; \
font: normal normal normal 12px/normal Helvetica; ">patch to collectd.h, stealing \
from /usr/include/firefox/dbm/mcom_db.h</div><div style="margin-top: 0px; \
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal \
12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; \
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal \
12px/normal Helvetica; ">--- collectd-4.3.3/src/collectd.h &nbsp; &nbsp; &nbsp; Thu \
Apr&nbsp; 3 06:52:16 2008</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">+++ collectd-4.3.3.solaris/src/collectd.h &nbsp; &nbsp; &nbsp; Wed Apr \
30 15:12:43 2008</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: \
0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">@@ -126,7 \
+126,42 @@</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; \
margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">&nbsp;# include \
&lt;endian.h></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: \
0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; \
">&nbsp;#endif</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px \
Helvetica; min-height: 14.0px">&nbsp;<br class="webkit-block-placeholder"></p><div \
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; \
font: normal normal normal 12px/normal Helvetica; ">+#ifdef __sun</div><div \
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; \
font: normal normal normal 12px/normal Helvetica; ">+#define BIG_ENDIAN&nbsp; &nbsp; \
&nbsp; 4321</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; \
margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">+#define \
LITTLE_ENDIAN &nbsp; 1234&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* LSB first: \
i386, vax, all NT risc */</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">+</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: \
0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">+#ifndef \
__SVR4</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; \
margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">+/* compat.h is \
only in 4.1.3 machines. - dp */</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">+#include &lt;compat.h></div><div style="margin-top: 0px; margin-right: \
0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">+#endif</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">+</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: \
0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">+/* XXX - \
dp</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; \
margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">+ * Need to \
find a general way of defining endian-ness in SunOS 5.3</div><div style="margin-top: \
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal \
normal 12px/normal Helvetica; ">+ * SunOS 5.4 defines _BIG_ENDIAN and \
_LITTLE_ENDIAN</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: \
0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">+ * SunOS \
5.3 does nothing like this.</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">+ */</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: \
0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; \
">+</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; \
margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">&nbsp;#ifndef \
BYTE_ORDER</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; \
margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">+</div><div \
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; \
font: normal normal normal 12px/normal Helvetica; ">+#if \
defined(_BIG_ENDIAN)</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">+#define BYTE_ORDER BIG_ENDIAN</div><div style="margin-top: 0px; \
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal \
12px/normal Helvetica; ">+#elif defined(_LITTLE_ENDIAN)</div><div style="margin-top: \
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal \
normal 12px/normal Helvetica; ">+#define BYTE_ORDER LITTLE_ENDIAN</div><div \
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; \
font: normal normal normal 12px/normal Helvetica; ">+#elif !defined(__SVR4)</div><div \
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; \
font: normal normal normal 12px/normal Helvetica; ">+/* 4.1.3 is always BIG_ENDIAN as \
it was released only on sparc platforms. */</div><div style="margin-top: 0px; \
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal \
12px/normal Helvetica; ">+#define BYTE_ORDER BIG_ENDIAN</div><div style="margin-top: \
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal \
normal 12px/normal Helvetica; ">+#elif !defined(vax) &amp;&amp; !defined(ntohl) \
&amp;&amp; !defined(lint) &amp;&amp; !defined(i386)</div><div style="margin-top: 0px; \
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal \
12px/normal Helvetica; ">+/* 5.3 big endian. Copied this above line from \
sys/byteorder.h */</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">+/* Now we are in a 5.3 SunOS rather non 5.4 or above SunOS&nbsp; \
*/</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; \
margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">+#define \
BYTE_ORDER BIG_ENDIAN</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">+#else</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">+#define BYTE_ORDER LITTLE_ENDIAN</div><div style="margin-top: 0px; \
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal \
12px/normal Helvetica; ">+#endif</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">+</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: \
0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">+#endif /* \
!BYTE_ORDER */</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: \
0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">+#endif /* \
__sun */</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; \
margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">+</div><div \
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; \
font: normal normal normal 12px/normal Helvetica; ">+#ifndef BYTE_ORDER</div><div \
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; \
font: normal normal normal 12px/normal Helvetica; ">&nbsp;# ifdef \
__BYTE_ORDER</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; \
margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">&nbsp;#&nbsp; \
define BYTE_ORDER __BYTE_ORDER</div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal \
Helvetica; ">&nbsp;# endif</div><div><font class="Apple-style-span" \
face="Helvetica"><br></font></div><div><br \
class="webkit-block-placeholder"></div><div apple-content-edited="true"> <span \
class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); \
font-family: 'Trebuchet MS'; font-size: 12px; font-style: normal; font-variant: \
normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; \
text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; \
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; \
-webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; \
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div \
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; \
">Ps. &nbsp;If someone wants to help make this cleaner I will provide a Solaris and a \
Nexenta box to make it build on.<br class="Apple-interchange-newline"><br \
class="khtml-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; \
margin-bottom: 0px; margin-left: 0px; ">Randy Bias, chief tactician, neoTactics, \
Inc.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; \
margin-left: 0px; ">(877) NEO-TKTX, <a \
href="mailto:randyb@neotactics.com">randyb@neotactics.com</a></div><br \
class="Apple-interchange-newline"></span> </div><br></div></body></html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic