Cross-compiling ekiga for win32

View: New views
20 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 | Next >

Cross-compiling ekiga for win32

by Julien PUYDT :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I would like to know if the win32/ directory in ekiga's master is up to
date : can I use it to test things?

Snark

PS: sending to ekiga-devel instead of Michael more directly because the
answer may be of interest to others ;-)
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Michael Cronenworth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Julien Puydt on 06/25/2009 01:49 PM wrote:
> Hi,
>
> I would like to know if the win32/ directory in ekiga's master is up to
> date : can I use it to test things?
>

It depends on what OS you are building on. The files in win32/ are meant
for Debian. For Fedora or Windows you would need to customize it a little.


_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Eugen Dedu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Michael Cronenworth wrote:
> Julien Puydt on 06/25/2009 01:49 PM wrote:
>> Hi,
>>
>> I would like to know if the win32/ directory in ekiga's master is up to
>> date : can I use it to test things?
>>
>
> It depends on what OS you are building on. The files in win32/ are meant
> for Debian. For Fedora or Windows you would need to customize it a little.

Couldn't we customize it right now (in git) to take into account both OSes?

--
Eugen
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Michael Cronenworth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Eugen Dedu on 06/25/2009 02:07 PM wrote:
>
> Couldn't we customize it right now (in git) to take into account both OSes?
>

Sure, you could have a Makefile if test based on what `uname -s` or
/etc/system-release reports. I neither have the time nor initiative at
the moment to do so.
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Eugen Dedu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Michael Cronenworth wrote:
> Eugen Dedu on 06/25/2009 02:07 PM wrote:
>> Couldn't we customize it right now (in git) to take into account both OSes?
>>
>
> Sure, you could have a Makefile if test based on what `uname -s` or
> /etc/system-release reports. I neither have the time nor initiative at
> the moment to do so.

Is it difficult?  Are there only 5 if-s to be declared inside Makefile
or it is more complicated?

--
Eugen
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Michael Cronenworth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Eugen Dedu on 06/25/2009 02:15 PM wrote:
>
> Is it difficult?  Are there only 5 if-s to be declared inside Makefile
> or it is more complicated?
>


No. Here's a primitive example:

OS_TYPE := $(shell uname -s)

ifneq (,$(findstring MINGW,$(OS_TYPE)))
BUILD_TARGET = WINDOWS
endif

This would set $BUILD_TARGET to WINDOWS if you were running make from a
Windows OS using MinGW.

This won't work though if you are attempting to build from a Windows
command prompt. There is no "uname" command in Windows by default unless
you put the MinGW tools in your %PATH% (not done by default).
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Eugen Dedu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Michael Cronenworth wrote:

> Eugen Dedu on 06/25/2009 02:15 PM wrote:
>> Is it difficult?  Are there only 5 if-s to be declared inside Makefile
>> or it is more complicated?
>>
>
>
> No. Here's a primitive example:
>
> OS_TYPE := $(shell uname -s)
>
> ifneq (,$(findstring MINGW,$(OS_TYPE)))
> BUILD_TARGET = WINDOWS
> endif
>
> This would set $BUILD_TARGET to WINDOWS if you were running make from a
> Windows OS using MinGW.
>
> This won't work though if you are attempting to build from a Windows
> command prompt. There is no "uname" command in Windows by default unless
> you put the MinGW tools in your %PATH% (not done by default).

There is something I do not understand.  It is not possible to compile
ekiga from windows (cf.
http://wiki.ekiga.org/index.php/Cross-compile_Win32#Understanding_the_cross-build_script)

So I meant to modify Makefile so that it can be used directly from
debian and fedora, not from windows.

--
Eugen
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Michael Cronenworth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Eugen Dedu on 06/25/2009 02:27 PM wrote:
>
> There is something I do not understand.  It is not possible to compile
> ekiga from windows (cf.
> http://wiki.ekiga.org/index.php/Cross-compile_Win32#Understanding_the_cross-build_script)
>
>
> So I meant to modify Makefile so that it can be used directly from
> debian and fedora, not from windows.
>

MinGW has a perfectly stable and working compile environment that
compiles and runs on Windows. It's able to produce the exact same
binaries that a Debian build of MinGW does. Debian is not special,
unique, or superior in any way (sorry to bust your bubble).

If I'm not mistaken, MinGW originated on Windows. The Debian MinGW
packages are just re-compiles of the MinGW source, which is officially
compiled under Windows.

Before I used MinGW on Fedora, I was building lots of programs
(proprietary and open source) under Windows.

The Makefile in question should be able to be modified to include
building from Windows with little to no knowledge of Windows. MinGW can
run in a "MSYS" environment that partially emulates a UNIX-like environment.
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Julien PUYDT :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Michael Cronenworth a écrit :
> It depends on what OS you are building on. The files in win32/ are meant
> for Debian. For Fedora or Windows you would need to customize it a little.

I'm using debian. I already had a few problems :
- libxml' 2.6.26 isn't available anymore ;
- the openldap compilation fails with :
slapdmsg.rc -O coff -o slapdmsg.res
make[1]: slapdmsg.rc : commande introuvable (means: command not found)

the Makefile (openldap's libraries/liblutil/ Makefile to be precise)
target triggering the problem is :
lapdmsg.res: slapdmsg.rc slapdmsg.bin
          $< -O coff -o $@

which doesn't look very honest.

It's pretty late... uh... early, so I don't think I'll be able to get
myself out of this problem before some rest :-/

Snark
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by paul hillereau :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Julien Puydt a écrit :

> Michael Cronenworth a écrit :
>> It depends on what OS you are building on. The files in win32/ are meant
>> for Debian. For Fedora or Windows you would need to customize it a
>> little.
>
> I'm using debian. I already had a few problems :
> - libxml' 2.6.26 isn't available anymore ;
> - the openldap compilation fails with :
> slapdmsg.rc -O coff -o slapdmsg.res
> make[1]: slapdmsg.rc : commande introuvable (means: command not found)
>
> the Makefile (openldap's libraries/liblutil/ Makefile to be precise)
> target triggering the problem is :
> lapdmsg.res: slapdmsg.rc slapdmsg.bin
>          $< -O coff -o $@
>
> which doesn't look very honest.
>
> It's pretty late... uh... early, so I don't think I'll be able to get
> myself out of this problem before some rest :-/
>
> Snark
Hello,

Which version of Ekiga are you using ? I got this ldap problem only with
ekiga 3.2.4. slapdmsg.rc was not found on my system too.
To avoid it you can remove slapdmesg.res from NT_OBJS in the makefile.
It allows you to pass LDAP cross-compilation and go to the next problem
for cross-compilation ;)

libxml 2.6.26 is not available anymore. You can use a 2.6.30 instead.

Regards,

Paul.
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Eugen Dedu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Michael Cronenworth wrote:

> Eugen Dedu on 06/25/2009 02:27 PM wrote:
>> There is something I do not understand.  It is not possible to compile
>> ekiga from windows (cf.
>> http://wiki.ekiga.org/index.php/Cross-compile_Win32#Understanding_the_cross-build_script)
>>
>>
>> So I meant to modify Makefile so that it can be used directly from
>> debian and fedora, not from windows.
>>
>
> MinGW has a perfectly stable and working compile environment that
> compiles and runs on Windows. It's able to produce the exact same
> binaries that a Debian build of MinGW does. Debian is not special,
> unique, or superior in any way (sorry to bust your bubble).

Hi Michael,

Sorry for the confusion.  I thought that ekiga cannot be compiled on
windows at all.  Now I understand that it cannot be compiled on
windows-native, but it can be compiled on windows through mingw
environment, is that right?  The wiki page then should be modified.

So we have now the Makefile which, through mingw:
- works on debian (well, with a few updates)
- does not work on fedora  <-- couldn't it be modified so that it works
here too?  I feel the modifications should be pretty simple
- does not work on windows  <-- here you said the modifications are more
difficult

This is what I understand, but I can be wrong of course.

> If I'm not mistaken, MinGW originated on Windows. The Debian MinGW
> packages are just re-compiles of the MinGW source, which is officially
> compiled under Windows.
>
> Before I used MinGW on Fedora, I was building lots of programs
> (proprietary and open source) under Windows.
>
> The Makefile in question should be able to be modified to include
> building from Windows with little to no knowledge of Windows. MinGW can
> run in a "MSYS" environment that partially emulates a UNIX-like environment.


--
Eugen
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Michael Rickmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Am Freitag, den 26.06.2009, 01:48 +0200 schrieb Julien Puydt:

> Michael Cronenworth a écrit :
> > It depends on what OS you are building on. The files in win32/ are meant
> > for Debian. For Fedora or Windows you would need to customize it a little.
>
> I'm using debian. I already had a few problems :
> - libxml' 2.6.26 isn't available anymore ;
> - the openldap compilation fails with :
> slapdmsg.rc -O coff -o slapdmsg.res
> make[1]: slapdmsg.rc : commande introuvable (means: command not found)
>
> the Makefile (openldap's libraries/liblutil/ Makefile to be precise)
> target triggering the problem is :
> lapdmsg.res: slapdmsg.rc slapdmsg.bin
>           $< -O coff -o $@
>
> which doesn't look very honest.
>
> It's pretty late... uh... early, so I don't think I'll be able to get
> myself out of this problem before some rest :-/
>
> Snark
Over the weekend I have stripped down my build process and can make a
suggestion how to revise Ekiga's Win32 build - Debian based only, sorry,
but better than the current.
First, I would like to submit three patches which should go to Ekiga's
code directly.

1ekiga_linkmagic.diff allows the linker to choose the correct entry
point for a Win32 gui application, so that one can use the -mwindows
flag.

2ekiga_shownormal.diff fixes a bug in the installer which would render
Ekiga unusable after a default installation. To start Ekiga minimized
you have to use Ekiga's own option not the Windows' one.

3ekiga_mvredir.diff fixes a problem under Windows 7 (possibly Vista
too). Current Ekiga writes its log files into the application directory.
Win7 allows this, but the files are sometimes truncated or they just
vanish. It appears they use some mapping to protect the application
programs. I would suggest to write the log files onto the user's desktop
if debug output was requested.

Now to the Ekiga's win32 directory. The current diff subdirectory
containes useless diffs. It is needed, however, to hold permanent and
temporary patches. Currently there are three for opal and one for ptlib
- I will file bug reports for them. The ptlib one is especially nasty
because it is Mingw's Win32 headers which are wrong (the WINVER issue),
but they seem to prefer being on the conservative side.
Finally, in the Makefile I have upgraded the versions of the required
libs mostly. libsasl2 and celt were added. And I changed to downloading
from git where required (Ekiga) or more reliable (ffmpeg).
I attach two forms of the changes to the win32 subdir, a long patch and
as an archive of the changed / required files.

As we cannot download the win32 subdir separately from git. Starting to
build Ekiga would change as follows.
Obtain Ekiga
  git clone git://git.gnome.org/ekiga
Make a copy of the win32 directory
  cp -a ekiga/win32 .
Change into that subdirectory, it will be your "BUILDROOT"
  cd win32
Get all the sources
  make update-sources
Build Ekiga
  make
The Makefile will try to move the already downloaded Ekiga to the right
place during the make update-sources.
I hope it helps.
Regards
Michael


[1ekiga_linkmagic.diff]

diff -ur ekiga.orig/src/gui/main.cpp ekiga/src/gui/main.cpp
--- ekiga.orig/src/gui/main.cpp 2009-06-28 08:17:31.000000000 +0200
+++ ekiga/src/gui/main.cpp 2009-06-28 08:18:58.000000000 +0200
@@ -4307,6 +4307,10 @@
   return gtk_image_get_pixbuf (GTK_IMAGE (mw->priv->main_video_image));
 }
 
+#ifdef WIN32
+// the linker must not find main
+#define main(c,v,e) ekigas_real_main(c,v,e)
+#endif
 
 /* The main () */
 int


[2ekiga_shownormal.diff]

diff -ur src/ekiga/win32/nsisinstaller/ekiga.nsi ekiga/win32/nsisinstaller/ekiga.nsi
--- src/ekiga/win32/nsisinstaller/ekiga.nsi 2009-04-19 18:08:42.860313875 +0200
+++ ekiga/win32/nsisinstaller/ekiga.nsi 2009-06-11 13:58:35.729786000 +0200
@@ -393,7 +393,7 @@
   
   Section $(EKIGA_RUN_AT_STARTUP) SecStartup
      SetOutPath $INSTDIR
-     CreateShortCut "$SMSTARTUP\Ekiga.lnk" "$INSTDIR\ekiga.exe" "" "" 0 SW_SHOWMINIMIZED
+     CreateShortCut "$SMSTARTUP\Ekiga.lnk" "$INSTDIR\ekiga.exe" "" "" 0 SW_SHOWNORMAL
   SectionEnd
 SubSectionEnd
 


[3ekiga_mvredir.diff]

diff -ur ekiga.orig/src/gui/main.cpp ekiga/src/gui/main.cpp
--- ekiga.orig/src/gui/main.cpp 2009-06-28 08:22:05.000000000 +0200
+++ ekiga/src/gui/main.cpp 2009-06-28 08:23:30.000000000 +0200
@@ -4410,6 +4410,13 @@
   text_label =  g_strdup_printf ("PTLIB_TRACE_CODECS_USER_PLANE=%d", debug_level_up);
   _putenv (text_label);
   g_free (text_label);
+  if (debug_level != 0) {
+    string desk_path = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP);
+    if (!desk_path.empty ()) {
+      std::freopen((desk_path + "\\ekiga-stdout.txt").c_str (), "w", stdout);
+      std::freopen((desk_path + "\\ekiga-stderr.txt").c_str (), "w", stderr);
+    }
+  }
 #endif
 
   /* Ekiga initialisation */
@@ -4579,9 +4586,6 @@
     /* use msvcrt.dll to parse command line */
     __getmainargs (&argc, &argv, &env, 0, &info);
 
-    std::freopen("stdout.txt", "w", stdout);
-    std::freopen("stderr.txt", "w", stderr);
-
     iresult = main (argc, argv, env);
   }
   CloseHandle (ekr_mutex);




_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

win32.diff.gz (20K) Download Attachment
win32substitut.tar.gz (12K) Download Attachment

Re: Cross-compiling ekiga for win32

by Julien PUYDT :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Michael Rickmann a écrit :
> <big snip>

I pushed all your changes in.

There's something I don't get : why do you want to download ekiga if you
already have it on disk?

Perhaps it's something you don't know about autotools : they allow
out-of-tree builds. You have your sources in $WHATEVER_DIR, but want to
build in $THIS_DIR :
$ mkdir -p $THIS_DIR
$ cd $THIS_DIR
$ $WHATEVER_DIR/configure $CONFFLAGS
$ make

This will build the usual program ; if in another console you do :
$ ~/bin/setup_for_cross_compile
$ mkdir -p $(THIS_DIR)_cross
$ cd $(THIS_DIR)_cross
$ $WHATEVER_DIR/configure $CROSS_CONFFLAGS
$ make

Then the same sources will be built with very different options in
different directories.

Hope this helps,

Snark
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Michael Rickmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Am Montag, den 29.06.2009, 14:19 +0200 schrieb Julien Puydt:
> Michael Rickmann a écrit :
> > <big snip>
>
> I pushed all your changes in.
Thanks, I will test it as soon as possible. It should be ok, one never
knows.
>
> There's something I don't get : why do you want to download ekiga if you
> already have it on disk?
make tries to move the download if it finds it at the most probable
location:
ifeq ($(wildcard $(SRCDIR)/$(EKIGA_ARCHIVE)),)
ifneq ($(wildcard $(BUILDROOT)/../$(EKIGA_ARCHIVE)/.git),)
update-ekiga:
        echo --- Moving Ekiga master...
        $(MV) $(BUILDROOT)/../$(EKIGA_ARCHIVE) $(SRCDIR)
else
....
I and the Makefile are just used to have all sources in one subdir.

> Perhaps it's something you don't know about autotools : they allow
> out-of-tree builds. You have your sources in $WHATEVER_DIR, but want to
> build in $THIS_DIR :
> $ mkdir -p $THIS_DIR
> $ cd $THIS_DIR
> $ $WHATEVER_DIR/configure $CONFFLAGS
> $ make
>
> This will build the usual program ; if in another console you do :
> $ ~/bin/setup_for_cross_compile
> $ mkdir -p $(THIS_DIR)_cross
> $ cd $(THIS_DIR)_cross
> $ $WHATEVER_DIR/configure $CROSS_CONFFLAGS
> $ make
>
> Then the same sources will be built with very different options in
> different directories.
>
Now I remember, I used that when I was building the cross tools myself,
gcc uses that scheme.

> Hope this helps,
>
It may come in the next revision of the Makefile for a couple of
sources. For those sources, which we are working on, copying the source
and building in tree was what the Makefile was providing for up to now,
but building from a separate git clone may be even easier.

> Snark
> _______________________________________________
Thanks
Michael
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Thierry Simonnet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

After last week changes, I have new cross compiling troubles. See below :
In attachment Makefile I use. (make distclean; make update-sources; make)

--------------
Making install in framework
make[5]: Entering directory `/root/win32/ekiga/lib/engine/framework'
/bin/sh ../../../libtool --tag=CXX   --mode=link i586-mingw32msvc-g++
-mms-bitfields -I/root/win32/include/sigc++-2.0
-I/root/win32/lib/sigc++-2.0/include   -mms-bitfields
-I/root/win32/include/glib-2.0 -I/root/win32/lib/glib-2.0/include  
-I/root/win32/include/libxml2   -I/root/win32/include -march=pentium-mmx
-DPTRACING -mwindows -Wall -Wextra -Winit-self -Wswitch-default
-Wswitch-enum -Wstrict-aliasing=2 -Wfloat-equal -Wshadow
-DSTATIC_LIBS_USED -shared -module -no-undefined -avoid-version
-L/root/win32/lib  -march=pentium-mmx -o libgmframework.la -rpath
/root/win32/dist/Ekiga form.lo robust-xml.lo gmconf-bridge.lo
menu-builder.lo menu-builder-tools.lo form-builder.lo form-dumper.lo
form-request-simple.lo runtime-glib.lo services.lo menu-xml.lo
kickstart.lo ../../../lib/gmconf/libgmconf.la -L/root/win32/lib
-lsigc-2.0   -L/root/win32/lib -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0
-lglib-2.0 -lintl   -L/root/win32/lib -lxml2
rm -fr  .libs/libgmframework.dll.a
i586-mingw32msvc-g++ -mms-bitfields -shared -nostdlib
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/dllcrt2.o
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/crtbegin.o  .libs/form.o
.libs/robust-xml.o .libs/gmconf-bridge.o .libs/menu-builder.o
.libs/menu-builder-tools.o .libs/form-builder.o .libs/form-dumper.o
.libs/form-request-simple.o .libs/runtime-glib.o .libs/services.o
.libs/menu-xml.o .libs/kickstart.o -Wl,--whole-archive
../../../lib/gmconf/.libs/libgmconf.a -Wl,--no-whole-archive  
-L/root/win32/lib /root/win32/lib/libsigc-2.0.dll.a -lgmodule-2.0
-lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lintl
/root/win32/lib/libxml2.dll.a -L/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj
-L/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib
-lstdc++ -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lgdi32
-lcomdlg32 -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc
-lmoldname -lmingwex -lmsvcrt
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/crtend.o  -mms-bitfields
-mms-bitfields -march=pentium-mmx -mwindows -march=pentium-mmx -o
.libs/libgmframework.dll -Wl,--enable-auto-image-base -Xlinker
--out-implib -Xlinker .libs/libgmframework.dll.a
Creating library file: .libs/libgmframework.dll.a
../../../lib/gmconf/.libs/libgmconf.a(gmconf-glib.o):gmconf-glib.c:(.text+0x1f52):
undefined reference to `_win32_sysconfdir'
collect2: ld returned 1 exit status
make[5]: *** [libgmframework.la] Error 1
make[5]: Leaving directory `/root/win32/ekiga/lib/engine/framework'
make[4]: *** [install-recursive] Error 1
make[4]: Leaving directory `/root/win32/ekiga/lib/engine'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory `/root/win32/ekiga/lib'
make[2]: *** [install] Error 2
make[2]: Leaving directory `/root/win32/ekiga/lib'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/root/win32/ekiga'
make: *** [/root/win32/dist/zips] Error 2

Michael Rickmann wrote:

> Am Montag, den 29.06.2009, 14:19 +0200 schrieb Julien Puydt:
>  
>> Michael Rickmann a écrit :
>>    
>>> <big snip>
>>>      
>> I pushed all your changes in.
>>    
> Thanks, I will test it as soon as possible. It should be ok, one never
> knows.
>  
>> There's something I don't get : why do you want to download ekiga if you
>> already have it on disk?
>>    
> make tries to move the download if it finds it at the most probable
> location:
> ifeq ($(wildcard $(SRCDIR)/$(EKIGA_ARCHIVE)),)
> ifneq ($(wildcard $(BUILDROOT)/../$(EKIGA_ARCHIVE)/.git),)
> update-ekiga:
> echo --- Moving Ekiga master...
> $(MV) $(BUILDROOT)/../$(EKIGA_ARCHIVE) $(SRCDIR)
> else
> ....
> I and the Makefile are just used to have all sources in one subdir.
>
>  
>> Perhaps it's something you don't know about autotools : they allow
>> out-of-tree builds. You have your sources in $WHATEVER_DIR, but want to
>> build in $THIS_DIR :
>> $ mkdir -p $THIS_DIR
>> $ cd $THIS_DIR
>> $ $WHATEVER_DIR/configure $CONFFLAGS
>> $ make
>>
>> This will build the usual program ; if in another console you do :
>> $ ~/bin/setup_for_cross_compile
>> $ mkdir -p $(THIS_DIR)_cross
>> $ cd $(THIS_DIR)_cross
>> $ $WHATEVER_DIR/configure $CROSS_CONFFLAGS
>> $ make
>>
>> Then the same sources will be built with very different options in
>> different directories.
>>
>>    
> Now I remember, I used that when I was building the cross tools myself,
> gcc uses that scheme.
>
>  
>> Hope this helps,
>>
>>    
> It may come in the next revision of the Makefile for a couple of
> sources. For those sources, which we are working on, copying the source
> and building in tree was what the Makefile was providing for up to now,
> but building from a separate git clone may be even easier.
>
>  
>> Snark
>> _______________________________________________
>>    
> Thanks
> Michael
> _______________________________________________
> Ekiga-devel-list mailing list
> Ekiga-devel-list@...
> http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

--

Thierry Simonnet

ESIEE-Paris

Par respect pour l’environnement, n’imprimez ce mail que si nécessaire




_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Makefile.gz (10K) Download Attachment

Re: Cross-compiling ekiga for win32

by Jarmo Pussinen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Michael Rickmann wrote:

>
> As we cannot download the win32 subdir separately from git. Starting to
> build Ekiga would change as follows.
> Obtain Ekiga
>   git clone git://git.gnome.org/ekiga
> Make a copy of the win32 directory
>   cp -a ekiga/win32 .
> Change into that subdirectory, it will be your "BUILDROOT"
>   cd win32
> Get all the sources
>   make update-sources
> Build Ekiga
>   make
> The Makefile will try to move the already downloaded Ekiga to the right
> place during the make update-sources.
Is this still the proper advice on how to build win32 version?

I have installed mingw32 version that was mentioned in erlier mails,
but I still get three errors. I kind of fixed them, but the resulting
executable crashes on video call and on exit.

I have attached the bug logs and my patches how I fixed them.
(The patches are incremental and should be applied after each
corresponding bug, because of the way the build script creates
the source tree.)

Especially the first bug seems weird in celt/configure:
./configure: line 12345: syntax error near unexpected token `tools="tools",'
./configure: line 12345: `  XIPH_PATH_OGG(tools="tools", tools="")'

And I am sure that my fix replacing 'XIPH_PATH_OGG(tools="tools",
tools="")' with 'tools="tools"' is not very good.

The second bug is about undefined _win32_sysconfdir.

And the third bug is about misplace ekiga-rc.o.

The latter two I fixed in a reasonable manner (I hope)
by adding libgmplatform.la to Makefile and by fixing ekiga-rc.o path
in another Makefile.

I cannot give much debug help about crashes, because starting
Ekiga with command line "ekiga.exe -d 4" causes an additional
command line window named
c:\Program Files\Ekiga\plugins\h264_video_pwplugin_helper.exe
to appear, but that window stays empty.

Thanks
jarmo





_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

build-errors.tbz (6K) Download Attachment

Re: Cross-compiling ekiga for win32

by Thierry Simonnet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I don't have celt trouble for compiling.
make-2.patch and make-3.patch resolve all cross compile trouble for me
(Debian lenny).

It is now possible to test a win32 version.

Thanks a lot for your patches

Jarmo Pussinen wrote:

> Michael Rickmann wrote:
>  
>> As we cannot download the win32 subdir separately from git. Starting to
>> build Ekiga would change as follows.
>> Obtain Ekiga
>>   git clone git://git.gnome.org/ekiga
>> Make a copy of the win32 directory
>>   cp -a ekiga/win32 .
>> Change into that subdirectory, it will be your "BUILDROOT"
>>   cd win32
>> Get all the sources
>>   make update-sources
>> Build Ekiga
>>   make
>> The Makefile will try to move the already downloaded Ekiga to the right
>> place during the make update-sources.
>>    
>
> Is this still the proper advice on how to build win32 version?
>
> I have installed mingw32 version that was mentioned in erlier mails,
> but I still get three errors. I kind of fixed them, but the resulting
> executable crashes on video call and on exit.
>
> I have attached the bug logs and my patches how I fixed them.
> (The patches are incremental and should be applied after each
> corresponding bug, because of the way the build script creates
> the source tree.)
>
> Especially the first bug seems weird in celt/configure:
> ./configure: line 12345: syntax error near unexpected token `tools="tools",'
> ./configure: line 12345: `  XIPH_PATH_OGG(tools="tools", tools="")'
>
> And I am sure that my fix replacing 'XIPH_PATH_OGG(tools="tools",
> tools="")' with 'tools="tools"' is not very good.
>
> The second bug is about undefined _win32_sysconfdir.
>
> And the third bug is about misplace ekiga-rc.o.
>
> The latter two I fixed in a reasonable manner (I hope)
> by adding libgmplatform.la to Makefile and by fixing ekiga-rc.o path
> in another Makefile.
>
> I cannot give much debug help about crashes, because starting
> Ekiga with command line "ekiga.exe -d 4" causes an additional
> command line window named
> c:\Program Files\Ekiga\plugins\h264_video_pwplugin_helper.exe
> to appear, but that window stays empty.
>
> Thanks
> jarmo
>
>
>
>  
> ------------------------------------------------------------------------
>
> _______________________________________________
> Ekiga-devel-list mailing list
> Ekiga-devel-list@...
> http://mail.gnome.org/mailman/listinfo/ekiga-devel-list


--

Thierry Simonnet

ESIEE-Paris

Par respect pour l’environnement, n’imprimez ce mail que si nécessaire


_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Michael Rickmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Yes things have changed a week ago with "Split ekiga into an exec and
helper libs". This has been done to make the Win32 version Ekiga-plugin
capable, eventually.

Am Mittwoch, den 08.07.2009, 11:28 +0200 schrieb Thierry Simonnet:

> I don't have celt trouble for compiling.
> make-2.patch and make-3.patch resolve all cross compile trouble for me
> (Debian lenny).
>
> It is now possible to test a win32 version.
>
> Thanks a lot for your patches
>
> Jarmo Pussinen wrote:
> > Michael Rickmann wrote:
> >  
> >> As we cannot download the win32 subdir separately from git. Starting to
> >> build Ekiga would change as follows.
> >> Obtain Ekiga
> >>   git clone git://git.gnome.org/ekiga
> >> Make a copy of the win32 directory
> >>   cp -a ekiga/win32 .
> >> Change into that subdirectory, it will be your "BUILDROOT"
> >>   cd win32
> >> Get all the sources
> >>   make update-sources
> >> Build Ekiga
> >>   make
> >> The Makefile will try to move the already downloaded Ekiga to the right
> >> place during the make update-sources.
> >>    
> >
> > Is this still the proper advice on how to build win32 version?
> >
> > I have installed mingw32 version that was mentioned in erlier mails,
> > but I still get three errors. I kind of fixed them, but the resulting
> > executable crashes on video call and on exit.
> >
> > I have attached the bug logs and my patches how I fixed them.
> > (The patches are incremental and should be applied after each
> > corresponding bug, because of the way the build script creates
> > the source tree.)
> >
> > Especially the first bug seems weird in celt/configure:
> > ./configure: line 12345: syntax error near unexpected token `tools="tools",'
> > ./configure: line 12345: `  XIPH_PATH_OGG(tools="tools", tools="")'
> >
> > And I am sure that my fix replacing 'XIPH_PATH_OGG(tools="tools",
> > tools="")' with 'tools="tools"' is not very good.
> >
> > The second bug is about undefined _win32_sysconfdir.
> >
> > And the third bug is about misplace ekiga-rc.o.
> >
> > The latter two I fixed in a reasonable manner (I hope)
> > by adding libgmplatform.la to Makefile and by fixing ekiga-rc.o path
> > in another Makefile.
> >
Could you test whether attached diff also works for you it is similar to
yours with respect to the _win32_sysconfdir and fixes the ekiga-rc.o
trouble right from the beginning.

> > I cannot give much debug help about crashes, because starting
> > Ekiga with command line "ekiga.exe -d 4" causes an additional
> > command line window named
> > c:\Program Files\Ekiga\plugins\h264_video_pwplugin_helper.exe
> > to appear, but that window stays empty.
> >
> > Thanks
> > jarmo
> >
That Window is absolutely harmless. It is caused by some code in Opal
when debug output is selected and should only contain messages from the
h264_video_pwplugin_helper.exe. Ekiga's debug output should be contained
in a file ekiga-stderr.txt which should appear on your desktop. This
change of file location has become necessary because of security
features of newer Windows versions. I start Ekiga in debug mode from an
extra shortcut symbol with -d 4 added to the command line.
Regards
Michael

[ekiga_helpers.diff]

diff -ur src/ekiga/configure.ac ekiga/configure.ac
--- src/ekiga/configure.ac 2009-07-03 14:11:30.000000000 +0200
+++ ekiga/configure.ac 2009-07-06 11:59:42.000000000 +0200
@@ -101,11 +101,9 @@
     ;;
 
   mingw* )
-    LT_PROG_RC
-
     gm_platform="mingw"
-    CFLAGS="$CFLAGS -DSTATIC_LIBS_USED"
-    CXXFLAGS="$CXXFLAGS -DSTATIC_LIBS_USED"
+    CFLAGS="$CFLAGS -Wl,--enable-auto-import"
+    CXXFLAGS="$CXXFLAGS -Wl,--enable-auto-import"
     win32=1
     ;;
 
diff -ur src/ekiga/lib/engine/framework/Makefile.am ekiga/lib/engine/framework/Makefile.am
--- src/ekiga/lib/engine/framework/Makefile.am 2009-07-06 07:23:07.000000000 +0200
+++ ekiga/lib/engine/framework/Makefile.am 2009-07-06 10:18:28.000000000 +0200
@@ -52,4 +52,5 @@
 libgmframework_la_LDFLAGS = $(STACKLIB_LDFLAGS)
 libgmframework_la_LIBADD = \
  $(top_builddir)/lib/gmconf/libgmconf.la \
+ $(top_builddir)/lib/platform/libgmplatform.la \
  $(SIGC_LIBS) $(GLIB_LIBS) $(XML_LIBS)
diff -ur src/ekiga/lib/Makefile.am ekiga/lib/Makefile.am
--- src/ekiga/lib/Makefile.am 2009-06-29 15:05:25.000000000 +0200
+++ ekiga/lib/Makefile.am 2009-07-06 10:18:28.000000000 +0200
@@ -22,10 +22,8 @@
 
 libekiga_la_LDFLAGS = -export-dynamic
 libekiga_la_LIBADD = \
- gmconf/libgmconf.la \
  gui/libgmwidgets.la \
- toolbox/libtoolbox.la \
- platform/libgmplatform.la
+ toolbox/libtoolbox.la
 
 if !WIN32
 libekiga_la_LIBADD += pixops/libpixops.la
diff -ur src/ekiga/src/Makefile.am ekiga/src/Makefile.am
--- src/ekiga/src/Makefile.am 2009-06-29 15:05:26.000000000 +0200
+++ ekiga/src/Makefile.am 2009-07-06 10:18:28.000000000 +0200
@@ -136,7 +136,7 @@
 endif
 
 .rc.o:
- $(LIBTOOL) --tag=RC --mode=compile $(RC) $< -o $@ -I $(top_srcdir)
+ $(RC) $< -o $@ -I $(top_srcdir)
 
 GIT_REVISION=\"$$(cd ../.git; git describe )\"
 CACHED_REVISION=$$(cat revision.h 2>/dev/null | cut -c24-)


_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Jarmo Pussinen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Michael Rickmann wrote:

> Yes things have changed a week ago with "Split ekiga into an exec and
> helper libs". This has been done to make the Win32 version Ekiga-plugin
> capable, eventually.
>
>> Jarmo Pussinen wrote:
>>> I have attached the bug logs and my patches how I fixed them.
>>> (The patches are incremental and should be applied after each
>>> corresponding bug, because of the way the build script creates
>>> the source tree.)
>>>
>>> Especially the first bug seems weird in celt/configure:
>>> ./configure: line 12345: syntax error near unexpected token `tools="tools",'
>>> ./configure: line 12345: `  XIPH_PATH_OGG(tools="tools", tools="")'
>>>
>>> And I am sure that my fix replacing 'XIPH_PATH_OGG(tools="tools",
>>> tools="")' with 'tools="tools"' is not very good.

I just noticed in the log something that hopefully concerns
this bug:
configure: WARNING: unrecognized options: --disable-oggtest

I am not a master of the configuration tools, but maybe
this gives somebody a clue, where the problem lies.

>>>
>>> The second bug is about undefined _win32_sysconfdir.
>>>
>>> And the third bug is about misplace ekiga-rc.o.
>>>
>>> The latter two I fixed in a reasonable manner (I hope)
>>> by adding libgmplatform.la to Makefile and by fixing ekiga-rc.o path
>>> in another Makefile.
>>>
> Could you test whether attached diff also works for you it is similar to
> yours with respect to the _win32_sysconfdir and fixes the ekiga-rc.o
> trouble right from the beginning.
>

Your patch worked fine.

But it seems to suffer from the same problem than mine.
If it is used before build, then build process overwrites it.
At least I had to use that patch again after make had stopped
to the _win32_sysconfdir bug.

After I checked what your patch does I am a little dobtful about
my conclusion, so I test it more.

> That Window is absolutely harmless. It is caused by some code in Opal
> when debug output is selected and should only contain messages from the
> h264_video_pwplugin_helper.exe. Ekiga's debug output should be contained
> in a file ekiga-stderr.txt which should appear on your desktop. This
> change of file location has become necessary because of security
> features of newer Windows versions. I start Ekiga in debug mode from an
> extra shortcut symbol with -d 4 added to the command line.

I attached three logs now. First two are from crashes where
remote or local party has answered a call and the last
one is from the exit crash. Hopefully it helps.

I am using XP.

jarmo
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: Cross-compiling ekiga for win32

by Jarmo Pussinen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Michael Rickmann wrote:
> That Window is absolutely harmless. It is caused by some code in Opal
> when debug output is selected and should only contain messages from the
> h264_video_pwplugin_helper.exe. Ekiga's debug output should be contained
> in a file ekiga-stderr.txt which should appear on your desktop. This
> change of file location has become necessary because of security
> features of newer Windows versions. I start Ekiga in debug mode from an
> extra shortcut symbol with -d 4 added to the command line.

And the promised logs follow.

jarmo


_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

ekiga-stderr-3.zip (24K) Download Attachment
< Prev | 1 - 2 | Next >