25 Jul
2010
25 Jul
'10
5:01 p.m.
Hi everybody, We compile ekiga for windows and boost signals is one of its dependencies, so we need to compile it for windows. I use gcc-mingw32 from debian unstable (gcc configured for mingw, version 4.4.4-0.1) and I do like this: - download boost 1.43.0 - echo "using gcc : : i586-mingw32msvc-gcc : ;" >$(BOOST_DIR)/user-config.jam - cd $(BOOST_DIR); ./bjam $(confboost) with: confboost := --user-config=user-config.jam --layout=system variant=release threading=multi link=shared runtime-link=shared target-os=windows threadapi=win32 --without-math --without-python --without-mpi --without-serialization --without-test --without-thread --without-wave --without-date_time --without-system --without-filesystem --without-graph --without-graph_parallel --without-iostreams --without-program_options --without-regex --without-random -q stage 1. I have a link error: Component configuration: - date_time : not building - filesystem : not building - graph : not building - graph_parallel : not building - iostreams : not building - math : not building - mpi : not building - program_options : not building - python : not building - random : not building - regex : not building - serialization : not building - signals : building - system : not building - test : not building - thread : not building - wave : not building ...patience... ...found 601 targets... ...updating 4 targets... gcc.link.dll bin.v2/libs/signals/build/gcc-mingw-4.4.4/release/target-os-windows/threadapi-win32/threading-multi/libboost_signals.dll.a Creating library file: bin.v2/libs/signals/build/gcc-mingw-4.4.4/release/target-os-windows/threadapi-win32/threading-multi/libboost_signals.dll.abin.v2/libs/signals/build/gcc-mingw-4.4.4/release/target-os-windows/threadapi-win32/threading-multi/trackable.o:trackable.cpp:(.text+0xc): undefined reference to `___gxx_personality_sj0' bin.v2/libs/signals/build/gcc-mingw-4.4.4/release/target-os-windows/threadapi-win32/threading-multi/trackable.o:trackable.cpp:(.text+0x6d): undefined reference to `operator delete(void*)' bin.v2/libs/signals/build/gcc-mingw-4.4.4/release/target-os-windows/threadapi-win32/threading-multi/trackable.o:trackable.cpp:(.text+0xac): undefined reference to `___gxx_personality_sj0' bin.v2/libs/signals/build/gcc-mingw-4.4.4/release/target-os-windows/threadapi-win32/threading-multi/trackable.o:trackable.cpp:(.text+0x10d): undefined reference to `operator delete(void*)' [...] I have discovered that the link can proceed if I do: - echo "using gcc : : i586-mingw32msvc-g++ : ;" >$(BOOST_DIR)/user-config.jam - cd $(BOOST_DIR); ./bjam $(confboost) i.e. compile again after changing gcc to g++, but of course this is a workaround. How to solve it properly? (here is the output after changing to g++: [..] - thread : not building - wave : not building ...patience... ...found 601 targets... ...updating 4 targets... gcc.link.dll bin.v2/libs/signals/build/gcc-mingw-4.4.4/release/target-os-windows/threadapi-win32/threading-multi/libboost_signals.dll.a Creating library file: bin.v2/libs/signals/build/gcc-mingw-4.4.4/release/target-os-windows/threadapi-win32/threading-multi/libboost_signals.dll.a common.copy stage/lib/libboost_signals.dll.a common.copy stage/lib/libboost_signals.dll ...updated 4 targets... ) Second, I execute afterwards: - cd $(BOOST_DIR); ./bjam $(confboost) install 2. Is $(confboost) still needed or not for install? 3. This command does nothing for about 1 minute 30 secs (I thought at the beginning that it simply does not work, fortunately I let it execute more than 10 seconds to see what happens), and only afterwards copy the files. Executing through strace shows many lines like this: brk(0x6116000) = 0x6116000 and these lines take almost all the installation time. Best regards, -- Eugen Dedu
25 Jul
25 Jul
5:15 p.m.
AMDG Eugen Dedu wrote: > We compile ekiga for windows and boost signals is one of its > dependencies, so we need to compile it for windows. I use gcc-mingw32 > from debian unstable (gcc configured for mingw, version 4.4.4-0.1) and > I do like this: > - download boost 1.43.0 > - echo "using gcc : : i586-mingw32msvc-gcc : ;" > >$(BOOST_DIR)/user-config.jam > - cd $(BOOST_DIR); ./bjam $(confboost) >> I have discovered that the link can proceed if I do: > - echo "using gcc : : i586-mingw32msvc-g++ : ;" > >$(BOOST_DIR)/user-config.jam > - cd $(BOOST_DIR); ./bjam $(confboost) > > i.e. compile again after changing gcc to g++, but of course this is a > workaround. How to solve it properly? No. Using g++ is the correct solution. > Second, I execute afterwards: > - cd $(BOOST_DIR); ./bjam $(confboost) install > 2. Is $(confboost) still needed or not for install? Yes. You'd actually be better off just running the install. It will build everything it needs. > 3. This command does nothing for about 1 minute 30 secs (I thought at > the beginning that it simply does not work, fortunately I let it > execute more than 10 seconds to see what happens), and only afterwards > copy the files. This is normal. > Executing through strace shows many lines like this: > brk(0x6116000) = 0x6116000 > and these lines take almost all the installation time. In Christ, Steven Watanabe
5:28 p.m.
On 25/07/10 19:15, Steven Watanabe wrote: > AMDG Thank you for the answer, see below. > Eugen Dedu wrote: >> We compile ekiga for windows and boost signals is one of its >> dependencies, so we need to compile it for windows. I use gcc-mingw32 >> from debian unstable (gcc configured for mingw, version 4.4.4-0.1) and >> I do like this: >> - download boost 1.43.0 >> - echo "using gcc : : i586-mingw32msvc-gcc : ;" >> >$(BOOST_DIR)/user-config.jam >> - cd $(BOOST_DIR); ./bjam $(confboost) >>>> I have discovered that the link can proceed if I do: >> - echo "using gcc : : i586-mingw32msvc-g++ : ;" >> >$(BOOST_DIR)/user-config.jam >> - cd $(BOOST_DIR); ./bjam $(confboost) >> >> i.e. compile again after changing gcc to g++, but of course this is a >> workaround. How to solve it properly? > > No. Using g++ is the correct solution. Shame on me. I tried also g++ but compiled with other flags, and the errors were surely in other place. So it works with g++, thank you. >> Second, I execute afterwards: >> - cd $(BOOST_DIR); ./bjam $(confboost) install >> 2. Is $(confboost) still needed or not for install? > > Yes. You'd actually be better off just running the install. > It will build everything it needs. Ok. >> 3. This command does nothing for about 1 minute 30 secs (I thought at >> the beginning that it simply does not work, fortunately I let it >> execute more than 10 seconds to see what happens), and only afterwards >> copy the files. > > This is normal. Is it normal to wait for about 100 seconds?! >> Executing through strace shows many lines like this: >> brk(0x6116000) = 0x6116000 >> and these lines take almost all the installation time. -- Eugen Dedu
5222
Age (days ago)
5222
Last active (days ago)
2 comments
2 participants
participants (2)
-
Eugen Dedu
-
Steven Watanabe