Closed Bug 1066744 Opened 10 years ago Closed 10 years ago

Build collectd for OSX 10.10 Yosemite

Categories

(Infrastructure & Operations :: RelOps: General, task)

x86
macOS
task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dividehex, Assigned: dustin)

References

Details

(Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/437])

Attachments

(1 file)

I'm assuming we will need a new build of collectd for 10.10 since every other OSX major version required it.
Assignee: jwatkins → dustin
A Pivotal Tracker story has been created for this Bug: https://www.pivotaltracker.com/story/show/80405656
Blocks: 1078882
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../src -I../../src/libcollectdclient/collectd -I../../src -Wall -Werror -g -O2 -c network_buffer.c  -fno-common -DPIC -o .libs/libcollectdclient_la-network_buffer.o
> network_buffer.c:150:17: error: expected ')'
> static uint64_t htonll (uint64_t val) /* {{{ */
>                 ^
> /usr/include/sys/_endian.h:141:25: note: expanded from macro 'htonll'
> #define htonll(x)       __DARWIN_OSSwapInt64(x)
>                         ^
> /usr/include/libkern/_OSByteOrder.h:78:30: note: expanded from macro '__DARWIN_OSSwapInt64'
>     (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
>                              ^
> network_buffer.c:150:17: note: to match this '('
> /usr/include/sys/_endian.h:141:25: note: expanded from macro 'htonll'
> #define htonll(x)       __DARWIN_OSSwapInt64(x)
>                         ^
> /usr/include/libkern/_OSByteOrder.h:78:5: note: expanded from macro '__DARWIN_OSSwapInt64'
>     (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
>     ^
> network_buffer.c:150:17: error: definition of builtin function '__builtin_constant_p'
> static uint64_t htonll (uint64_t val) /* {{{ */
>                 ^
> /usr/include/sys/_endian.h:141:25: note: expanded from macro 'htonll'
> #define htonll(x)       __DARWIN_OSSwapInt64(x)
>                         ^
> /usr/include/libkern/_OSByteOrder.h:78:6: note: expanded from macro '__DARWIN_OSSwapInt64'
>     (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
>      ^
> 2 errors generated.
> make[4]: *** [libcollectdclient_la-network_buffer.lo] Error 1
> make[3]: *** [all] Error 2
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all] Error 2
> make: *** [all-recursive] Error 1
autoconf is mis-identifying HAVE_HTONLL.  Debugging autoconf takes me back!

configure:17365: checking if have htonll defined
configure:17389: gcc -o conftest -g -O2   conftest.c  >&5
conftest.c:169:1: error: expected identifier or '('
[
^
In file included from conftest.c:170:
In file included from /usr/include/sys/types.h:78:
In file included from /usr/include/machine/types.h:35:
In file included from /usr/include/i386/types.h:70:
/usr/include/i386/_types.h:37:1: error: expected expression
typedef __signed char           __int8_t;
^
conftest.c:175:1: error: expected identifier or '('
]
^
3 errors generated.
configure:17389: $? = 1
configure: failed program was:
...
| /* end confdefs.h.  */
| [
| #include <sys/types.h>
| #include <netinet/in.h>
| #if HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| ]
| int
| main ()
| {
| [
|           return htonll(0);
| ]
|
|   ;
|   return 0;
| }

In configure.in:

# Check for htonll
AC_MSG_CHECKING([if have htonll defined])

    have_htonll="no"
    AC_LINK_IFELSE([AC_LANG_PROGRAM(
[[[
#include <sys/types.h>
#include <netinet/in.h>
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
]]],
[[[
          return htonll(0);
]]]
    )],
    [
      have_htonll="yes"
      AC_DEFINE(HAVE_HTONLL, 1, [Define if the function htonll exists.])
    ])

AC_MSG_RESULT([$have_htonll])

Why they have the triple-[], I couldn't tell you, although it's used in several other places in configure.in.  And it fails for the same reason on Lion.  It looks like the correct answer for those HAVE_FOOs is all "no", so it doesn't end up hurting anything.

I'll write a local patch for configure, but we should report this upstream, too.  Jake, where do we send that?
Flags: needinfo?(jwatkins)
Attached patch bug1066744.patchSplinter Review
Attachment #8508290 - Flags: review?(rail)
Oh, on Github.  I guess I could have looked there first!

https://github.com/collectd/collectd/pull/769
Flags: needinfo?(jwatkins)
Attachment #8508290 - Flags: review?(rail) → review+
Whiteboard: [kanban:engops:https://kanbanize.com/ctrl_board/6/437]
Whiteboard: [kanban:engops:https://kanbanize.com/ctrl_board/6/437] → [kanban:engops:https://kanbanize.com/ctrl_board/6/442]
Whiteboard: [kanban:engops:https://kanbanize.com/ctrl_board/6/442]
Whiteboard: [kanban:engops:https://kanbanize.com/ctrl_board/6/520]
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Whiteboard: [kanban:engops:https://kanbanize.com/ctrl_board/6/520]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/437]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: