Hello everyone,
We have a question regarding the newest Kernel version available on Git (current date: 11.08.2022). We are working on an application and
have come across a problem.
In a previous Git version of the Kernel we had no problem building the .uimage file; however, with the newest update we found out that the .uimage file cannot be built.
Here the working version (older one):
Buildung local Project exampleApp
[ExampleApp_Git] ... Compiling src/main.o [ExampleApp_Git] ==> Linking exampleApp [ExampleApp_Git] ==> exampleApp built [ExampleApp_Git] ==> Installing exampleApp to local build-tree
Building L4Re uimage with Application exampleApp
make[1]: Entering directory '/home/dev/L4Re_Git/l4' Building entry "exampleApp". Merging images: mod00: /home/dev/L4Re_Git/build-fiasco//fiasco [436kB] mod01: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/sigma0 [36kBBuildung local Project exampleApp
[ExampleApp_Git] ... Compiling src/main.o [ExampleApp_Git] ==> Linking exampleApp [ExampleApp_Git] ==> exampleApp built [ExampleApp_Git] ==> Installing exampleApp to local build-tree
Building L4Re uimage with Application exampleApp
make[1]: Entering directory '/home/dev/L4Re_Git/l4' Building entry "exampleApp". Merging images: mod00: /home/dev/L4Re_Git/build-fiasco//fiasco [436kB] mod01: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/sigma0 [36kB] mod02: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/moe [226kB] mod03: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/l4re [117kB] mod04: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/exampleApp [174kB] [bootstrap] ... Generating bootstrap.ld [bootstrap] ... Compiling startup.o [bootstrap] ==> Linking bootstrap.elf [bootstrap] ==> Image post-processing bootstrap.elf [bootstrap] ==> bootstrap.elf built ==> Installing bootstrap.elf in image directory ==> Installing bootstrap_exampleApp in image directory ==> Installing bootstrap_exampleApp.elf in image directory [bootstrap] ... Generating bootstrap.raw ==> Installing bootstrap.raw in image directory ==> Installing bootstrap_exampleApp.raw in image directory [bootstrap] ... Generating bootstrap.uimage Image Name: L4 Image #3 Created: Thu Aug 11 09:11:24 2022 Image Type: AArch64 Linux Kernel Image (uncompressed) Data Size: 1099688 Bytes = 1073.91 KiB = 1.05 MiB Load Address: 01000000 Entry Point: 01000000 ==> Installing bootstrap.uimage in image directory ==> Installing bootstrap_exampleApp.uimage in image directory Image size(s) in bytes: bootstrap_exampleApp.elf: 1534296 bootstrap.raw: 1099688 bootstrap.uimage: 1099752 Start address: 0x1000000 --> Build-Nr: 3 [bootstrap] ==> Installing bootstrap.elf to local build-tree [bootstrap] ==> Installing bootstrap_exampleApp to local build-tree [bootstrap] ==> Installing bootstrap_exampleApp.elf to local build-tree make[1]: Leaving directory '/home/dev/L4Re_Git/l4'
DONE - bootstrap_exampleApp.uimage copied to /tftp/! ] mod02: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/moe [226kB] mod03: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/l4re [117kB] mod04: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/exampleApp [174kB] [bootstrap] ... Generating bootstrap.ld [bootstrap] ... Compiling startup.o [bootstrap] ==> Linking bootstrap.elf [bootstrap] ==> Image post-processing bootstrap.elf [bootstrap] ==> bootstrap.elf built ==> Installing bootstrap.elf in image directory ==> Installing bootstrap_exampleApp in image directory ==> Installing bootstrap_exampleApp.elf in image directory [bootstrap] ... Generating bootstrap.raw ==> Installing bootstrap.raw in image directory ==> Installing bootstrap_exampleApp.raw in image directory [bootstrap] ... Generating bootstrap.uimage Image Name: L4 Image #3 Created: Thu Aug 11 09:11:24 2022 Image Type: AArch64 Linux Kernel Image (uncompressed) Data Size: 1099688 Bytes = 1073.91 KiB = 1.05 MiB Load Address: 01000000 Entry Point: 01000000 ==> Installing bootstrap.uimage in image directory ==> Installing bootstrap_exampleApp.uimage in image directory Image size(s) in bytes: bootstrap_exampleApp.elf: 1534296 bootstrap.raw: 1099688 bootstrap.uimage: 1099752 Start address: 0x1000000 --> Build-Nr: 3 [bootstrap] ==> Installing bootstrap.elf to local build-tree [bootstrap] ==> Installing bootstrap_exampleApp to local build-tree [bootstrap] ==> Installing bootstrap_exampleApp.elf to local build-tree make[1]: Leaving directory '/home/dev/L4Re_Git/l4'
DONE - bootstrap_exampleApp.uimage copied to /tftp/!
And now the faulty one (latest version):
Buildung local Project exampleApp
[ExampleApp_Git] ==> Linking exampleApp aarch64-linux-gnu-ld: cannot find ./src/main.o: No such file or directory make[1]: *** [/home/dev/L4Re_Git/l4/mk/prog.mk:125: exampleApp] Error 1 make: *** [/home/dev/L4Re_Git/l4//mk/binary.inc:159: /home/dev/L4Re_Git/build-l4re/ext-pkg/home/dev/L4Re_Dev/ExampleApp_Git/OBJ-arm64_armv8a-l4f] Error 2
Building L4Re uimage with Application exampleApp
make[1]: Entering directory '/home/dev/L4Re_Git/l4' Could not find 'exampleApp'
within paths /home/dev/L4Re_Git/build-fiasco/ /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f /home/dev/L4Re_Git/build-l4re/lib/arm64_armv8a /home/dev/L4Re_Git/build-l4re/lib/arm64_armv8a/l4f
Processing of entry exampleApp in /home/dev/L4Re_Git/l4/conf/modules.list failed!
make[3]: *** No rule to make target 'processing-of-module-list-failed', needed by 'mod.make.inc'. Stop. make[2]: *** [../../../../mk/binary.inc:159: /home/dev/L4Re_Git/build-l4re/pkg/bootstrap/server/src/OBJ-arm64_armv8a] Error 2 make[1]: *** [Makefile:544: uimage] Error 2 make[1]: Leaving directory '/home/dev/L4Re_Git/l4' make: *** [Makefile:6: do-all-make-goals] Error 2 cp: cannot stat '/home/dev/L4Re_Git/build-l4re/pkg/bootstrap/server/src/OBJ-arm64_armv8a/bootstrap_exampleApp.uimage': No such file or directory
DONE - bootstrap_exampleApp.uimage copied to /tftp/!
This does not happen if we create the image of ‘hello’.
The problem is that the main.c file in the exampleApp does not get compiled before being linked à aarch64-linux-gnu-ld: cannot find ./src/main.o: No such file or directory.
Everything was added correctly in modules.list.
Does it depend on the newest update or did we make a mistake somewhere?
In the attachment you will also find the build_all.sh file we used to build the image and also the Makefile for exampleApp.
Thank you in advance for your help.
Many regards,
Mauro, Ricardo
Hi,
Thanks for the elaborate description. Please use SRC_C = src/main.c in the Makefile for the time being.
Adam
On Thu Aug 25, 2022 at 09:40:54 +0000, rib0327 wrote:
Hello everyone,
We have a question regarding the newest Kernel version available on Git (current date: 11.08.2022). We are working on an application and
have come across a problem.
In a previous Git version of the Kernel we had no problem building the .uimage file; however, with the newest update we found out that the .uimage file cannot be built.
Here the working version (older one):
Buildung local Project exampleApp
[ExampleApp_Git] ... Compiling src/main.o [ExampleApp_Git] ==> Linking exampleApp [ExampleApp_Git] ==> exampleApp built [ExampleApp_Git] ==> Installing exampleApp to local build-tree
Building L4Re uimage with Application exampleApp
make[1]: Entering directory '/home/dev/L4Re_Git/l4' Building entry "exampleApp". Merging images: mod00: /home/dev/L4Re_Git/build-fiasco//fiasco [436kB] mod01: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/sigma0 [36kBBuildung local Project exampleApp
[ExampleApp_Git] ... Compiling src/main.o [ExampleApp_Git] ==> Linking exampleApp [ExampleApp_Git] ==> exampleApp built [ExampleApp_Git] ==> Installing exampleApp to local build-tree
Building L4Re uimage with Application exampleApp
make[1]: Entering directory '/home/dev/L4Re_Git/l4' Building entry "exampleApp". Merging images: mod00: /home/dev/L4Re_Git/build-fiasco//fiasco [436kB] mod01: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/sigma0 [36kB] mod02: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/moe [226kB] mod03: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/l4re [117kB] mod04: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/exampleApp [174kB] [bootstrap] ... Generating bootstrap.ld [bootstrap] ... Compiling startup.o [bootstrap] ==> Linking bootstrap.elf [bootstrap] ==> Image post-processing bootstrap.elf [bootstrap] ==> bootstrap.elf built ==> Installing bootstrap.elf in image directory ==> Installing bootstrap_exampleApp in image directory ==> Installing bootstrap_exampleApp.elf in image directory [bootstrap] ... Generating bootstrap.raw ==> Installing bootstrap.raw in image directory ==> Installing bootstrap_exampleApp.raw in image directory [bootstrap] ... Generating bootstrap.uimage Image Name: L4 Image #3 Created: Thu Aug 11 09:11:24 2022 Image Type: AArch64 Linux Kernel Image (uncompressed) Data Size: 1099688 Bytes = 1073.91 KiB = 1.05 MiB Load Address: 01000000 Entry Point: 01000000 ==> Installing bootstrap.uimage in image directory ==> Installing bootstrap_exampleApp.uimage in image directory Image size(s) in bytes: bootstrap_exampleApp.elf: 1534296 bootstrap.raw: 1099688 bootstrap.uimage: 1099752 Start address: 0x1000000 --> Build-Nr: 3 [bootstrap] ==> Installing bootstrap.elf to local build-tree [bootstrap] ==> Installing bootstrap_exampleApp to local build-tree [bootstrap] ==> Installing bootstrap_exampleApp.elf to local build-tree make[1]: Leaving directory '/home/dev/L4Re_Git/l4'
DONE - bootstrap_exampleApp.uimage copied to /tftp/! ] mod02: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/moe [226kB] mod03: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/l4re [117kB] mod04: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/exampleApp [174kB] [bootstrap] ... Generating bootstrap.ld [bootstrap] ... Compiling startup.o [bootstrap] ==> Linking bootstrap.elf [bootstrap] ==> Image post-processing bootstrap.elf [bootstrap] ==> bootstrap.elf built ==> Installing bootstrap.elf in image directory ==> Installing bootstrap_exampleApp in image directory ==> Installing bootstrap_exampleApp.elf in image directory [bootstrap] ... Generating bootstrap.raw ==> Installing bootstrap.raw in image directory ==> Installing bootstrap_exampleApp.raw in image directory [bootstrap] ... Generating bootstrap.uimage Image Name: L4 Image #3 Created: Thu Aug 11 09:11:24 2022 Image Type: AArch64 Linux Kernel Image (uncompressed) Data Size: 1099688 Bytes = 1073.91 KiB = 1.05 MiB Load Address: 01000000 Entry Point: 01000000 ==> Installing bootstrap.uimage in image directory ==> Installing bootstrap_exampleApp.uimage in image directory Image size(s) in bytes: bootstrap_exampleApp.elf: 1534296 bootstrap.raw: 1099688 bootstrap.uimage: 1099752 Start address: 0x1000000 --> Build-Nr: 3 [bootstrap] ==> Installing bootstrap.elf to local build-tree [bootstrap] ==> Installing bootstrap_exampleApp to local build-tree [bootstrap] ==> Installing bootstrap_exampleApp.elf to local build-tree make[1]: Leaving directory '/home/dev/L4Re_Git/l4'
DONE - bootstrap_exampleApp.uimage copied to /tftp/!
And now the faulty one (latest version):
Buildung local Project exampleApp
[ExampleApp_Git] ==> Linking exampleApp aarch64-linux-gnu-ld: cannot find ./src/main.o: No such file or directory make[1]: *** [/home/dev/L4Re_Git/l4/mk/prog.mk:125: exampleApp] Error 1 make: *** [/home/dev/L4Re_Git/l4//mk/binary.inc:159: /home/dev/L4Re_Git/build-l4re/ext-pkg/home/dev/L4Re_Dev/ExampleApp_Git/OBJ-arm64_armv8a-l4f] Error 2
Building L4Re uimage with Application exampleApp
make[1]: Entering directory '/home/dev/L4Re_Git/l4' Could not find 'exampleApp'
within paths /home/dev/L4Re_Git/build-fiasco/ /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f /home/dev/L4Re_Git/build-l4re/lib/arm64_armv8a /home/dev/L4Re_Git/build-l4re/lib/arm64_armv8a/l4f
Processing of entry exampleApp in /home/dev/L4Re_Git/l4/conf/modules.list failed!
make[3]: *** No rule to make target 'processing-of-module-list-failed', needed by 'mod.make.inc'. Stop. make[2]: *** [../../../../mk/binary.inc:159: /home/dev/L4Re_Git/build-l4re/pkg/bootstrap/server/src/OBJ-arm64_armv8a] Error 2 make[1]: *** [Makefile:544: uimage] Error 2 make[1]: Leaving directory '/home/dev/L4Re_Git/l4' make: *** [Makefile:6: do-all-make-goals] Error 2 cp: cannot stat '/home/dev/L4Re_Git/build-l4re/pkg/bootstrap/server/src/OBJ-arm64_armv8a/bootstrap_exampleApp.uimage': No such file or directory
DONE - bootstrap_exampleApp.uimage copied to /tftp/!
This does not happen if we create the image of ‘hello’.
The problem is that the main.c file in the exampleApp does not get compiled before being linked à aarch64-linux-gnu-ld: cannot find ./src/main.o: No such file or directory.
Everything was added correctly in modules.list.
Does it depend on the newest update or did we make a mistake somewhere?
In the attachment you will also find the build_all.sh file we used to build the image and also the Makefile for exampleApp.
Thank you in advance for your help.
Many regards,
Mauro, Ricardo
l4-hackers@os.inf.tu-dresden.de