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



Julien Puydt schrieb:
Michael Rickmann a écrit :

Next compilation fails for videooutput-manager-dx.cpp. I feel not fit enough to interpret the 67 kB long error log (attached).

Well... C++ templates often lead to worse. Notice that concepts, which were supposed to make it into C++0x, should have helped make error messages more readable. They were supposed, and should have helped. They were rejected...

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.

Oh, yes! I pushed a would-be fix for that ; sorry!

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?

No. It's a problem where boost thinks we don't compile with exceptions, and hence we have that function to write ourselves. Is it with an up to date master? I thought I had fixed that one :-/

Thanks,

Snark

Ok I think I got that one working with attached patch which simply adds the -fexceptions flag to the AM_CXXFLAGS in src/Makefile.am as you had done already for the lib Makefile.am. But in general I am not happy with the C++ exceptions. It seems to add considerable overhad to Win32 ekiga. Can't we write a boost::throw_exception function which writes a PTRACE line and then exits and forget about the C++ exceptions? I upgraded my boost mini-dev at http://wwwuser.gwdg.de/~mrickma/ekiga/others/boost-1.40_mgw-mini-dev.tar.bz2 by adding some truly gcc-4.2.1 crosscompiled boost_signals libs, it makes life easier on Debian based MinGW32 installations. As I would like to improve Win32 Ekiga stable for the next release I just uploaded http://wwwuser.gwdg.de/~mrickma/ekiga/ekiga_build-3.3.1-git-356_gd6ff5f8.tgz for anybody to continue Win32 work on Master. Note, the Makefile is unfinished (copy boost by hand, remove sigc), apparently we can't any longer link Ptlib statically, the last Opal version which worked for me today is 23327.
Michael

diff -ur ekiga.orig/src/Makefile.am ekiga/src/Makefile.am
--- ekiga.orig/src/Makefile.am	2009-09-04 09:18:22.000000000 +0200
+++ ekiga/src/Makefile.am	2009-09-04 09:20:42.000000000 +0200
@@ -152,7 +152,9 @@
           fi \
         fi
 
-AM_CXXFLAGS = $(GTK_CFLAGS) $(GLIB_CFLAGS) $(GNOME_CFLAGS) $(DBUS_CFLAGS) $(BONOBO_CFLAGS) $(OPAL_CFLAGS) $(PTLIB_CFLAGS) $(BOOST_CPPFLAGS) $(SIGC_CFLAGS) $(XML_CFLAGS) $(NOTIFY_CFLAGS)
+# FIXME: here we add -fexceptions because ptlib&opal put them out and that's a problem for boost...
+AM_CXXFLAGS = $(GTK_CFLAGS) $(GLIB_CFLAGS) $(GNOME_CFLAGS) $(DBUS_CFLAGS) $(BONOBO_CFLAGS) $(OPAL_CFLAGS) $(PTLIB_CFLAGS) \
+	$(BOOST_CPPFLAGS) $(SIGC_CFLAGS) $(XML_CFLAGS) $(NOTIFY_CFLAGS) -fexceptions
 AM_LIBS = $(GTK_LIBS) $(GLIB_LIBS) $(GNOME_LIBS) $(DBUS_LIBS) $(BONOBO_LIBS) $(OPAL_LIBS) $(PTLIB_LIBS) $(BOOST_LDFLAGS) $(BOOST_LIBS) $(XML_LIBS) $(NOTIFY_LIBS)
 
 ekiga_LDADD = \


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