Trouble with modsk inside docker


#1

Hello,

I’m having trouble setting up the dev server inside docker.
I’ve build my plugin ok, and python3 setup.py build ran ok, but when I try to run it, I get the following:

builder@f84265743a99:~/mod-sdk$ python3 ./development_server.py
Using raw lilv for plugin info (without checks)
Traceback (most recent call last):
  File "./development_server.py", line 4, in <module>
    from modsdk.webserver import run
  File "/home/builder/mod-sdk/modsdk/webserver.py", line 64, in <module>
    from modsdk.utils import (init as lv2_init,
  File "/home/builder/mod-sdk/modsdk/utils.py", line 134, in <module>
    utils = cdll.LoadLibrary(tryPath2)
  File "/usr/lib/python3.5/ctypes/__init__.py", line 425, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python3.5/ctypes/__init__.py", line 347, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /home/builder/mod-sdk/modsdk/../utils/libmod_utils.so: wrong ELF class: ELFCLASS32

It seems like the libmod_utils.so was build for a 32 bit arch but I’m running on a 64 bit machine:

Linux f84265743a99 4.4.83-boot2docker #1 SMP Fri Aug 18 17:31:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux```


The command that generates that so is: 
```arm-mod-linux-gnueabihf-g++ utils_lilv.cpp.o -isystem /home/builder/mod-workdir/plugins-dep/staging/usr/lib -Wl,-O1 -Wl,--no-undefined -Wl,--strip-all -shared -L/home/builder/mod-workdir/plugins-dep/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -llilv-0  -ldl -lsratom-0 -lsord-0 -lserd-0   -o libmod_utils.so ```


Other people seem to have build successfully from inside the docker container. 
Any idea why this doesn't work?

#2

It’s not really a 32bit binary in the way you expect, that’s a ARMv7 one because it’s compiled using the toolchain.

When building the mod-sdk, you need to build it for the native architecture.
unset CC, CXX, CFLAGS etc before building mod-sdk.


#3

Thank you! Got it to work now.

Thanks for your help!


#4

Hey, could you share the steps to get this running? I’m running into the same Elf trouble - and am a bit lost…