• Software
  • Include file math_neon.h missing

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...

I just looked at the dev, master and dev-modular branches and XENOMAI_MAJOR is set to 3 in all of them .

@jandyman if you go to the c and c++ defines section of the project do you see it there?

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?

    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

      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

        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

        good!

        Again the deal here is that these libraries have moved from /root/Bela/lib to /usr/lib/ and /usr/local/lib. Ultimately, I'd suggest you do

        rsync -avz root@192.168.7.2:/usr/local/lib /usr/local/linaro/BelaSysroot/usr/local/
        rsync -avz root@192.168.7.2:/usr/lib /usr/local/linaro/BelaSysroot/usr/

        instead of cherry-picking them with:

        rsync -avz root@192.168.7.2:/usr/local/lib/libpd.* /usr/local/linaro/BelaSysroot/usr/local/lib
        rsync -avz root@192.168.7.2:/usr/local/lib/libseasocks.* /usr/local/linaro/BelaSysroot/usr/local/lib
        rsync -avz root@192.168.7.2:/usr/local/lib/libprussdrv.* /usr/local/linaro/BelaSysroot/usr/local/lib
        rsync -avz root@192.168.7.2:/usr/local/lib/libpd.* /usr/local/linaro/BelaSysroot/usr/local/lib
        rsync -avz root@192.168.7.2:/usr/local/lib/libseasocks.* /usr/local/linaro/BelaSysroot/usr/local/lib
        rsync -avz root@192.168.7.2:/usr/local/lib/libprussdrv.* /usr/local/linaro/BelaSysroot/usr/local/lib
        
        rsync -avz root@192.168.7.2:/usr/lib/arm-linux-gnueabihf/libsndfile.* /usr/local/linaro/BelaSysroot/usr/lib/arm-linux-gnueabihf/
        rsync -avz root@192.168.7.2:/usr/lib/arm-linux-gnueabihf/libasound.* /usr/local/linaro/BelaSysroot/usr/lib/arm-linux-gnueabihf/

        If you are going to copy all the libs it might be an idea to also copy all the includes as the gcc versions are slightly different between the bela and the tool chains used.

        Thanks all. Sorry for the late reply, I've been in transit. Anyhow, the latest suggestion helped, but there are still library problems. And I'm unclear on what @AndyCap means by "all the includes". I think I'm better off waiting until @AndyCap gets back and can take a look at this. I'll happily test drive the new transfer script and Eclipse project file.

        In the meantime, I can easily keep myself busy looking into BLE libraries/drivers and see if I can get a basic BLE example working on the Bela image on the Beagleboard. I've done some quick research and it looks somewhat encouraging. If I can get this working and the Eclipse issue gets resolved, it won't be long before I can be contributing rather than taking up the time of the experts here.

        I have one of my Bela updated so will start looking at this, probably be Saturday. Work is a bit mad as I have been away for a while so a bit hard to fit in before then!

        Not a problem. I'm temporarily sidetracked by instrument construction and vacation myself. But my enthusiasm for what I can potentially do on Bela is undiminished.

        @giuliomoro

        We seem to be missing:

        pru_rtaudio_irq_bin.h
        pru_rtaudio_bin.h

        These used to be at:

        /root/Bela/build/pru/

        I am guessing these includes can't be created on the Eclipse side?