Hi i'm new to Genode. I followed all the steps before this but i'm having a small making problem of hello_tutorial appication
My error is
bhathiya99@...55...:~/FinalYearProject/New_Test/genode-10.11/build$ make hello/server checking library dependencies for hello/server... Library slab Library avl_tree Library allocator_avl Library cxx Library ipc Library heap Library console Library log_console Library lock Library env Library thread Library server Library syscall Library startup Program hello/server/hello_server LINK hello_server /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/build/var/libcache/thread/thread.lib.a(thread_start.o): In function `Genode::Thread_base::_init_platform_thread()': /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/base/src/base/thread/thread_start.cc:38: multiple definition of `Genode::Thread_base::_init_platform_thread()' /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/build/var/libcache/thread/thread.lib.a(thread_linux.o):/home/bhathiya99/FinalYearProject/New_Test/genode-10.11/base-linux/src/base/thread/thread_linux.cc:48: first defined here /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/build/var/libcache/thread/thread.lib.a(thread_start.o): In function `Genode::Thread_base::cancel_blocking()': /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/base/src/base/thread/thread_start.cc:68: multiple definition of `Genode::Thread_base::cancel_blocking()' /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/build/var/libcache/thread/thread.lib.a(thread_linux.o):/home/bhathiya99/FinalYearProject/New_Test/genode-10.11/base-linux/src/base/thread/thread_linux.cc:112: first defined here /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/build/var/libcache/thread/thread.lib.a(thread_start.o): In function `Genode::Thread_base::_deinit_platform_thread()': /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/base/src/base/thread/thread_start.cc:41: multiple definition of `Genode::Thread_base::_deinit_platform_thread()' /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/build/var/libcache/thread/thread.lib.a(thread_linux.o):/home/bhathiya99/FinalYearProject/New_Test/genode-10.11/base-linux/src/base/thread/thread_linux.cc:51: first defined here /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/build/var/libcache/thread/thread.lib.a(thread_start.o): In function `Genode::Thread_base::start()': /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/base/src/base/thread/thread_start.cc:47: multiple definition of `Genode::Thread_base::start()' /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/build/var/libcache/thread/thread.lib.a(thread_linux.o):/home/bhathiya99/FinalYearProject/New_Test/genode-10.11/base-linux/src/base/thread/thread_linux.cc:82: first defined here collect2: ld returned 1 exit status make[2]: *** [hello_server] Error 1 make[1]: *** [hello_server.prg] Error 2 make: *** [gen_deps_and_build_targets] Error 2
Please help me to overcome this problem thanks.
Bhathiya.
Hello Prabhath,
On 01/13/2011 06:57 PM, prabhath bhathiya wrote:
Hi i'm new to Genode. I followed all the steps before this but i'm having a small making problem of hello_tutorial appication
Welcome to Genode :-)
BTW, you have sent your mail to the list without subscribing first. For future postings, please consider subscribing the list using one of the following forms:
http://genode.org/community/subscribe_main https://lists.sourceforge.net/lists/listinfo/genode-main
My error is
...
LINK hello_server
/home/bhathiya99/FinalYearProject/New_Test/genode-10.11/build/var/libcache/thread/thread.lib.a(thread_start.o): In function `Genode::Thread_base::_init_platform_thread()': /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/base/src/base/thread/thread_start.cc:38: multiple definition of `Genode::Thread_base::_init_platform_thread()' /home/bhathiya99/FinalYearProject/New_Test/genode-10.11/build/var/libcache/thread/thread.lib.a(thread_linux.o):/home/bhathiya99/FinalYearProject/New_Test/genode-10.11/base-linux/src/base/thread/thread_linux.cc:48:
You are building for Linux. So I am wondering how 'base/src/base/thread/thread_start.cc' ends up in your build. Normally, this file is not used when building for Linux. I suspect a misconfiguration of your '<build-dir>/etc/build.conf'. When building for Linux, please make sure that your 'REPOSITORIES' declaration contains the 'base-linux' and 'base' repositories but no other 'base-' repository. Note that the order is important ('base-linux' must be first because it overrides some parts of the generic 'base' repository). Or maybe you have changed your 'build.conf' without issuing 'make clean' first? If so, it may be a good idea to wipe the libcache via 'rm -r var/libcache'.
For a quick test, just to see that there are no fundamental problems, you may try creating a fresh build directory using the following steps:
Change to the top-level Genode directory:
cd /path/to/genode
Create a build directory for the Linux platform using the 'create_builddir' convenience tool:
./tool/builddir/create_builddir linux_x86 \ GENODE_DIR=. BUILD_DIR=/tmp/build
This tool spares you the work of manually creating the 'etc/build.conf' file. For more help about 'create_builddir', just start it without arguments. Now change to the just created build directory
cd /tmp/build
Please inspect the 'etc/build.conf' file and add the 'hello_tutorial' repository. Or just append the needed declaration using
echo "REPOSITORIES += $(GENODE_DIR)/hello_tutorial" >> etc/build.conf
Now, you can try building 'hello/server':
make hello/server
I'd be glad if you share findings with us.
Cheers
Norman