Re: [Ekiga-devel-list] Win32 - Cross compile+ boost



Thierry Simonnet schrieb:
Julien Puydt wrote:
Julien Puydt a écrit :
Thierry Simonnet a écrit :
checking whether the Boost::Signals library is available... yes configure: error: Could not link against !



Could you tell me more?

He told more in a private email : I'm wondering if it isn't a problem with the m4 macro used to detect boost -- that they haven't been tested for cross-compilation.

I'll have to investigate.

Snark
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list
I made some tests bypassing configure test. I had the same error messages.

After quite some time I tried to compile Ekiga master and also have some difficulties with boost. I think moving to boost will improve Ekiga in the long term. Currently it blocks the Win32 port. The libboost pointers are header only but libboost signals require a compiled lib. Without becoming an expert in Boost-Build, cross compiling may result in something not really safe, and because of name mangling differences we can not use one of the MSVC precompiled packages. So I tried to compile a mini-dev under Windows using MinGW: http://wwwuser.gwdg.de/~mrickma/ekiga/others/boost-1.40_mgw44-mini-dev.tar.bz2 . The lib is gcc-4.4.0 compiled, so the debug format of the ..-d.dll and ..-d.dll.a is not compatible with what we currently use - new gcc-mingw32 packages are already in Debian sid. For passing Ekiga's configure libboost signals test extract the archive into BUILDROOT and add --with-boost=$(BUILDROOT) to the confekiga:= portion of the Win32 Makefile. Then configure should print
checking for boostlib >= 1.34... yes
checking whether the Boost::Signals library is available... yes
checking for exit in -lboost_signals-d.dll... yes

Next compilation fails for videooutput-manager-dx.cpp. I feel not fit enough to interpret the 67 kB long error log (attached). Certainly the source file is not used for linux and when comparing the code to videooutput-manager-x.cpp the -dx.cpp has a number of nested (boost::bind (boost::bind (... which the -x.cpp does not have. Making them single "(boost::bind ... this, ..." lets compilation proceed. As I am not fit in boost signals I will not provide a patch.

Next error occurs while linking ekiga.exe:
....
lstrmiids -lole32 -luuid -loleaut32 -lquartz -ldnsapi -lboost_signals-d.dll /home/mrickma/src/ekiga/win32/lib/libxml2.dll.a -lws2_32 -L/home/mrickma/src/ekiga/win32/lib
accounts.o: In function `_ZN17GmAccountsWindow_D1Ev':
gui/accounts.cpp:(.text$_ZN5boost6detail12shared_countC1INS_7signals6detail9slot_base6data_tEEEPT_[boost::detail::shared_count::shared_count<boost::signals::detail::slot_base::data_t>(boost::signals::detail::slot_base::data_t*)]+0x5d): undefined reference to `boost::throw_exception(std::exception const&)'
collect2: ld returned 1 exit status
Is there another boost lib which has to be compiled?
Michael

Attachment: ekiga-make.log.gz
Description: GNU Zip compressed data



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]