Linux and cocos2d: 'cc1plus': execvp: No such file or directory - linux

I am trying to build a cocos2d sample app for android on linux and i get the following error:
stefanos#stefanos-MS-7250:~/cocos2d-1.0.1-x-0.11.0/Test1/android$ ./build_native.sh
make: Entering directory `/home/stefanos/cocos2d-1.0.1-x-0.11.0/Test1/android'
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Compile++ thumb : cocos2d <= CCConfiguration.cpp
arm-linux-androideabi-g++: error trying to exec 'cc1plus': execvp: No such file or directory
make: *** [obj/local/armeabi/objs-debug/cocos2d/CCConfiguration.o] Error 1
make: Leaving directory `/home/stefanos/cocos2d-1.0.1-x-0.11.0/Test1/android'
stefanos#stefanos-MS-7250:~/cocos2d-1.0.1-x-0.11.0/Test1/android$
I am running Ubuntu and i have gcc , g++ installed
SOLVED:
It build's fine with the r6 version of the ndk
Download it here :http://dl.google.com/android/ndk/android-ndk-r6-linux-x86.tar.bz2

Try to update cocos2d-x version 2.0, it has been release today, and use NDK 8. You must be out of date.
Using last version is better, 1.0 has a lot of bugs in Android. One of them with memory manager, it is very bad to release a game in Store.

Related

How to avoid 'invalid command' error when building Linux kernel on Fedora 28?

I'm building a Linux kernel on Fedora 28, but always run into the same error such as:
CC init/main.o
init/main.o: warning: objtool: elf_begin: invalid command
make[1]: *** [scripts/Makefile.build:277: init/main.o] Error 1
make[1]: *** Deleting file 'init/main.o'
make: *** [Makefile:1067: init] Error 2
make: *** Waiting for unfinished jobs....
I tried "linux-5.0.16.tar.gz" and "linux-5.0.21.tar.gz" downloaded from kernel.org
, and also tried to follow the instruction on Fedora wiki
But there is no way to avoid this 'invalid command' error. "elfutils-libelf-devel" and "elfutils-libelf" are installed. In the fedora way, 'fedpkg cone -a kernel' was successful, so all dependences are installed. Does anyone know what is missing?
Further progress:
The same procedure works on a different machine installed with Fedora 30.
However, after upgrading the original machine to Fedora 30, the error persists.
The machine with the 'invalid command' problem had an old version of libelf.so installed under /user/local. After removing the old libelf, objtool is linked to the current libelf library, and is able to run during compilation of the linux kernel.
A comment is found in the linux source code /tools/perf/util/symbols.h:
/*
* libelf 0.8.x and earlier do not support ELF_C_READ_MMAP;
* for newer versions we can use mmap to reduce memory usage:
*/
This comment led me to look for an out-dated version of libelf.

How to fix error "'recipe for target "doc/automake-1.14.1' failed" while building Xenomai

I am building Xenomai 2 on a Kernel version 3 with buildroot. Buildroot ist done. Now I am trying to compile it with the "make" command. When I try to compile with the "make" command it appears a failure: recipe for target 'doc/automake-1.14.1' failed. Any help how I can solve that problem?
Ubuntu already has automake version 1.15.1. So I don't really know why it is making the 1.14.1 version while building. Can I change that somewhere?
I have also tried to install the 1.14.1 version but that did not work because it did not find that version, although I have downloaded it...
Here is the cmd-window output:
GEN doc/automake-1.14.1
help2man: can't get `--help' info from automake-1.14
Try `--no-discard-stderr' if option outputs to stderr
Makefile:3707: recipe for target 'doc/automake-1.14.1' failed
make[1]: *** [doc/automake-1.14.1] Error 255
make[1]: Leaving directory '/home/daniel/Desktop/ccode/Daniel/buildroot-2014.08/output/build/host-automake-1.14.1'
package/pkg-generic.mk:177: recipe for target '/home/daniel/Desktop/ccode/Daniel/buildroot-2014.08/output/build/host-automake-1.14.1/.stamp_built' failed
make: *** [/home/daniel/Desktop/ccode/Daniel/buildroot-2014.08/output/build/host-automake-1.14.1/.stamp_built] Error 2
````````````````
This issue was fixed on September 11, 2014 by commit 2020ddbd0f2c32863e6be69a235852a088744c28. Please use an up-to-date version of Buildroot.

Linux Kernel Module development compile for other kernel

I'm using LinK+ in other to develop a linux kernel module. My development machine has a Linux Mint 18 installed operating system with kernel version 4.4.xx. For testing I want to deploy the kernel module to a Debian machine(in a virtualbox) which has a kernel version 3.16.xx.
LinK+ has an option called "Compile for other kernel" (see image below)
When I press that button a dialog ask me to point to Kernel Source Location. I've downloaded kernel version 3.16.xx from https://www.kernel.org/ and then pointed to extracted files from that archive.
The output of the make command is this:
**** Build of configuration Debug for project VMDD ****
make --makefile=Makefile --directory=KERN_SRC modules
make: Entering directory '/home/george/linkProjects/VMDD/KERN_SRC'
make -C /home/george/kernels/linux-3.16.43/ M=/home/george/linkProjects/VMDD/KERN_SRC modules
make[1]: Entering directory '/home/george/kernels/linux-3.16.43'
WARNING: Symbol version dump ./Module.symvers
is missing; modules will have no dependencies and modversions.
CC [M] /home/george/linkProjects/VMDD/KERN_SRC/VMDD.o
/bin/sh: 1: ./scripts/recordmcount: not found
scripts/Makefile.build:263: recipe for target '/home/george/linkProjects/VMDD/KERN_SRC/VMDD.o' failed
make[2]: *** [/home/george/linkProjects/VMDD/KERN_SRC/VMDD.o] Error 127
Makefile:1337: recipe for target '_module_/home/george/linkProjects/VMDD/KERN_SRC' failed
make[1]: Leaving directory '/home/george/kernels/linux-3.16.43'
make[1]: *** [_module_/home/george/linkProjects/VMDD/KERN_SRC] Error 2
make: *** [modules] Error 2
Makefile:8: recipe for target 'modules' failed
make: Leaving directory '/home/george/linkProjects/VMDD/KERN_SRC'
What did I do wrong ?
I've downloaded kernel version 3.16.xx from https://www.kernel.org/ and then pointed to extracted files from that archive.
You can't compile modules for some kernel if you have only its original source. You need point IDE to configured and partially build kernel. Actually, all files needed to build modules for some kernel version are in kbuild directory of compiled kernel, installed into /lib/modules/version/kbuild. There are linux-kbuild-version (https://packages.debian.org/jessie/kernel/linux-kbuild-3.16) package with some files https://packages.debian.org/jessie/amd64/linux-kbuild-3.16/filelist and linux-headers-version (https://packages.debian.org/jessie/linux-headers-3.16.0-4-amd64) which includes Module.symvers (https://packages.debian.org/jessie/amd64/linux-headers-3.16.0-4-amd64/filelist):
/usr/src/linux-headers-3.16.0-4-amd64/Module.symvers

Octave 4.0.1 octave forge dicom package fatal error on install openSUSE linux

I am using:
linux openSUSE Tumbleweed
octave-4.0.1
gdcm-2.6.3
I have recently gotten into using linux for my research in university. For this research, I have been trying to install the dicom package into octave from the octave forge. When I submit the code pkg install -forge dicom into octave, I get fatal error: gdcm-2.0/gdcmReader.h: No such file or directory causing the installation to fail.
I have searched around for fixes to this problem which appears to have happened to several people in the past (see Dependency library not recognized during installation octave forge dicom package in debian linux). However, since I am new to linux, I really don't understand what these users have done to solve their problem. Additionally, both octave and gdcm have updated since these posts. I also, have not been able to find an updated version of the dicom package while I have been trying to troubleshoot this. If anyone has any input on this I would greatly appreciate it.
Below is what I am seeing in the command window log.
>> pkg install -forge dicom
dicomread.cpp:27:38: fatal error: gdcm-2.0/gdcmImageReader.h: No such file or directory
compilation terminated.
make: *** [Makefile:44: dicomread.oct] Error 1
make: *** Waiting for unfinished jobs....
dicominfo.cpp:45:33: fatal error: gdcm-2.0/gdcmReader.h: No such file or directory
compilation terminated.
dicomlookup.cpp:23:31: fatal error: gdcm-2.0/gdcmDict.h: No such file or directory
compilation terminated.
make: *** [Makefile:51: dicominfo.o] Error 1
dicomdict.cpp:30:31: fatal error: gdcm-2.0/gdcmDict.h: No such file or directory
compilation terminated.
make: *** [Makefile:60: dicomlookup.o] Error 1
make: *** [Makefile:57: dicomdict.o] Error 1
make: Entering directory '/tmp/oct-5jTUbJ/dicom/src'
mkoctfile -c -g dicominfo.cpp
mkoctfile -c -g dicomdict.cpp
mkoctfile -L/usr/local/lib -lgdcmcharls -lgdcmjpeg8 -lgdcmjpeg12 -lgdcmjpeg16 -lgdcmCommon -lgdcmDICT -lgdcmDSED -lgdcmIOD -lgdcmMSFF -g dicomread.cpp
mkoctfile -c -g dicomlookup.cpp
make: Leaving directory '/tmp/oct-5jTUbJ/dicom/src'
pkg: error running `make' for the dicom package.
error: called from 'configure_make' in file /usr/share/octave/4.0.1/m/pkg/private/configure_make.m near line 96, column 9
>>
This is due to the dicom package being very outdated (2011).
Recently, a number of researchers have updated the package to use the latest version of gdcm and removed some of the hardcodings that made installing gdcm beyond 2.0 uncompatable with the dicom library.
A thread on this is available here
http://octave.1599824.n4.nabble.com/Can-t-install-dicom-package-0-1-1-and-0-1-2-user-version-in-octave-4-0-2-and-ubuntu-14-0-td4681648.html
In short, their instructions are to use a repo of an updated version of dicom package installed. This assumes that gdcm has been installed with headers (i.e built from source).
hg clone http://hg.code.sf.net/p/octave/dicom
cd dicom
make install

How to create a .dll from Netbeans using Linux?

I'm working on a Linux machine (debian) 64bit and created a simple project involving JNI. The program is running fine on Linux with the created Java project and the compiled .so file. The goal now is to compile the C++ part of the project into a .dll instead of a .so to get it to run on Windows machines.
I read some forums and some articles like this one Article, but all of those articles were about compiling from console and also didn't involve the necessary JNI includes.
I also downloaded the cross-compiler from the given article and tried to get it to run in Netbeans. Therefore I set up another C/C++ Tool Collection in Netbeans and told it to use the x86_64-w64-mingw32-gcc compiler for both C and C++. But Netbeans is giving me some errors compiling the file, telling me the x86_64-w64-mingw32-gcc compiler could not be found which is quite random I think because I selected it from the file chooser. Did any of you do something like this already, building a .ddl from Netbeans running on Linux? If yes, how did you get it to work?
x86_64-w64-mingw32-gcc: not found
bproject/Makefile-Debug.mk:66: recipe for target 'build/Debug/GNU_1-Linux-x86/WrapperCpp.o' failed
make[2]: *** [build/Debug/GNU_1-Linux-x86/WrapperCpp.o] Error 127
make[2]: Leaving directory
nbproject/Makefile-Debug.mk:59: recipe for target '.build-conf' failed
make[1]: *** [.build-conf] Error 2
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make: *** [.build-impl] Error 2
#Edit: I'm a step further now: I installed the correct mingw32 tools: sudo apt-get install mingw32. The programm does now compile without errors using the i586-mingw32msvc-g++ compiler but it still results in a .so instead of a .dll. I guess it has something to do with the make command but I haven't found anything about that yet.

Resources