I followed the instructions on "Genode on Fiasco.OC" (http://genode.org/community/wiki/GenodeOnFiascoOC) and ran into a problem. When I got to the step to building L4Re I got the following:
*** No rule to make target '.../lib32/crtendS.o', needed by 'libl4sys.so'.
I am building this on an x86_64 system, and I am sure it is looking for a 32-bit obj on a 64 bit system. Does anyone know how to fix this problem?
Peace, Chance
Hello,
I think this is no problem related to Genode or L4Re, but your environment isn't prepared to cross-compile for 32bit. You've to install a multi-arch prepared gcc/g++ and necessary libaries for 32bit.
If you use Ubuntu just install:
sudo apt-get install gcc-multilib g++-multilib ia32-libs
To successfully compile L4Re, please re-create its build-directory before trying it again.
Regards Stefan
On 04/12/2011 08:49 PM, Guess Who? wrote:
I followed the instructions on "Genode on Fiasco.OC" (http://genode.org/community/wiki/GenodeOnFiascoOC) and ran into a problem. When I got to the step to building L4Re I got the following:
*** No rule to make target '.../lib32/crtendS.o', needed by 'libl4sys.so'.
I am building this on an x86_64 system, and I am sure it is looking for a 32-bit obj on a 64 bit system. Does anyone know how to fix this problem?
Peace, Chance
Forrester Wave Report - Recovery time is now measured in hours and minutes not days. Key insights are discussed in the 2010 Forrester Wave Report as part of an in-depth evaluation of disaster recovery service providers. Forrester found the best-in-class provider in terms of services and vision. Read this report now! http://p.sf.net/sfu/ibm-webcastpromo _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Stefan,
Thanks for your answer. I did it and got further along. In trying to build the Genode component I get this result; what am I missing?
Thanks, Chance
~/Fiasco/Genode-build $ make checking library dependencies for .... Skip target test/rm_nested because it requires experimental Skip target app/xvfb because it requires linux x11 xtest xdamage Skip target test/timer_accuracy because it requires linux Skip target test/xev_track because it requires host x11 xtest xdamage Skip target drivers/nic/linux because it requires linux Skip target drivers/framebuffer/fiasco_ux because it requires fiasco Skip target drivers/framebuffer/sdl because it requires linux sdl Skip target drivers/timer/nova because it requires nova Skip target drivers/timer/linux because it requires linux Skip target drivers/timer/okl4_arm because it requires okl4 arm Skip target drivers/timer/codezero because it requires codezero Skip target drivers/timer/fiasco because it requires fiasco Skip target drivers/timer/okl4_x86 because it requires okl4 Skip target drivers/timer/pistachio because it requires pistachio Skip target drivers/platform/gta01 because it requires platform_gta01 Skip target drivers/platform/versatilepb because it requires platform_versatilepb Skip target drivers/input/ps2/pl050 because it requires pl050 Skip target drivers/input/fiasco_ux because it requires fiasco Skip target drivers/audio_out/linux because it requires linux Skip target ldso/arm because it requires arm Skip target ldso/x86_64 because it requires 64bit Library slab COMPILE slab.o /bin/bash: /usr/local/genode-gcc/bin/genode-x86-g++: No such file or directory make[2]: *** [slab.o] Error 127 make[1]: *** [slab.lib] Error 2 make: *** [gen_deps_and_build_targets] Error 2
On 4/12/2011 4:23 PM, Stefan Kalkowski wrote:
Hello,
I think this is no problem related to Genode or L4Re, but your environment isn't prepared to cross-compile for 32bit. You've to install a multi-arch prepared gcc/g++ and necessary libaries for 32bit.
If you use Ubuntu just install:
sudo apt-get install gcc-multilib g++-multilib ia32-libs
To successfully compile L4Re, please re-create its build-directory before trying it again.
Regards Stefan
On 04/12/2011 08:49 PM, Guess Who? wrote:
I followed the instructions on "Genode on Fiasco.OC" (http://genode.org/community/wiki/GenodeOnFiascoOC) and ran into a problem. When I got to the step to building L4Re I got the following:
*** No rule to make target '.../lib32/crtendS.o', needed by 'libl4sys.so'.
I am building this on an x86_64 system, and I am sure it is looking for a 32-bit obj on a 64 bit system. Does anyone know how to fix this problem?
Peace, Chance
Forrester Wave Report - Recovery time is now measured in hours and minutes not days. Key insights are discussed in the 2010 Forrester Wave Report as part of an in-depth evaluation of disaster recovery service providers. Forrester found the best-in-class provider in terms of services and vision. Read this report now! http://p.sf.net/sfu/ibm-webcastpromo _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hello,
You just have to install the binary-version of our tool-chain (actually it's only gcc and binutils configured to our needs) from here:
http://sourceforge.net/projects/genode/files/genode-toolchain
Just download the archive and unpack it as root under '/'. It will install all necessary stuff under '/usr/local/genode-gcc'.
Regards Stefan
On 04/12/2011 11:12 PM, Guess Who? wrote:
Stefan,
Thanks for your answer. I did it and got further along. In trying to build the Genode component I get this result; what am I missing?
Thanks, Chance
~/Fiasco/Genode-build $ make checking library dependencies for .... Skip target test/rm_nested because it requires experimental Skip target app/xvfb because it requires linux x11 xtest xdamage Skip target test/timer_accuracy because it requires linux Skip target test/xev_track because it requires host x11 xtest xdamage Skip target drivers/nic/linux because it requires linux Skip target drivers/framebuffer/fiasco_ux because it requires fiasco Skip target drivers/framebuffer/sdl because it requires linux sdl Skip target drivers/timer/nova because it requires nova Skip target drivers/timer/linux because it requires linux Skip target drivers/timer/okl4_arm because it requires okl4 arm Skip target drivers/timer/codezero because it requires codezero Skip target drivers/timer/fiasco because it requires fiasco Skip target drivers/timer/okl4_x86 because it requires okl4 Skip target drivers/timer/pistachio because it requires pistachio Skip target drivers/platform/gta01 because it requires platform_gta01 Skip target drivers/platform/versatilepb because it requires platform_versatilepb Skip target drivers/input/ps2/pl050 because it requires pl050 Skip target drivers/input/fiasco_ux because it requires fiasco Skip target drivers/audio_out/linux because it requires linux Skip target ldso/arm because it requires arm Skip target ldso/x86_64 because it requires 64bit Library slab COMPILE slab.o /bin/bash: /usr/local/genode-gcc/bin/genode-x86-g++: No such file or directory make[2]: *** [slab.o] Error 127 make[1]: *** [slab.lib] Error 2 make: *** [gen_deps_and_build_targets] Error 2
On 4/12/2011 4:23 PM, Stefan Kalkowski wrote:
Hello,
I think this is no problem related to Genode or L4Re, but your environment isn't prepared to cross-compile for 32bit. You've to install a multi-arch prepared gcc/g++ and necessary libaries for 32bit.
If you use Ubuntu just install:
sudo apt-get install gcc-multilib g++-multilib ia32-libs
To successfully compile L4Re, please re-create its build-directory before trying it again.
Regards Stefan
On 04/12/2011 08:49 PM, Guess Who? wrote:
I followed the instructions on "Genode on Fiasco.OC" (http://genode.org/community/wiki/GenodeOnFiascoOC) and ran into a problem. When I got to the step to building L4Re I got the following:
*** No rule to make target '.../lib32/crtendS.o', needed by 'libl4sys.so'.
I am building this on an x86_64 system, and I am sure it is looking for a 32-bit obj on a 64 bit system. Does anyone know how to fix this problem?
Peace, Chance
Forrester Wave Report - Recovery time is now measured in hours and minutes not days. Key insights are discussed in the 2010 Forrester Wave Report as part of an in-depth evaluation of disaster recovery service providers. Forrester found the best-in-class provider in terms of services and vision. Read this report now! http://p.sf.net/sfu/ibm-webcastpromo _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Stefan,
I did the "genode-toolchain" thing and got compile errors in malloc_free (which I display below). I've been following the instructions in "Genode on Fiasco.OC" religiously, so I must be missing something. Can you tell me what it is?
Peace, Chance
..... COMPILE guard.o COMPILE malloc_free.o In file included from /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/capability.h:18, from /home/wegrzyn/Fiasco/src/genode/base/include/base/typed_capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/parent/capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/base/env.h:20, from /home/wegrzyn/Fiasco/src/genode/base/src/base/cxx/malloc_free.cc:17: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:5:27: warning: l4/sys/consts.h: No such file or directory /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:6:26: warning: l4/sys/types.h: No such file or directory /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:7:25: warning: l4/sys/utcb.h: No such file or directory In file included from /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/capability.h:18, from /home/wegrzyn/Fiasco/src/genode/base/include/base/typed_capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/parent/capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/base/env.h:20, from /home/wegrzyn/Fiasco/src/genode/base/src/base/cxx/malloc_free.cc:17: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:14: error: ‘l4_cap_idx_t’ does not name a type /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:19: error: ‘L4_INVALID_CAP’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:20: error: ‘L4_BASE_TASK_CAP’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:21: error: ‘L4_CAP_SHIFT’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:22: error: ‘L4_CAP_SHIFT’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:23: error: ‘L4_CAP_SHIFT’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:25: error: ‘L4_CAP_SHIFT’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:26: error: ‘L4_CAP_SHIFT’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:27: error: ‘L4_CAP_SIZE’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:30: error: expected ‘)’ before ‘cap’ /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:39: error: expected type-specifier before ‘l4_cap_idx_t’ /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h: In constructor ‘Fiasco::Fiasco_capability::Fiasco_capability(void*)’: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:34: error: class ‘Fiasco::Fiasco_capability’ does not have any field named ‘_cap_idx’ /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:34: error: ‘l4_cap_idx_t’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h: In member function ‘bool Fiasco::Fiasco_capability::valid() const’: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:36: error: ‘_cap_idx’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:36: error: ‘L4_INVALID_CAP_BIT’ is not a member of ‘Fiasco’ /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h: At global scope: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:50: error: expected initializer before ‘*’ token In file included from /home/wegrzyn/Fiasco/src/genode/base/include/base/typed_capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/parent/capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/base/env.h:20, from /home/wegrzyn/Fiasco/src/genode/base/src/base/cxx/malloc_free.cc:17: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/capability.h: In constructor ‘Genode::Capability::Capability()’: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/capability.h:34: error: no matching function for call to ‘Fiasco::Fiasco_capability::Fiasco_capability()’ /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:33: note: candidates are: Fiasco::Fiasco_capability::Fiasco_capability(void*) /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:10: note: Fiasco::Fiasco_capability::Fiasco_capability(const Fiasco::Fiasco_capability&) In file included from /home/wegrzyn/Fiasco/src/genode/base/include/base/lock.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/base/semaphore.h:18, from /home/wegrzyn/Fiasco/src/genode/base/include/base/signal.h:20, from /home/wegrzyn/Fiasco/src/genode/base/include/rm_session/rm_session.h:19, from /home/wegrzyn/Fiasco/src/genode/base/include/base/env.h:22, from /home/wegrzyn/Fiasco/src/genode/base/src/base/cxx/malloc_free.cc:17: /home/wegrzyn/Fiasco/src/genode/base/include/base/cancelable_lock.h: In member function ‘bool Genode::Cancelable_lock::Applicant::operator==(Genode::Cancelable_lock::Applicant&)’: /home/wegrzyn/Fiasco/src/genode/base/include/base/cancelable_lock.h:51: error: no match for ‘operator==’ in ‘((Genode::Cancelable_lock::Applicant*)this)->Genode::Cancelable_lock::Applicant::_tid == ((Genode::Cancelable_lock::Applicant*)a)->Genode::Cancelable_lock::Applicant::tid()’ /home/wegrzyn/Fiasco/src/genode/base/include/base/cancelable_lock.h: In member function ‘bool Genode::Cancelable_lock::Applicant::operator!=(Genode::Cancelable_lock::Applicant&)’: /home/wegrzyn/Fiasco/src/genode/base/include/base/cancelable_lock.h:52: error: no match for ‘operator!=’ in ‘((Genode::Cancelable_lock::Applicant*)this)->Genode::Cancelable_lock::Applicant::_tid != ((Genode::Cancelable_lock::Applicant*)a)->Genode::Cancelable_lock::Applicant::tid()’ make[2]: *** [malloc_free.o] Error 1 make[1]: *** [cxx.lib] Error 2 make: *** [gen_deps_and_build_targets] Error 2
Hello,
it seems to me, that the path to the kernel bindings (which fall into the L4Re build-directory) is missing or wrong.
Please make sure to assign the right L4Re build-directory to the 'L4_DIR' variable in 'etc/foc.conf' in Genode's build-directory. If that value is correct from your point of view, please post all files located underneath the 'etc' directory and post the complete output, after doing:
make VERBOSE=
Regards Stefan
On 04/13/2011 12:36 PM, Guess Who? wrote:
Stefan,
I did the "genode-toolchain" thing and got compile errors in malloc_free (which I display below). I've been following the instructions in "Genode on Fiasco.OC" religiously, so I must be missing something. Can you tell me what it is?
Peace, Chance
..... COMPILE guard.o COMPILE malloc_free.o In file included from /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/capability.h:18, from /home/wegrzyn/Fiasco/src/genode/base/include/base/typed_capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/parent/capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/base/env.h:20, from /home/wegrzyn/Fiasco/src/genode/base/src/base/cxx/malloc_free.cc:17: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:5:27: warning: l4/sys/consts.h: No such file or directory /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:6:26: warning: l4/sys/types.h: No such file or directory /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:7:25: warning: l4/sys/utcb.h: No such file or directory In file included from /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/capability.h:18, from /home/wegrzyn/Fiasco/src/genode/base/include/base/typed_capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/parent/capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/base/env.h:20, from /home/wegrzyn/Fiasco/src/genode/base/src/base/cxx/malloc_free.cc:17: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:14: error: ‘l4_cap_idx_t’ does not name a type /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:19: error: ‘L4_INVALID_CAP’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:20: error: ‘L4_BASE_TASK_CAP’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:21: error: ‘L4_CAP_SHIFT’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:22: error: ‘L4_CAP_SHIFT’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:23: error: ‘L4_CAP_SHIFT’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:25: error: ‘L4_CAP_SHIFT’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:26: error: ‘L4_CAP_SHIFT’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:27: error: ‘L4_CAP_SIZE’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:30: error: expected ‘)’ before ‘cap’ /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:39: error: expected type-specifier before ‘l4_cap_idx_t’ /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h: In constructor ‘Fiasco::Fiasco_capability::Fiasco_capability(void*)’: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:34: error: class ‘Fiasco::Fiasco_capability’ does not have any field named ‘_cap_idx’ /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:34: error: ‘l4_cap_idx_t’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h: In member function ‘bool Fiasco::Fiasco_capability::valid() const’: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:36: error: ‘_cap_idx’ was not declared in this scope /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:36: error: ‘L4_INVALID_CAP_BIT’ is not a member of ‘Fiasco’ /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h: At global scope: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:50: error: expected initializer before ‘*’ token In file included from /home/wegrzyn/Fiasco/src/genode/base/include/base/typed_capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/parent/capability.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/base/env.h:20, from /home/wegrzyn/Fiasco/src/genode/base/src/base/cxx/malloc_free.cc:17: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/capability.h: In constructor ‘Genode::Capability::Capability()’: /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/capability.h:34: error: no matching function for call to ‘Fiasco::Fiasco_capability::Fiasco_capability()’ /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:33: note: candidates are: Fiasco::Fiasco_capability::Fiasco_capability(void*) /home/wegrzyn/Fiasco/src/genode/base-foc/include/base/native_types.h:10: note: Fiasco::Fiasco_capability::Fiasco_capability(const Fiasco::Fiasco_capability&) In file included from /home/wegrzyn/Fiasco/src/genode/base/include/base/lock.h:17, from /home/wegrzyn/Fiasco/src/genode/base/include/base/semaphore.h:18, from /home/wegrzyn/Fiasco/src/genode/base/include/base/signal.h:20, from /home/wegrzyn/Fiasco/src/genode/base/include/rm_session/rm_session.h:19, from /home/wegrzyn/Fiasco/src/genode/base/include/base/env.h:22, from /home/wegrzyn/Fiasco/src/genode/base/src/base/cxx/malloc_free.cc:17: /home/wegrzyn/Fiasco/src/genode/base/include/base/cancelable_lock.h: In member function ‘bool Genode::Cancelable_lock::Applicant::operator==(Genode::Cancelable_lock::Applicant&)’:
/home/wegrzyn/Fiasco/src/genode/base/include/base/cancelable_lock.h:51: error: no match for ‘operator==’ in ‘((Genode::Cancelable_lock::Applicant*)this)->Genode::Cancelable_lock::Applicant::_tid == ((Genode::Cancelable_lock::Applicant*)a)->Genode::Cancelable_lock::Applicant::tid()’
/home/wegrzyn/Fiasco/src/genode/base/include/base/cancelable_lock.h: In member function ‘bool Genode::Cancelable_lock::Applicant::operator!=(Genode::Cancelable_lock::Applicant&)’:
/home/wegrzyn/Fiasco/src/genode/base/include/base/cancelable_lock.h:52: error: no match for ‘operator!=’ in ‘((Genode::Cancelable_lock::Applicant*)this)->Genode::Cancelable_lock::Applicant::_tid != ((Genode::Cancelable_lock::Applicant*)a)->Genode::Cancelable_lock::Applicant::tid()’
make[2]: *** [malloc_free.o] Error 1 make[1]: *** [cxx.lib] Error 2 make: *** [gen_deps_and_build_targets] Error 2