that should copy the ne10/
folder as well. What is the #include
line that fails, exactly? In what file? If it is
#include <ne10/NE10.h>
, it should work!
Include file math_neon.h missing
- Edited
My bad. The script file wasn't getting saved out because of permissions. Now I don't have include file errors, but I do have the error below and a bunch more just like it. I just pulled from the dev branch.
In file included from ../core/AuxTaskRT.cpp:3:0:
../core/../include/xenomai_wraps.h: In function 'int create_and_start_thread(pthread_t*, const char*, int, int, void* (*)(void*), void*)':
../core/../include/xenomai_wraps.h:160:43: error: '__wrap_pthread_setname_np' was not declared in this scope
__wrap_pthread_setname_np(*task, taskName);
Right. I think that the order of the -I
parameters is wrong. You should have -I"/usr/local/linaro/BelaSysroot/usr/xenomai/include"
second, just after -I"/Users/Andy/Dropbox/Developer/Bela/include"
. I think in Eclipse you fix this by changing the order of the include path in the C++ build settings, but I haven't used Eclipse in ages.
- Edited
Doesn't seem to help:
Building file: ../core/I2c_Codec.cpp
Invoking: GCC C++ Compiler
arm-linux-gnueabihf-g++ -D_GNU_SOURCE -D_REENTRANT -D__COBALT__ -D__COBALT_WRAP__ -DXENOMAI_SKIN_posix -DXENOMAI_MAJOR=3 -DBELA_USE_RTDM -I"/Users/Andy/Dropbox/Developer/Bela/include" -I"/usr/local/linaro/BelaSysroot/usr/xenomai/include" -I"/usr/local/linaro/BelaSysroot/root/Bela/include" -I"/usr/local/linaro/BelaSysroot/usr/include" -I"/usr/local/linaro/BelaSysroot/usr/local/include" -I"/usr/local/linaro/BelaSysroot/usr/xenomai/include/cobalt/" -I/usr/local/linaro/arm-bela-linux-gnueabihf/lib/gcc/arm-bela-linux-gnueabihf/6.3.1/include/ -O0 -g3 -Wall -c -fmessage-length=0 -Wpointer-arith -Wunused-result -fpermissive -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon --fast-math -ftree-vectorize -ftree-vectorizer-verbose=10 -pthread -MMD -MP -MF"core/I2c_Codec.d" -MT"core/I2c_Codec.o" -o "core/I2c_Codec.o" "../core/I2c_Codec.cpp"
In file included from ../core/AuxTaskRT.cpp:3:0:
../core/../include/xenomai_wraps.h: In function 'int create_and_start_thread(pthread_t*, const char*, int, int, void* (*)(void*), void*)':
../core/../include/xenomai_wraps.h:160:43: error: '__wrap_pthread_setname_np' was not declared in this scope
__wrap_pthread_setname_np(*task, taskName);
BTW, what do you use instead of Eclipse? I'm always keeping my eye out for something better.
- Edited
can you post the output of
ls /usr/local/linaro/BelaSysroot/usr/xenomai/include
?
Incidentally, you can probably workaround that by adding
int __wrap_pthread_setname_np ( pthread_t thread, const char * name );
at the top of xenomai_wraps.h
, but I am more curious about the underlying issue.
jandyman BTW, what do you use instead of Eclipse?
For Bela, I just compile on the board.
giuliomoro ncidentally, you can probably workaround that by adding
int __wrap_pthread_setname_np ( pthread_t thread, const char * name );
at the top of xenomai_wraps.h, but I am more curious about the underlying issue.
Actually, in hindsight, both the changes suggested above should not make any difference, because the declaration is there already, though conditional to #if XENOMAI_MAJOR == 3
. So the problem seems to be that -DXENOMAI_MAJOR=3
is - for some reason - not reaching the file?
Can you try adding these lines at the top of include/xenomai_wraps.h
?
#if XENOMAI_MAJOR == 3
#error XENOMAI_MAJOR is in fact equal 3
#endif
#ifdef XENOMAI_MAJOR
#error XENOMAI_MAJOR is defined but not equal 3
#endif
I’m guessing the changes I made to the bela project have gone missing somehow, this all looks like compile and probably linker settings are incorrect in the project.
I’m back on the 4th and will have a look then...
- Edited
Don’t worry, I can see it in the GCC command line you sent, something must be undefineing it?
That is meant to be 3
on al v0.3 and above images (all images since October 2017).
Sounds like @AndyCap has answered @giuliomoro 's question, and the current issue is what might be redefining it. I can wait until the 4th for this to be unraveled.
In the meantime, I'm hoping to make some progress on the issue of wireless control of DSP running on Bela, over BLE or Wifi. I'm surprised it isn't a more popular subject and a path more travelled. The need seems obvious. I'm willing to do some trailblazing, especially in terms of developing a useful protocol on top of a raw byte or text stream, but I'm not a Linux expert so I'm afraid of falling into a black hole getting a basic link working.
Look at “open sound control” for the controller side. There are some Bela code examples.
giuliomoro That is meant to be 3 on al v0.3 and above images (all images since October 2017).
Just looked at the code, the error will only appear if XENOMAI_MAJOR == 3 so the problem isn’t there, what seems to be strange is that there is no forward declaration of __wrap_pthread_setname_np at the top of Xenomai_wraps.h the others seem to be there.
It’s a bit hard to work out on an iphone!
Right.
I got confused a couple of times in this thread, sorry about that, but I think that the initial intuition was right. The problem here seems to be that the Xenomai includes are not picked up.
Can you try to run the following
ls /usr/local/linaro/BelaSysroot/usr/xenomai/include
on your computer?
- Edited
Andys-MacBook-Pro-3:~ Andy$ ls /usr/local/linaro/BelaSysroot/usr/xenomai/include
alchemy cobalt psos smokey vxworks xenomai
boilerplate copperplate rtdm trank xeno_config.h
- Edited
Re Open Sound Control. That would work, but has anyone got a wireless link running on Bela
to operate it over?
jandyman right
i think you need to add
/usr/local/linaro/BelaSysroot/usr/xenomai/include/cobalt
To your include paths
jandyman Re Open Sound Control. That would work, but has anyone got a wireless link running on Bela
to operate it over?
Look at http://github.com/BelaPlatform/Bela/wiki
There is a page to get started with wifi that should help . I haven'ttried bluetooth and I don't know of anyone who did.
- Edited
It was actually in the include path, just further down. Moving it fixed that problem, now we have missing libraries:
Building target: Bela
Invoking: GCC C++ Linker
arm-linux-gnueabihf-g++ -L"/Users/Andy/Dropbox/Developer/Bela" -L"/usr/local/linaro/BelaSysroot/usr/local/lib" -L"/usr/local/linaro/BelaSysroot/usr/lib" -L"/usr/local/linaro/BelaSysroot/usr/xenomai/lib" -L"/usr/local/linaro/BelaSysroot/root/Bela/lib" -L"/usr/local/linaro/BelaSysroot/usr/lib/arm-linux-gnueabihf/" -pthread -rdynamic -Wl,-unresolved-symbols=ignore-in-shared-libs -o "Bela" ./examples/01-Basics/sinetone/render.o ./core/AuxTaskNonRT.o ./core/AuxTaskRT.o ./core/AuxiliaryTasks.o ./core/DigitalChannelManager.o ./core/FormatConvert.o ./core/GPIOcontrol.o ./core/Gpio.o ./core/I2c_Codec.o ./core/I2c_TouchKey.o ./core/JSON.o ./core/JSONValue.o ./core/Midi.o ./core/Midi_c.o ./core/OSCClient.o ./core/OSCServer.o ./core/OscillatorBank_routines.o ./core/PRU.o ./core/PruBinary.o ./core/PulseIn.o ./core/RTAudio.o ./core/RTAudioCommandLine.o ./core/Scope.o ./core/Spi_Codec.o ./core/UdpClient.o ./core/UdpServer.o ./core/WriteFile.o ./core/WriteFile_c.o ./core/board_detect.o ./core/default_main.o ./core/math_runfast.o ./core/scope_ws.o -lcobalt -lmodechk -lpthread -lrt -lprussdrv -lstdc++ -lasound -lseasocks -lNE10 -lmathneon -lsndfile
/usr/local/linaro/arm-bela-linux-gnueabihf/bin/../lib/gcc/arm-bela-linux-gnueabihf/6.3.1/../../../../arm-bela-linux-gnueabihf/bin/ld: cannot find -lNE10
/usr/local/linaro/arm-bela-linux-gnueabihf/bin/../lib/gcc/arm-bela-linux-gnueabihf/6.3.1/../../../../arm-bela-linux-gnueabihf/bin/ld: cannot find -lmathneon
collect2: error: ld returned 1 exit status
make: *** [Bela] Error 1