Re: [Ekiga-list] Status of Win port
- From: Michael Rickmann <mrickma gwdg de>
- To: Ekiga mailing list <ekiga-list gnome org>
- Subject: Re: [Ekiga-list] Status of Win port
- Date: Fri, 10 Apr 2009 20:05:11 +0200
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]