sem_post: Function not implemented
This happens because not all the functions have been implemented in the emulated environment. Lauro VenĂ¢ncio has created a patched version of qemu-arm called qemu-arm-eabi.
Thanks to Marcelo Lira, we have a simple howto to install the patch into the Scratchbox environment. Note: you have to execute these commands from outside the Scratchbox environment and you should not be logged into the environment at the same time.
1. You need gcc 3.4, SDL dev library and Zlib dev:
sudo apt-get install gcc-3.4 libsdl1.2-dev zlib1g-dev
2. Get the patched qemu-arm. Notice that the patches are already applied, everything is here, and you don't need to get the qemu sources.
svn co https://qemu-arm-eabi.svn
cd qemu-arm-eabi
./configure --target-list=arm-linux-user --static
make
3. Copy qemu to the cputransp dir on scratchbox
sudo cp arm-linux-user/qemu-arm /scratchbox/devkits/cputransp/bin/qemu-arm-eabi-sb2
4. Add it to the list of cputransp methods. Open the file
sudo vim /scratchbox/devkits/cputransp/etc/cputransp-methods
and add this line:
qemu-arm-eabi-sb2
5. Configure the target to use the patched qemu as transparency method. Edit the file:
vim /scratchbox/users/USERNAME/targets/CHINOOK_ARMEL.config
and change this line:
SBOX_CPUTRANSPARENCY_METHOD=/scratchbox/devkits/cputransp/bin/qemu-arm-eabi-sb2
That's all! You're now ready to log again into your Scratchbox environment