[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 Thu \
Apr 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 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; "> # include \
<endian.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><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px \
Helvetica; min-height: 14.0px"> <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 \
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 1234 /* 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 <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; "> #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) && !defined(ntohl) \
&& !defined(lint) && !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 \
*/</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; "> # 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; "> # \
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; "> # 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. 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