Why does "save %test.png make image! [1024x768]" causes a Seg Fault? - raspberry-pi

I am using Rebol3 (Version: 2.101.0.4.20) on my RaspberryPi and each time I try to save an image to the filesystem it crashes with a Seg Fault:
save %test.png make image! [1024x768]
Can someone explain why? Any hints to solve this?

Seems to be a Rebol 3 linux bug as this works fine under Windows. Reproduced on x86 linux and raspberry pi. As a possible work around you can generate bmp files correctly.
save %test.bmp make image! [1024x768]

FWIW, I just tried this on Atronix's recent build running on Ubuntu 16.04 on an ODROID-C1+ ARM/Linux board:
** Version: 3.0.99.4.20 **
** Platform: Linux libc6-arm **
** Build: 20-Jul-2018/19:57:26 **
I was able to save PNG and BMP files using 'to-image on a gob! and also using 'make image! [1024x768]

Related

Linux Mint 21.1 MATLAB 2022b VideoReader/initReader Could not read file due to an unexpected error. Reason: Unable to initialize the video properties

I have installed MATLAB 2022b on my LInux Mint 21.1. My laptop is an Acer Swift 3 with an Nvidia MX250 dedicated gpu. I have installed the drivers for the gpu, namely the nvidia-driver-525 and nvidia-utils-525 package.
The Nvidia X Server Settings seems to work and the Prime Profile is set to NVIDIA (Performance Mode).
The problem is when I am trying to load a video (.mp4 and .mov) in different frames, but when I ran the code I get this error in the console:
Main Error using VideoReader/initReader Could not read file due to an unexpected error. Reason: Unable to initialize the video properties
Error in audiovideo.internal.IVideoReader (line 136) initReader(obj, fileName, currentTime);
Error in VideoReader (line 104) obj#audiovideo.internal.IVideoReader(varargin{:});
Error in load_picture (line 2) vid = VideoReader(obj);
Error in Main (line 12) [vid, yval, t, nulv]=load_picture(obj);
When I was trying to run the code reading the video, I was getting this errors in the terminal session I opened MATLAB with:
(MATLAB:4591): GStreamer-WARNING **: 10:55:45.878: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlibav.so': /home/malina/MATLAB/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/librubberband.so.2)
(MATLAB:4591): GStreamer-Base-CRITICAL **: 10:55:45.909: basetransform: second attempt to fixate caps returned invalid (NULL) caps on pad vaapipostproc0:sink
I moved the libstdc++.so.6 from the MATLAB/sys/os folder to an unused folder, I have read that by doing this matlab will be forced to use the systems libstdc++.so.6 package, the version coming with the install being known to cause problems as stated by some forums. Doing that resulted in the same error from the console while running the code, but there is no more output from the terminal session.
The problem might be driver specific, but I am unsure. I have installed the codecs and libgstreamer1.0 packages, but I do not know how to test if they are the correct version for matlab. I can open the files on my system normally, so the codecs shouldn't be the problems.
Can anyone guide me through solving this issue? I'd be really grateful. Let me know if you want any other info that might be useful and if there are any log files created by matlab that could be useful in solving this issue, please let me know where I can find them.

Build a shared library on a Raspberry using Lazarus

I'm trying to build a shared library to use on a raspberry pi (model 3B) using lazarus. After some puzzling I found out that my original library didn't work properly so I switched to a very simple library using this example.
But even this simple library doesn't compile properly to be used. When I try to open the library in another lazarus project it gives me the error:
< libName >: cannot open shared object file: No such file or directory
After some research I found the following diagnostics I could run. The file and ldd command in the compile library:
$file ./libname.so gives:
./libname.so: ELF 32-bit LSB shared object, ARM, EABI5 verion 1 (SYSV), dynamically linked, not stripped
$ldd ./libname.so
not a dynamic executable
I have searched for similar cases and from found that others had this problem when they tried to use libraries compile for a different platform/architecture. I already set the project>project options>compiler options>target platform to OS:= linux and Target CPU family: arm.
The system I am using (using $uname -a):
Linux raspberrypi 4.4.13-V7+ #894 SMP Mon Jun 13 13:13:27 BST 2016 armv7l GNU/Linux
with distro: Raspbian GNU/linux 8.0 (jessie)
Lazarus version: 1.2.4+dfsg2-1
FPC version: 2.6.4 arm-linux-gtk2
At this point I am not sure what is wrong and why this library isn't working. I can find very little information on this problem (on the aspberry platform and using lazarus) Any suggestions what I could try to make it work, compile it different or do some more diagnostics?
Found the solution. As Marco proposed above: Add initc to the uses part. It seems that if you try to make a library it has to include initc, cmem or LCL to the uses section because the library has to do some memory management for which it needs one of these units.
However this resulted in another error when trying to load the library:
"Undefined symbol: TC_SYSTEM_ISLIBRARY"
This seems to be a raspberry specific problem, compilers on other systems do not give this error. More information can be found HERE.
Eventually solved this by install fpc 3.0.0 compiler on the raspberry pi, compiled it and the library can be loaded properly (but still needs one of the above units).

RPI CrossCompiler Environment setup Error

When I try to set up an environment for Raspberry Pi on Linux Ubuntu 13.4 machine(Cross Compilation) it gives following error
bash: export: `/home/ganesh/RPICComp/tools-master/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-': not a valid identifier
I have stored my tool master folder in /home/ganesh/RPICComp/
and Kernel version is 3.18.y
I am using following command for setting up the Environment
export CCPREFIX= /home/ganesh/RPICComp/tools-master/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-
What would be the possible Error?
I am doing as per this link http://elinux.org/Raspberry_Pi_Kernel_Compilation
(Instead of Folder "tools" its tools-master for the kernel which I have downloaded )
Kindly Guide Me
Thank You
export CCPREFIX=
/home/ganesh/RPICComp/tools-master/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-
Remove the space between CCPREFIX= and /home....

How to install cocos2dx on a mac?

I am following this tutorial to install cocos2d on a mac with eclipse.
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Installation_guide_of_Android_ndk_r4b_development_environment
I get as far as installing the ndk and I get the following error below when I try and execute ndk-build. I have set my paths correctly so im not sure why this is happening. Can anyone help me? Thanks
Davids-iMac:android-ndk-r8b davidcavanagh$ sh ndk-build
Android NDK: Your APP_BUILD_SCRIPT points to an unknown file:
/Documents/Development/android-ndk-r8b/jni/Android.mk
/Users/davidcavanagh/Documents/Development/android-ndk-r8b/build/core/add-
application.mk:133: *** Android NDK: Aborting... . Stop.
I believe this tutorial is much better than the original website.
All my environment setup is based on it.
http://gameit.ro/2012/01/creating-an-iphone-and-android-cocos2d-x-hybrid-project-updated/

Matlab: loading wmv video files

I am trying to load a wmv video in Matlab as follows:
vidObj = mmreader('video.wmv');
However, I receive the following error:
The file requires the following codec(s) to be installed on your system: video/x-ms-asf
I don't understand why I am receiving this error, since I am able to play wmv files on my system. I am running Matlab 7.10.0 (R2010a) on Ubuntu 11.04. How can I fix this problem?
it might be hard to impossible to get this working on a linux system. Alternatively, you could write your own wmv import function (if you know how to talk to the underlying libraries on your linux system, i.e. vlc).
I have received the same error message because of a version conflict for the standard c++ library.
I have started MATLAB in a console window and recognized that Gstreamer fails to load a plug-in.
(:26573): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstffmpeg.so':
/usr/local/MATLAB/2010b/bin/glnx86/../../sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libdirac_encoder.so.0)
The problem is, MATLAB ships with libstdc++.so.6.0.10 and GStreamer complains that it should work with libstdc++.so.6.0.13
So you should replace the symbolic link in MATLAB dir with the one in your system.
$ rm /usr/local/MATLAB/2010b/sys/os/glnx86/libstdc++.so.6
$ ln -s /usr/lib/libstdc++.so.6 /usr/local/MATLAB/2010b/sys/os/glnx86/libstdc++.so.6