Thank you, Christian. Adding -no-pie to the compiler flags fixed this issue.

2016-12-13 19:11 GMT+01:00 Florian Grätz <florian.graetz@...9...>:
Dear Stefan,
Dear Mohammad,

thank you for your kind support. Stefan pointed me into the right direction. I was missing, that I had to uncomment two directories in the build.conf and that I needed to make the run/demo target. The result was an elf file. I assume that this needs to be loaded by the Raspberry bootloader. I will give it a try as soon as I get some spare time on my hands, maybe next weekend. However, I don't expect any troubles here.

The other matter appears a little tricker, though.

I am using a 64-bit SDL-1.2 (the build manual didn't specify, whether to use SDL-1.2 or SDL-2.0, but I guessed from the sources that it must be 1.2):
florian@...465...:~/genode/build/linux_x86$ file /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0.11.4
/usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0.11.4: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fb5912d243b188e293346fd4ce1e09d5ed2d1fe2, stripped

My libalsa is also 64 bits:
florian@...465...:~/genode/build/linux_x86$ file /usr/lib/x86_64-linux-gnu/ao/plugins-4/libalsa.so
/usr/lib/x86_64-linux-gnu/ao/plugins-4/libalsa.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5f11394919125b4879e2b15cc6d32a2c4b2976b1, stripped

I am running Ubuntu 16.10 64 bits in a Virtual Box on a Windows 10 host:
florian@...465...:~/genode/build/linux_x86$ uname -a
Linux Linde 4.8.0-30-generic #32-Ubuntu SMP Fri Dec 2 03:43:27 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

However, there is no specs.conf file in my build directory:
florian@...465...:~/genode/build/linux_x86$ ls -R -a
.:
.  ..  etc  Makefile

./etc:
.  ..  build.conf

Do I need to create one?

Regards, Florian.

2016-12-12 23:24 GMT+01:00 Florian Grätz <florian.graetz@...9...>:
Hello, community,

first of all: let me express, how helpful and responsive this mailing list is. I finally succeeded in running make for hw_rpi - still I have no idea how to run it on my real hardware. make surely created many files, most of them object files (.o), or object archives (.a). For running on my hardware, I would need an image file, which I can write on an SD card, though. How would I create one? Browsing through the .txt files didn't yield to anything useful.

I also have another concern when making for target linux_x86 according to section 'Quick start to build genode for linux'. make run/demo quits with the following errors:
/usr/bin/ld: fb_sdl.o: relocation R_X86_64_32 agains symbol '_ZTIN6Genode11Msgbuf_base13_Too_many_capsE' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: input.o: relocation R_X86_64_32S agains '.rodata' can not be used when making a shared object recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6../../../x86_64-linux-gnu/crt1.o: relocation R_X86_64_32S against symbol '__libc_csu_fini' can not be used when making shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
/home/florian/genode/repos/base/mk/prg.mk:222: recipe for target 'fb_sdl' failed

If I run make without any arguments, the adio_drv doesn't build. The linker quits with the following messages:
/usr/bin/ld: alsa.o: relocation R_X86_64_32 agains '.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/6../../../x86_64-linux-gnu/crt1.o: relocation R_X86_64_32S against symbol '__libc_csu_fini' can not be used when making shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
/home/florian/genode/repos/base/mk/prg.mk:222: recipe for target 'audio_drv' failed

Any hints would be greatly appreciated.

All the best, Florian.