linphone-developers
[Top][All Lists]
Advanced

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

[Linphone-developers] Cross compiling from linux with win32/x86 target


From: Henrik Pauli
Subject: [Linphone-developers] Cross compiling from linux with win32/x86 target
Date: Tue, 03 Mar 2015 18:17:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

Hi everyone,

Does anyone have some experience with the thing in the subject?

I'm currently stuck with some redefinitions and some of them seem to be outside of Linphone itself, others not, but my google-fu didn't bring up anything relevant and I guess someone on this list might have had some experience with this anyway.

I'm on a Fedora 21 machine with mingw64's i686 stuff installed, and managed to compile belle-sip, but can't tackle Mediastreamer and ORTP seems to throw warnings about redefines too:

== Build script ==

CC=i686-w64-mingw32-gcc \
        CXX=i686-w64-mingw32-g++ \
        CFLAGS="-I/home/henrik/win32/linphone-deps/include" \
BELLESIP_CFLAGS="-I/home/henrik/win32/linphone-deps/include" \
LDFLAGS="-L/home/henrik/win32/linphone-deps/bin -L/home/henrik/win32/linphone-deps/lib" \ BELLESIP_LIBS="-L/home/henrik/win32/linphone-deps/bin -L/home/henrik/win32/linphone-deps/lib" \
        ./configure \
                --target=i686-w64-mingw32 --host=i686-w64-mingw32 \
--with-sysroot=/usr/i686-w64-mingw32/sys-root/mingw \
                --enable-gtk_ui=no --disable-video --disable-strict

== ORTP ==

(This seems to be an unnecessary #define there indeed, at least for MinGW)

In file included from ../include/ortp/str_utils.h:24:0,
                 from str_utils.c:24:
../include/ortp/port.h:131:0: warning: "WINAPI_FAMILY_PARTITION" redefined
 #define WINAPI_FAMILY_PARTITION(x) 1
 ^
In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/minwindef.h:5:0, from /usr/i686-w64-mingw32/sys-root/mingw/include/windef.h:8, from /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:69, from /usr/i686-w64-mingw32/sys-root/mingw/include/winsock2.h:23,
                 from ../include/ortp/port.h:126,
                 from ../include/ortp/str_utils.h:24,
                 from str_utils.c:24:
/usr/i686-w64-mingw32/sys-root/mingw/include/winapifamily.h:21:0: note: this is the location of the previous definition
 #define WINAPI_FAMILY_PARTITION(v) ((WINAPI_FAMILY & v) == v)
 ^
  CC       port.lo

== Mediastreamer ==

This also happens via ORTP, somehow stdlib is being used from /usr/include rather than MinGW, which is the cause of the confusion this time. Can anyone help with this one?

  CC       base/mscommon.lo
In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/winsock2.h:52:0,
                 from ../../oRTP/include/ortp/port.h:126,
                 from ../../oRTP/include/ortp/logging.h:29,
                 from ../include/mediastreamer2/mscommon.h:22,
                 from base/mscommon.c:22:
/usr/i686-w64-mingw32/sys-root/mingw/include/_timeval.h:10:8: error: redefinition of 'struct timeval'
 struct timeval
        ^
In file included from /usr/include/sys/select.h:45:0,
                 from /usr/include/sys/types.h:219,
                 from /usr/include/stdlib.h:314,
                 from ../../oRTP/include/ortp/port.h:124,
                 from ../../oRTP/include/ortp/logging.h:29,
                 from ../include/mediastreamer2/mscommon.h:22,
                 from base/mscommon.c:22:
/usr/include/bits/time.h:30:8: note: originally defined here
 struct timeval
        ^
In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/winsock2.h:56:0,
                 from ../../oRTP/include/ortp/port.h:126,
                 from ../../oRTP/include/ortp/logging.h:29,
                 from ../include/mediastreamer2/mscommon.h:22,
                 from base/mscommon.c:22:
/usr/i686-w64-mingw32/sys-root/mingw/include/psdk_inc/_fd_types.h:25:3: error: conflicting types for 'fd_set'
 } fd_set;
   ^
In file included from /usr/include/sys/types.h:219:0,
                 from /usr/include/stdlib.h:314,
                 from ../../oRTP/include/ortp/port.h:124,
                 from ../../oRTP/include/ortp/logging.h:29,
                 from ../include/mediastreamer2/mscommon.h:22,
                 from base/mscommon.c:22:
/usr/include/sys/select.h:75:5: note: previous declaration of 'fd_set' was here
   } fd_set;
     ^

But after all these warnings, there comes an error:

In file included from /usr/include/string.h:634:0,
from /usr/i686-w64-mingw32/sys-root/mingw/include/guiddef.h:148, from /usr/i686-w64-mingw32/sys-root/mingw/include/winnt.h:628, from /usr/i686-w64-mingw32/sys-root/mingw/include/minwindef.h:163, from /usr/i686-w64-mingw32/sys-root/mingw/include/windef.h:8, from /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:69, from /usr/i686-w64-mingw32/sys-root/mingw/include/winsock2.h:23,
                 from ../../oRTP/include/ortp/port.h:126,
                 from ../../oRTP/include/ortp/logging.h:29,
                 from ../include/mediastreamer2/mscommon.h:22,
                 from base/mscommon.c:22:
../../oRTP/include/ortp/port.h:162:19: error: expected identifier or '(' before '__extension__'
 ORTP_PUBLIC char* strtok_r(char *str, const char *delim, char **nextp);
                   ^

Is this also because of the bad include path? I don't think that should cause this syntax error...

== Versions ==

linphone  052206a321875330ac643b3719b7a03fd6501be6
mediastreamer  1288220ff95f00c88f7925a6e62882679ed9c97f
ortp  54179e2e08bc6281e954ce3cd2a7c3a06cac8508

I think.  I just pulled some minutes ago.

Thanks for any input :)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]