Problem compiling OLA
Rui Barreiros
rbarreiros at gmail.com
Wed May 4 18:42:10 CEST 2016
Hi,
I've been trying to compile OLA (https://www.openlighting.org) but been
having so many problems I'm melting my brains out !!
To build OLA without any plugins, and all superfluous stuff disabled
(doc, examples, etc) requires protobuf and uuid, I managed successfully
to build and install this libraries (uuid is provided by util-linux), I
just make a plain DESTDIR=$(PATH_FS) make install for uuid and protobuf.
OLA relies on either pkg-config or env variables to find protobuf and
uuid, I tried both and the problem I have happens on any.
My problem is, OLA binaries have the lib path hardcoded and when I run
them on the raspberry pi, it just hangs forever, an strace reveals:
root at tridmx_raspi_b_rev2-952bbb2c:~> strace olad
execve("/usr/bin/olad", ["olad"], [/* 15 vars */]) = 0
brk(0) = 0x15000
uname({sys="Linux", node="tridmx_raspi_b_rev2-952bbb2c", ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xa6ffc000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or
directory)
open("/home/rbarreiros/Projectos/RaspberryPi/nard/nard-git/intermediate/fs/usr/lib/tls/v6l/vfp/libolaserver.so.0",
O_RDONLY|O_CLOEXEC) = -1 ELOOP (Too many levels of symbolic links)
stat64("/home/rbarreiros/Projectos/RaspberryPi/nard/nard-git/intermediate/fs/usr/lib/tls/v6l/vfp",
Everytime an open/stat call is made, it takes a long long time, until it
receives the ELOOP error and attempts another path to try and open
libolaserver.so.0
Here is the configure/build section for ola Makefile
To properly build ola for another system, one needs to build
ola_protoc_plugin natively first, as it's used by the protoc (which
needs to be built natively first also) to parse from protobuf message
files during build, then the cross compilation is done.
# Need to build a native ola-protoc-plugin first
if [ ! -e native/protoc/ola_protoc_plugin ]; then \
cd native && env CFLAGS="" CPPFLAGS="" LDFLAGS=""
PKG_CONFIG="/usr/bin/pkg-config" \
./configure \
--disable-all-plugins \
--disable-osc \
--disable-uart \
--disable-libusb \
--disable-libftdi \
--disable-http \
--disable-examples \
--disable-unittests \
--disable-doxygen-html \
--disable-doxygen-doc \
--without-dns-sd \
&& $(MAKE) -j "$(CPUS)" protoc/ola_protoc_plugin; fi
cd $(dir $@) && env PKG_CONFIG_DIR=""
PKG_CONFIG_LIBDIR="$(PATH_FS)/usr/lib/pkgconfig:$(PATH_FS)/usr/share/pkgconfig"
PKG_CONFIG_SYSROOT_DIR="$(PATH_FS)" \
CFLAGS="$(CROSS_CFLAGS)" \
CPPFLAGS="$(CROSS_CFLAGS)" \
LDFLAGS="-Wl,-rpath -Wl,/usr/lib -Wl,-rpath-link
-Wl,$(PATH_FS)/usr/lib -L$(PATH_FS)/lib -L$(PATH_FS)/usr/lib" \
PKG_CONFIG="/usr/bin/pkg-config" \
./configure \
ac_cv_func_malloc_0_nonnull=yes
ac_cv_func_realloc_0_nonnull=yes \
libprotobuf_CFLAGS="-I$(PATH_FS)/usr/include
-L$(PATH_FS)/usr/lib -Wl,-rpath-link,$(PATH_FS)/usr/lib" \
libprotobuf_LIBS="-L$(PATH_FS)/usr/lib -lprotobuf
-lprotoc" \
base_uuid_CFLAGS="-I$(PATH_FS)/usr/include
-L$(PATH_FS)/usr/lib -Wl,-rpath-link,$(PATH_FS)/usr/lib" \
base_uuid_LIBS="-L$(PATH_FS)/usr/lib -luuid" \
--prefix=/usr \
--host=$(CROSS_TUPLE) \
--target=$(CROSS_TUPLE) \
--disable-dependency-tracking \
--without-dns-sd \
--with-protoc=$(PATH_APPS)/protobuf/native/src/protoc \
--with-ola-protoc-plugin=$(PATH_APPS)/ola/native/protoc/ola_protoc_plugin \
--disable-unittests \
--disable-examples \
--disable-rdm-tests \
--disable-doxygen-doc \
--disable-gcov \
--disable-tcmalloc \
--disable-root-check \
--disable-java-libs \
--disable-python-libs \
--disable-fatal-warnings \
--disable-all-plugins
$(MAKE) -C "$(PKG_VER)" -j $(CPUS)
Worthy of note, I couldn't finish OLA compilation because I kept getting
an error where libtool couldn't find it's libraries (OLA libraries) and
suggested using rpath or rpath-link, I managed to fix this issue by
implementing a fix found here http://bugs.lttng.org/issues/321 in which
the configure script goes through all occurrences of link_all_deplibs in
config/libtool.m4 and replace all 'no|yes' to unknown.
Does anyone have any idea what I'm doing wrong ? or where the bug is ?
Best regards.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2109 bytes
Desc: S/MIME Cryptographic Signature
Url : http://www.arbetsmyra.dyndns.org/pipermail/nard/attachments/20160504/785d7e3b/attachment.bin
More information about the Nard
mailing list