compiling kernel for raspberry with xenomai patch - linux-kernel

I have a problem when I compile my old kernel 3.2 when I add xenomai patch.
This is the error that come always:
Makefile:492: recipe for target 'silentoldconfig' failed
make[1]: *** [silentoldconfig] Error 2 HOSTCC arch/x86/tools/relocs make: ***
No rule to make target 'include/config/auto.conf', needed by 'include/config/kernel.release'. Stop.

yes i use a kernel from this setion https://github.com/raspberrypi/linux rpi.4.4.y of kernel and it works

Related

Buildroot plugin file is compiled for the target architecture altough used later in Makefile

I am trying to create an package for dietsplash for buildroot, and I've added the files
Config.in
config BR2_PACKAGE_DIETSPLASH
bool "dietsplash"
help
dietsplash is an simple splash screen service for
embedded devices. It has support for animations.
dietsplash.mk
################################################################################
#
# dietsplash
#
################################################################################
DIETSPLASH_VERSION = v0.3
DIETSPLASH_SOURCE = dietsplash-$(DIETSPLASH_VERSION).tar.gz
DIETSPLASH_SITE = git://github.com/lucasdemarchi/dietsplash.git
DIETSPLASH_AUTORECONF = YES
$(eval $(autotools-package))
The github repository is
https://github.com/lucasdemarchi/dietsplash
The output of make is:
>>> dietsplash v0.3 Building
PATH="/media/justus_fluegel/PROJECTS/buildroot/buildroot-2019.11.1/output/host/bin:/media/justus_fluegel/PROJECTS/buildroot/buildroot-2019.11.1/output/host/sbin:/home/justus_fluegel/.pub-cache/bin/:/usr/share/flutter/flutter/bin/cache/dart-sdk/bin/:/usr/share/flutter/flutter/bin/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin:/snap/bin:/usr/local/texlive/2019/bin/x86_64-linux" /usr/bin/make -j5 -C /media/justus_fluegel/PROJECTS/buildroot/buildroot-2019.11.1/output/build/dietsplash-v0.3/
make[1]: Entering directory '/media/justus_fluegel/PROJECTS/buildroot/buildroot-2019.11.1/output/build/dietsplash-v0.3'
/usr/bin/make all-am
make[2]: Entering directory '/media/justus_fluegel/PROJECTS/buildroot/buildroot-2019.11.1/output/build/dietsplash-v0.3'
GEN src/background.h
/bin/bash: src/genstaticlogo: cannot execute binary file: Exec format error
Makefile:1017: recipe for target 'src/background.h' failed
make[2]: *** [src/background.h] Error 126
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/media/justus_fluegel/PROJECTS/buildroot/buildroot-2019.11.1/output/build/dietsplash-v0.3'
Makefile:400: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/media/justus_fluegel/PROJECTS/buildroot/buildroot-2019.11.1/output/build/dietsplash-v0.3'
package/pkg-generic.mk:238: recipe for target '/media/justus_fluegel/PROJECTS/buildroot/buildroot-2019.11.1/output/build/dietsplash-v0.3/.stamp_built' failed
make: *** [/media/justus_fluegel/PROJECTS/buildroot/buildroot-2019.11.1/output/build/dietsplash-v0.3/.stamp_built] Error 2
And file of src/genstaticlogo
src/genstaticlogo: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 4.19.0, not stripped
I think the problem is that src/genstaticlogo is compiled for the target but executed by the Makefile.am during the build process. How do I tell make to compile src/genstaticlogo for the build machine and not for the target? Altough the repository is not my work, it's theoretically possible to modify the makefile after download.
Thank you for your help!
You will need to patch the Makefile.am to support cross-compilation. See this old answer for details. In short, you will need something like this in the Makefile.am:
$(genstaticlogo_OBJECTS): CC=$(CC_FOR_BUILD)
$(genstaticlogo_OBJECTS): CFLAGS=$(CFLAGS_FOR_BUILD)
$(genstaticlogo_OBJECTS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
Since you will be patching Makefile.am, you will also need to set DIETSPLASH_AUTORECONF = YES in the Buildroot dietsplash.mk file.

Install SUMO on Ubuntu 16.04 VBox

During the installation of SUMO (https://github.com/eclipse/sumo) on Ubuntu 16.04 VBox I face an error when i want to build (when i use make i get an error):
[ 80%] Built target _libsumo
[ 80%] Linking CXX shared module ../../../../bin/liblibsumojni.so
/usr/lib/java/bin/javac: 1: /usr/lib/java/bin/javac: Syntax error: word unexpected (expecting ")")
src/libsumo/CMakeFiles/libsumojni.dir/build.make:147: recipe for target '../../bin/liblibsumojni.so' failed
make[2]: *** [../../bin/liblibsumojni.so] Error 2
make[2]: *** Deleting file '../../bin/liblibsumojni.so'
CMakeFiles/Makefile2:1484: recipe for target 'src/libsumo/CMakeFiles/libsumojni.dir/all' failed
make[1]: *** [src/libsumo/CMakeFiles/libsumojni.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
Any suggestions please ?
Thank you!
It is probably a problem with your java version. Unless you really need those Java bindings you can simply disable them when calling cmake like this:
cmake -DENABLE_JAVA_BINDINGS=OFF ../..
(this assumes you have a build dir like build/cmake-build as in the docs).

compiling gcc - cannot find output from flex; giving up

I am trying to compile gcc-4.9RC or gcc-4.8.2 on Debian (6 or 7).
There is flex 2.5.35 installed and I even compiled my own flex 2.5.39.
I confirmed it generates a yy.c output from a simple .l file.
Also I learned at gcc documentation, that flex shouldn't be necessary when compiling from a release (which the gcc-4.8.2 is).
Nevertheless I always get this in some internal configure after running make:
checking for bison... bison -y
checking for flex... flex
checking lex output file root... configure: error: cannot find output from flex; giving up
make[2]: *** [configure-stage1-gmp] Error 1
make[2]: Leaving directory `***/gcc-bin-8'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `***/gcc-bin-8'
make: *** [all] Error 2
It is configured with:
../gcc-4.8.2/configure --enable-languages=c,c++,fortran --with-cloog --prefix=/home/***/gcc-4.8.2
I have no idea what should I try more.
This error is generated whilst building gmp (a pre-requisite of gcc). It's a known bug in gmp present in 4.8.3 Ref :gmp bug. If you ran contrib/download_prerequisites, you would get gmp 4.8.3 by default. Workaround is to edit gmp-4.8.3/configure.in & gmp-4.8.3/configure and change
M4=m4-not-required
for
M4=m4

Compiling GCC 4.7.3 for i386-elf support on Cygwin

I am trying to compile GCC for Cygwin with support for targeting i386-elf so I can compile some simple OSes (search Benu, by l30nard0, on Github). I've successfully compiled the binutils for i386-elf, and compiled all of GCC's floating-point numbers dependencies.
Problem is, it says windows.h can not be found. I do have w32api successfully installed, and tried including each of those one at a time in the include path for GCC, but none of them work. If I try any of them, I get so many errors and warnings that not all will show up in the Cygwin console. The dozens upon dozens of warnings are most if not all unused parameter.
Does anyone know where the problem might lie?
I've wasted the last three entire days of my life trying to get Linux Mint set up with everything I want, but for reasons I shan't go into I gave up on that. I'd love to be able to get just one thing to work so I can enjoy my life again. :) Thanks!
BTW: The configure arguments I used were --target=i386-elf --enable-threads=win32 --enable-languages=c,c++ Was I supposed to use --enable-targets instead?
And here's part of the log:
In file included from ../../../gcc/libgcc/gthr.h:150:0,
from ../../../gcc/libgcc/unwind-dw2.c:38:
./gthr-default.h:541:21: fatal error: windows.h: No such file or directory
compilation terminated.
../../../gcc/libgcc/static-object.mk:17: recipe for target 'unwind-dw2.o' failed
make[2]: *** [unwind-dw2.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from ../../../gcc/libgcc/gthr.h:150:0,
from ../../../gcc/libgcc/unwind-dw2-fde.c:38:
./gthr-default.h:541:21: fatal error: windows.h: No such file or directory
compilation terminated.
../../../gcc/libgcc/static-object.mk:17: recipe for target 'unwind-dw2-fde.o' failed
make[2]: *** [unwind-dw2-fde.o] Error 1
make[2]: Leaving directory '/home/Sean/gccbuild/i386-elf/libgcc'
Makefile:10055: recipe for target 'all-target-libgcc' failed
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory '/home/Sean/gccbuild'
Makefile:870: recipe for target 'all' failed
make: *** [all] Error 2
Remove the --enable-threads=win32 flag; it is intended to specify thread support on the target system, not the build system.

Error when building QEMU arm for Windows

I want to to build QEMU arm for windows. For that I execute the following command:
/configure –target-list=arm-softmmu and make.
when I executing make command I get the following error.
Makefile:24: no file name for `-include'
make[1]: *** No rule to make target `vl.o', needed by `all'. Stop.
make: *** [subdir-libhw32] Error 2
How I can resolve this issue? Please help me.

Resources