Re: [Ekiga-devel-list] Cross-compiling ekiga for win32



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 gnome org
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


Attachment: Makefile.gz
Description: application/gzip



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