Re: [Ekiga-list] Status of Win port



Sorry for the late reply, I got lost in autotools and libtool.

Am Mittwoch, den 08.04.2009, 08:55 +0200 schrieb Eugen Dedu:
> Michael Rickmann wrote:
> > Hello everybody,
> > 
> > Am Dienstag, den 07.04.2009, 11:05 -0500 schrieb Michael Cronenworth:
> >> -------- Original Message --------
> >> Subject: Re: [Ekiga-list] Status of Win port
> >> From: Eugen Dedu <Eugen Dedu pu-pm univ-fcomte fr>
> >> To: Ekiga mailing list <ekiga-list gnome org>
> >> Date: 04/07/2009 10:09 AM
> >>
> >>> So the compilation works, with all classical options.
> >> Yes, it compiles, but you cannot use it. (register/crash bug) I can 
> >> provide you the installer if you would like.
> >>
> > I can can confirm successful compilation and bugs. You can find my
> > Makefile and patches in
> > http://wwwuser.gwdg.de/~mrickma/ekiga/ekiga_build.tgz 
> 
> ptlib_configure.ac* are identical, isn't it?
Actually the various ptlib_* and opal_* files in the win32 subdirectory
do not have any function any longer. Cross compilation works perfectly
with the files of the regular build process.

> Could you retest with current svn please and tell us if if the other 
> patches are necessary (so that they be integrated in svn)?  (thanks for 
> the other patches anyway!)
I rebuilt the current trunk of ptlib, opal and ekiga. All patches needed
for compilation have been applied, see my latest built in
http://wwwuser.gwdg.de/~mrickma/ekiga . Personally I use two additional
patches - they are work in progress or temporary.
1) ekiga_win32auto.diff: Make ekiga a true win32 program with entry
point set to WinMain. Windows resources are handled by autoconf and
libtool.
2) ekiga_winstdbuff.diff: Set stdout and stderr unbuffered to get debug
output when ekiga crashes.  

> >>> Fails to register: Could you send us a -d 4 output?  (I haven't seen 
> >>> any, sorry)
> > My mail  with d4 output was bounced, too long. The d4 was produced by
> > starting ekiga on WinXP which was configured for my account at ekiga.net
> > and thereafter shutting it down (crash). When comparing it to other d4
> > outputs (v3.2 Ubuntu Intrepid, v3.0.2 WinXP, v3.2 Linux Wine, see
> > http://wwwuser.gwdg.de/~mrickma/ekiga/logs-040709.tar.gz ) the Windows
> > v3.2 outputs lack any reference to the stun server and contain a
> > conspicous line
> > Contact: <sip:mrickma 192 168 1 18>;q=1 .
> > That is my IP behind a NAT router.
> 
> If I understand correctly, win version does not use stun, is that right? 
>   If this is the case, is the stun checkbox in preferences used?
Hopefully win32 Ekiga 3.2 will contain stun support, 3.0.2 did. As to
the stun checkbox, I can check and unchek it. It doesn't make any
difference for Win32 Ekiga, neither while running nor during startup: no
stun in the logs and "Could not register (Globally not acceptable)" in
the account window. From the same computer running Ubuntu Intrepid Ekiga
3.2 works very well.
Regards
Michael


> >> I may have mistaken it for the crash on exit bug. I'll compile a output 
> >> dump this evening, but 3.0.2 still works fine on the same box.
> >>
> >>> Crash on exit: The only remaining bug (to my knowledge) is 
> >>> http://bugzilla.gnome.org/show_bug.cgi?id=577640.
> 
> Let's stop speaking about crash on exit, it is known and will eventually 
> be fixed.
> 
> > When I look at the logs the v3.2 WinXP gives up first (after PWLib
> > Destroyed thread 0x9655cbc VideoPreviewManager) at a point from which
> > the well behaving v3.2 Ubuntu Intrepid version continues with "Deadlock
> > potential - avoiding evil bug!" apparently from liborbit2 (Google says
> > so, no idea).
> 
> No idea either...
> 
diff -urN ekiga.orig/configure.ac ekiga/configure.ac
--- ekiga.orig/configure.ac	2009-04-10 14:01:06.613631261 +0200
+++ ekiga/configure.ac	2009-04-10 14:01:38.706005038 +0200
@@ -100,9 +100,12 @@
     ;;
 
   mingw* )
+    LT_PROG_RC
+
     gm_platform="mingw"
     CFLAGS="$CFLAGS -DSTATIC_LIBS_USED"
     CXXFLAGS="$CXXFLAGS -DSTATIC_LIBS_USED"
+    LINKER_CFLAGS="-Wl,--subsystem,windows,-e,_WinMain 16"
     win32=1
     ;;
 
@@ -111,6 +114,7 @@
     ;;
 esac
 AC_MSG_RESULT([yes])
+AC_SUBST(LINKER_CFLAGS)
 
 AM_CONDITIONAL(WIN32, test "x${win32}" = "x1")
 
@@ -351,7 +355,7 @@
   AC_MSG_RESULT()
 
   if test -f ${with_libsasl2_dir}/include/sasl/sasl.h; then
-  	LDAP_CFLAGS="-I${with_libsasl2_dir}/include"
+  	LDAP_CFLAGS="${LDAP_CFLAGS} -I${with_libsasl2_dir}/include"
   else
   	AC_MSG_ERROR(*** libsasl2 headers not found)
   fi
diff -urN ekiga.orig/ekiga.rc ekiga/ekiga.rc
--- ekiga.orig/ekiga.rc	2009-04-10 14:01:06.652508000 +0200
+++ ekiga/ekiga.rc	1970-01-01 01:00:00.000000000 +0100
@@ -1,29 +0,0 @@
-#include "config.h"
-
-1 VERSIONINFO
-FILEVERSION MAJOR_VERSION, MINOR_VERSION, BUILD_NUMBER, 0
-PRODUCTVERSION MAJOR_VERSION, MINOR_VERSION, BUILD_NUMBER, 0
-FILEFLAGSMASK 0
-FILEOS 0x40000
-FILETYPE 1
-{
- BLOCK "StringFileInfo"
- {
-  BLOCK "040904E4"
-  {
-   VALUE "CompanyName", "see www.ekiga.org"
-   VALUE "FileDescription", "Ekiga is a free Voice over IP phone"
-   VALUE "FileVersion", VERSION
-   VALUE "InternalName", "Ekiga"
-   VALUE "LegalCopyright", "2000-2009 Damien Sandras"
-   VALUE "ProductName", "Ekiga"
-   VALUE "OriginalFilename", "ekiga.exe"
-   VALUE "ProductVersion", PACKAGE_VERSION
-#ifdef CVS_VERSION
-   VALUE "SpecialBuild", CVS_VERSION
-#endif
-  }
- }
-}
-
-2 ICON DISCARDABLE "win32/ico/ekiga.ico"
diff -urN ekiga.orig/ekiga-rc.rc ekiga/ekiga-rc.rc
--- ekiga.orig/ekiga-rc.rc	1970-01-01 01:00:00.000000000 +0100
+++ ekiga/ekiga-rc.rc	2009-04-10 14:02:19.057221003 +0200
@@ -0,0 +1,29 @@
+#include "config.h"
+
+1 VERSIONINFO
+FILEVERSION MAJOR_VERSION, MINOR_VERSION, BUILD_NUMBER, 0
+PRODUCTVERSION MAJOR_VERSION, MINOR_VERSION, BUILD_NUMBER, 0
+FILEFLAGSMASK 0
+FILEOS 0x40000
+FILETYPE 1
+{
+ BLOCK "StringFileInfo"
+ {
+  BLOCK "040904E4"
+  {
+   VALUE "CompanyName", "see www.ekiga.org"
+   VALUE "FileDescription", "Ekiga is a free Voice over IP phone"
+   VALUE "FileVersion", VERSION
+   VALUE "InternalName", "Ekiga"
+   VALUE "LegalCopyright", "2000-2009 Damien Sandras"
+   VALUE "ProductName", "Ekiga"
+   VALUE "OriginalFilename", "ekiga.exe"
+   VALUE "ProductVersion", PACKAGE_VERSION
+#ifdef CVS_VERSION
+   VALUE "SpecialBuild", SVN_REVISION
+#endif
+  }
+ }
+}
+
+2 ICON DISCARDABLE "win32/ico/ekiga.ico"
diff -urN ekiga.orig/Makefile.am ekiga/Makefile.am
--- ekiga.orig/Makefile.am	2009-04-10 14:01:06.588511581 +0200
+++ ekiga/Makefile.am	2009-04-10 14:01:38.708509826 +0200
@@ -21,13 +21,6 @@
 WIN32_DIST = \
 	win32/ico/ekiga.ico					\
 	win32/ico/ekiga-uninstall.ico				\
-	win32/diff/opal_opal.pc.in				\
-	win32/diff/ptlib_Makefile.am				\
-        win32/diff/ptlib_ptlib.pc.in                            \
-	win32/diff/opal_configure.ac				\
-	win32/diff/opal_Makefile.am				\
-	win32/diff/ptlib_configure.ac				\
-	win32/diff/ptlib_pwlib.pc.in				\
         win32/directx/Amvideo.h                                 \
         win32/directx/control.h                                 \
         win32/directx/ddraw.h                                   \
@@ -38,7 +31,7 @@
         win32/directx/mingw_dshow_port.h                        \
         win32/directx/strmif.h                                  \
         win32/directx/uuids.h                                   \
-	ekiga.rc						\
+	ekiga-rc.rc						\
 	win32/Makefile						\
 	win32/nsisinstaller/ekiga.nsi				\
 	win32/nsisinstaller/language_files/hungarian.nsh	\
diff -urN ekiga.orig/src/Makefile.am ekiga/src/Makefile.am
--- ekiga.orig/src/Makefile.am	2009-04-10 14:01:04.741457878 +0200
+++ ekiga/src/Makefile.am	2009-04-10 14:01:38.708509826 +0200
@@ -85,6 +85,12 @@
 	ekiga.h			                \
 	ekiga.cpp
 
+# resources
+if WIN32
+ekiga_SOURCES +=                   	\
+	$(top_srcdir)/ekiga-rc.rc
+endif
+
 if HAVE_DBUS 
 ekiga_SOURCES +=		\
 	dbus-helper/dbus.h	\
@@ -131,6 +137,9 @@
 SVN_REVISION=$(shell head ../.svn/entries -n11 2>/dev/null | tail -n1)
 CACHED_REVISION=$(shell cat revision.h 2>/dev/null | cut -c24-)
 
+.rc.o:
+	$(LIBTOOL) --tag=RC --mode=compile $(RC) $< -o $@ -I $(top_srcdir)
+
 src/revision.h:
 $(shell if test -e "../.svn/entries"; then \
           if test "x$(SVN_REVISION)" != "x$(CACHED_REVISION)"; then \
@@ -142,7 +151,7 @@
           fi \
         fi)
 
-AM_CXXFLAGS = $(GTK_CFLAGS) $(GLIB_CFLAGS) $(GNOME_CFLAGS) $(DBUS_CFLAGS) $(BONOBO_CFLAGS) $(OPAL_CFLAGS) $(PTLIB_CFLAGS) $(SIGC_CFLAGS) $(XML_CFLAGS) $(NOTIFY_CFLAGS)
+AM_CXXFLAGS = $(GTK_CFLAGS) $(GLIB_CFLAGS) $(GNOME_CFLAGS) $(DBUS_CFLAGS) $(BONOBO_CFLAGS) $(OPAL_CFLAGS) $(PTLIB_CFLAGS) $(SIGC_CFLAGS) $(XML_CFLAGS) $(NOTIFY_CFLAGS) $(LINKER_CFLAGS)
 AM_LIBS = $(GTK_LIBS) $(GLIB_LIBS) $(GNOME_LIBS) $(DBUS_LIBS) $(BONOBO_LIBS) $(OPAL_LIBS) $(PTLIB_LIBS) $(SIGC_LIBS) $(XML_LIBS) $(NOTIFY_LIBS)
 
 ekiga_LDADD = \
diff -ur ekiga.orig/src/gui/main.cpp ekiga/src/gui/main.cpp
--- ekiga.orig/src/gui/main.cpp	2009-04-04 13:33:57.000000000 +0200
+++ ekiga/src/gui/main.cpp	2009-04-04 13:32:22.000000000 +0200
@@ -4624,6 +4624,9 @@
 
     std::freopen("stdout.txt", "w", stdout);
     std::freopen("stderr.txt", "w", stderr);
+    /* as long as ekiga crashes write unbuffered */
+    std::setbuf(stdout, NULL);
+    std::setbuf(stderr, NULL);
 
     iresult = main (argc, argv, env);
   }


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