Error when compiling on OS X 10.6.7 w/ Git repo and MacPorts

23 views
Skip to first unread message

p3k

unread,
Jun 16, 2011, 5:04:00 PM6/16/11
to open-l...@googlegroups.com
Hi there

I tried to install OLA following the information at http://www.opendmx.net/index.php/OLA_on_OS_X using the MacPorts libraries and a fresh checkout via git – but I get an error after issuing make:

libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I/opt/local/include -I../../../include -Wall -Wformat -W -Werror -Wconversion -W -I/opt/local/include/ -g -O2 -MT libolae131core_la-CID.lo -MD -MP -MF .deps/libolae131core_la-CID.Tpo -c CID.cpp  -fno-common -DPIC -o .libs/libolae131core_la-CID.o
CID.cpp: In member function 'void ola::plugin::e131::CID::Pack(uint8_t*) const':
CID.cpp:67: error: invalid static_cast from type 'char**' to type 'void**'
CID.cpp: In member function 'std::string ola::plugin::e131::CID::ToString() const':
CID.cpp:104: error: invalid static_cast from type 'char**' to type 'void**'
make[4]: *** [libolae131core_la-CID.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Would be glad if someone could help.

Cheers,
tobi

Simon Newton

unread,
Jun 16, 2011, 5:15:11 PM6/16/11
to open-l...@googlegroups.com

Out of interest what does g++ --version return?

Simon

> Cheers,
> tobi
>
> --
> open-l...@googlegroups.com /
> http://groups.google.com/group/open-lighting
> To unsubscribe email open-lightin...@googlegroups.com

p3k

unread,
Jun 16, 2011, 5:26:10 PM6/16/11
to open-l...@googlegroups.com
$ g++ --version
i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Simon Newton

unread,
Jun 16, 2011, 7:05:38 PM6/16/11
to open-l...@googlegroups.com

Strange, that's the same one I'm using. I've pushed a change to the
git repo, please update and try again.

Simon

p3k

unread,
Jun 17, 2011, 2:10:35 AM6/17/11
to open-l...@googlegroups.com
Thanks, now the compilation continued but another error is popping up later:

Making all in e133
g++ -DHAVE_CONFIG_H -I. -I../..  -I../../include -Wall -Wformat -W -Werror -I/opt/local/include/  -g -O2 -MT e133-controller.o -MD -MP -MF .deps/e133-controller.Tpo -c -o e133-controller.o e133-controller.cpp
In file included from ../../plugins/e131/e131/CID.h:31,
                 from ../../plugins/e131/e131/RootHeader.h:24,
                 from ../../plugins/e131/e131/HeaderSet.h:29,
                 from ../../plugins/e131/e131/BaseInflator.h:30,
                 from ../../plugins/e131/e131/UDPTransport.h:30,
                 from e133-controller.cpp:38:
/opt/local/include/ossp/uuid.h:94: error: conflicting declaration ‘typedef struct uuid_st uuid_t’
/usr/include/unistd.h:133: error: ‘uuid_t’ has a previous declaration as ‘typedef unsigned char uuid_t [16]’
make[3]: *** [e133-controller.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Cheers,
tobi

PS. I tried if switching to another compiler might help (by using sudo port select --set gcc mp-gcc45) but I get the same error.

Simon Newton

unread,
Jun 17, 2011, 6:28:00 AM6/17/11
to open-l...@googlegroups.com

You've got the OSSP version of uuid installed in
/opt/local/include/ossp/uuid.h . You can confirm this with

$ port list installed | grep uuid


Mac OS comes with it's own version of uuid so you don't need this.
That said OLA is designed to work with either, but the mac version in
/usr/include/unistd.h is overriding the ossp version. Let me see if I
can shuffle the header order and fix it.

In the meantime if you don't need ossp uuid you should remove it.

p3k

unread,
Jun 17, 2011, 3:46:44 PM6/17/11
to open-l...@googlegroups.com
OK, deactivating ossp-uuid did the job and OLA compiled without further error. 

Thanks for your help!

I can confirm olad generally working now although one test failed when invoking “make check”:

RootLayerTest.cpp:50: Assertion
Test name: ola::plugin::e131::RootLayerTest::testRootLayer
assertion failed
- Expression: false

Failures !!!
Run: 40   Failure total: 1   Failures: 1   Errors: 0
FAIL: E131Tester
==================
1 of 1 test failed
==================
make[4]: *** [check-TESTS] Error 1
make[3]: *** [check-am] Error 2
make[2]: *** [check-recursive] Error 1
make[1]: *** [check-recursive] Error 1
make: *** [check-recursive] Error 1

Cheers,
tobi

Simon Newton

unread,
Jun 17, 2011, 5:47:22 PM6/17/11
to open-l...@googlegroups.com

This is fixed now (but you've uninstalled anyway which is the better solution).

Simon

Simon Newton

unread,
Jun 17, 2011, 5:50:17 PM6/17/11
to open-l...@googlegroups.com

That's strange. Is it only that test that fails? Does the same thing
happen every time you run it?

What's you're firewall policy set to? If you machine blocks packets
this will fail.

Simon


> Cheers,
> tobi

Reply all
Reply to author
Forward
0 new messages