Problems Building Pidgin 3.0.0 for Windows

Harald Schieche rehs at gmx.de
Thu Mar 26 05:04:41 EDT 2015


Hi,

I moved to openSUSE 13.2 . I installed MinGW.

I followed the instructions in the wiki. I installed all packages found by "zypper se mingw | grep gst". I installed this packeges:
zypper se mingw | grep far
mingw32-farstream
mingw32-farstream-debug
mingw32-farstream-debugsource
mingw32-farstream-devel
mingw32-farstream2
mingw32-farstream2-debug
mingw32-farstream2-debugsource
mingw32-farstream2-devel

But still I have this problem to build:
./configure --host=i686-w64-mingw32 --with-win32-dirs=fhs
...
checking for GSTREAMER... yes
checking for GSTVIDEO... yes
checking for FARSTREAM... no
configure: error: 
Dependencies for voice/video were not met.
Install the necessary gstreamer and farstream packages first.
Or use --disable-vv if you do not need voice/video support.

What can I do to pass the FARSTREAM condition?

If I configure with "--disable-vv", then I can install on Windows. But starting pidgin.exe there are some dll's missing:
libgdk-3-0.dll
libgstreamer-1.0-0.dll
libgtk-3-0.dll
libwebkitgtk-3.0-0.dll

Best regards,
Harald

> Gesendet: Donnerstag, 19. März 2015 um 17:03 Uhr
> Von: "Tomasz Wasilczyk" <twasilczyk at pidgin.im>
> An: "Harald Schieche" <rehs at gmx.de>
> Cc: devel at pidgin.im
> Betreff: Re: How to Build Pidgin 3.0.0 for Windows on Ubuntu 14.04 amd64
>
> Hi Harald,
> 
> please note, that Pidgin source isn't the one which loads socket.h.
> It's NSPR headers of your base OS (not mingw's NSPR!). In short, there
> is no "socket problem" at all.
> 
> The problem is, your configure script has set include paths to your
> OS, instead of mingw. Why? Because pkg-config doesn't scan mingw
> packages (because you still didn't set PKG_CONFIG_PATH), but base OS
> packages.
> 
> If defining PKG_CONFIG_PATH in way described in our wiki doesn't work,
> that means Ubuntu located pkgconfig/*.pc files in some other location
> - you need to find it. If you fail to, you can try OpenSUSE with mingw
> repo added (see software.opensuse.org) - it works for me just fine.
> 
> Tomek
> 
> 2015-03-19 10:34 GMT+01:00 Harald Schieche <rehs at gmx.de>:
> > Hello Tomek!
> >
> >> What do you mean, by "Pidgin needs unix sockets"?
> >
> > pidgin3 at rehs-Lenovo-B50-45:~$ cd pidgin-main
> > pidgin3 at rehs-Lenovo-B50-45:~/pidgin-main$ make
> > make  all-recursive
> > make[1]: Entering directory `/home/pidgin3/pidgin-main'
> > Making all in .
> > make[2]: Entering directory `/home/pidgin3/pidgin-main'
> >   GEN      package_revision_raw.txt
> > make[2]: Leaving directory `/home/pidgin3/pidgin-main'
> > Making all in m4macros
> > make[2]: Entering directory `/home/pidgin3/pidgin-main/m4macros'
> > make[2]: Nothing to be done for `all'.
> > make[2]: Leaving directory `/home/pidgin3/pidgin-main/m4macros'
> > Making all in libpurple
> > make[2]: Entering directory `/home/pidgin3/pidgin-main/libpurple'
> > make  all-recursive
> > make[3]: Entering directory `/home/pidgin3/pidgin-main/libpurple'
> > Making all in data/gconf
> > make[4]: Entering directory `/home/pidgin3/pidgin-main/libpurple/data/gconf'
> > make[4]: Nothing to be done for `all'.
> > make[4]: Leaving directory `/home/pidgin3/pidgin-main/libpurple/data/gconf'
> > Making all in .
> > make[4]: Entering directory `/home/pidgin3/pidgin-main/libpurple'
> >   CC       ciphers/aescipher.lo
> > In file included from ./win32/libc_interface.h:34:0,
> >                  from ./win32/win32dep.h:33,
> >                  from ./internal.h:134,
> >                  from ciphers/aescipher.c:25:
> > ./glibcompat.h:164:0: warning: "g_stat" redefined [enabled by default]
> >  #  define g_stat purple_g_stat
> >  ^
> > In file included from ./internal.h:131:0,
> >                  from ciphers/aescipher.c:25:
> > /usr/include/glib-2.0/glib/gstdio.h:68:0: note: this is the location of the previous definition
> >  #define g_stat    stat
> >  ^
> > In file included from /usr/include/nspr/prio.h:19:0,
> >                  from /usr/include/nss/certt.h:18,
> >                  from /usr/include/nss/pk11pub.h:11,
> >                  from ciphers/aescipher.c:41:
> > /usr/include/nspr/prinet.h:37:39: fatal error: sys/socket.h: No such file or directory
> >  #include <sys/socket.h>  /* AF_INET */
> >                                        ^
> > compilation terminated.
> > make[4]: *** [ciphers/aescipher.lo] Error 1
> > make[4]: Leaving directory `/home/pidgin3/pidgin-main/libpurple'
> > make[3]: *** [all-recursive] Error 1
> > make[3]: Leaving directory `/home/pidgin3/pidgin-main/libpurple'
> > make[2]: *** [all] Error 2
> > make[2]: Leaving directory `/home/pidgin3/pidgin-main/libpurple'
> > make[1]: *** [all-recursive] Error 1
> > make[1]: Leaving directory `/home/pidgin3/pidgin-main'
> > make: *** [all] Error 2
> > pidgin3 at rehs-Lenovo-B50-45:~/pidgin-main$
> >
> >
> >> I don't know how Ubuntu names its cross tools. Maybe cross-pkg-config
> >> is already installed with some other package?
> > Indeed, /usr/bin/i686-w64-mingw32-pkg-config is existing. I export PKG_CONFIG. But it has no effect to the missing socket.h . And I have really no idea, how to define PKG_CONFIG_PATH.
> > pidgin3 at rehs-Lenovo-B50-45:~$ cd /usr/i686-w64-mingw32/
> > pidgin3 at rehs-Lenovo-B50-45:/usr/i686-w64-mingw32$ ls
> > include  lib
> > pidgin3 at rehs-Lenovo-B50-45:/usr/i686-w64-mingw32$ ls include/pkgconfig
> > ls: cannot access include/pkgconfig: No such file or directory
> > pidgin3 at rehs-Lenovo-B50-45:/usr/i686-w64-mingw32$ ls lib/pkgconfig
> > ls: cannot access lib/pkgconfig: No such file or directory
> >
> > What is your OS? Maybe I have to move to it. I am very surprised, that you solved the socket-problem! Where did your cross-compiler find socket.h? It's provided by cygwin on windows, I think.
> >
> > Best regards from Berlin,
> > Harald
> >
> >
> >> Gesendet: Dienstag, 17. März 2015 um 20:53 Uhr
> >> Von: "Tomasz Wasilczyk" <twasilczyk at pidgin.im>
> >> An: "Harald Schieche" <rehs at gmx.de>
> >> Cc: "Tomasz Wasilczyk" <twasilczyk at pidgin.im>, devel at pidgin.im
> >> Betreff: Re: How to Build Pidgin 3.0.0 for Windows on Ubuntu 14.04 amd64
> >>
> >> What do you mean, by "Pidgin needs unix sockets"? A correct
> >> configuration (with proper pkg-config paths) should compile
> >> out-of-the-box.
> >>
> >> I don't know how Ubuntu names its cross tools. Maybe cross-pkg-config
> >> is already installed with some other package? You need to find out,
> >> which package provides pkg-config suitable for mingw.
> >>
> >> Tomek
> >>
> >> 2015-03-17 16:32 GMT+01:00 Harald Schieche <rehs at gmx.de>:
> >> > Hi Tomek,
> >> >
> >> > thank you for your quick response!
> >> >
> >> >> To be specific, you mixed your base OS pkgconfig with mingw's
> >> >> gcc/libs/headers. Don't forget to set PKG_CONFIG vars.
> >> > Sorry, but I could not find something like mingw32-cross-pkg-config on Ubuntu.
> >> >
> >> > But first I have a compile time problem:
> >> > MinGW does not provide unix socket interface but Pidgin needs it.
> >> > How to handle this?
> >> >
> >> > Regards,
> >> > Harald
> >> >
> >> >> Gesendet: Montag, 16. März 2015 um 18:08 Uhr
> >> >> Von: "Tomasz Wasilczyk" <twasilczyk at pidgin.im>
> >> >> An: rehs at gmx.de
> >> >> Cc: devel at pidgin.im
> >> >> Betreff: Re: How to Build Pidgin 3.0.0 for Windows on Ubuntu 14.04 amd64
> >> >>
> >> >> Hi,
> >> >>
> >> >> please follow instructions on our wiki (the easy way):
> >> >> https://developer.pidgin.im/wiki/BuildingWinPidgin/3.0.0
> >> >>
> >> >> To be specific, you mixed your base OS pkgconfig with mingw's
> >> >> gcc/libs/headers. Don't forget to set PKG_CONFIG vars.
> >> >>
> >> >> Tomek
> >> >>
> >> >>
> >> >> 2015-03-16 13:49 GMT+01:00  <rehs at gmx.de>:
> >> >> > - Compile time error, see below
> >> >> >
> >> >> > 1. Install Ubuntu 14.04
> >> >> > 2. Install Ubuntu updates
> >> >> > 3. Install Mercurial
> >> >> > sudo apt-get install mercurial
> >> >> > 4. Clone Pidgin sources
> >> >> > hg clone https://hg.pidgin.im/pidgin/main pidgin-main
> >> >> > 5. Search MinGW32
> >> >> > sudo apt-get install apt-file
> >> >> > apt-file update
> >> >> > apt-file search mingw32
> >> >> > 6. Install MinGW32
> >> >> > sudo apt-get install binutils-mingw-w64-i686
> >> >> > sudo apt-get install binutils-mingw-w64-x86-64
> >> >> > sudo apt-get install g++-mingw-w64-i686
> >> >> > sudo apt-get install g++-mingw-w64-x86-64
> >> >> > sudo apt-get install gdb-mingw-w64
> >> >> > sudo apt-get install gnat-mingw-w64-i686
> >> >> > sudo apt-get install gnat-mingw-w64-x86-64
> >> >> > sudo apt-get install gobjc-mingw-w64-i686
> >> >> > sudo apt-get install gobjc-mingw-w64-x86-64
> >> >> > sudo apt-get install mingw-w64-i686-dev
> >> >> > sudo apt-get install mingw-w64-tools
> >> >> > sudo apt-get install mingw32
> >> >> > sudo apt-get install ocaml-mingw-w64-i686
> >> >> > sudo apt-get install ocaml-mingw-w64-x86-64
> >> >> > 7. Install build requirements
> >> >> > sudo apt-get build-dep pidgin
> >> >> > sudo apt-get install libwebkit2gtk-3.0-dev
> >> >> > sudo apt-get install libwebkitgtk-3.0-dev
> >> >> > sudo apt-get install libwebkitgtk-dev
> >> >> > sudo apt-get install libjson-glib-dev
> >> >> > 8. Generate configure script
> >> >> > cd pidgin-main/
> >> >> > NOCONFIGURE=indeed ./autogen.sh
> >> >> > 9. Run configure
> >> >> > ./configure --host=i686-w64-mingw32 --with-win32-dirs=fhs
> >> >> > 10. Compile
> >> >> > make
> >> >> > 11. Error from compiler
> >> >> > make[4]: Entering directory `/home/rehs/pidgin-main/libpurple'
> >> >> >   CC       buddyicon.lo
> >> >> > In file included from win32/libc_interface.h:34:0,
> >> >> >                  from win32/win32dep.h:33,
> >> >> >                  from internal.h:134,
> >> >> >                  from buddyicon.c:23:
> >> >> > ./glibcompat.h:164:0: warning: "g_stat" redefined [enabled by default]
> >> >> >  #  define g_stat purple_g_stat
> >> >> >  ^
> >> >> > In file included from internal.h:131:0,
> >> >> >                  from buddyicon.c:23:
> >> >> > /usr/include/glib-2.0/glib/gstdio.h:68:0: note: this is the location of the previous definition
> >> >> >  #define g_stat    stat
> >> >> >  ^
> >> >> > buddyicon.c: In function 'purple_buddy_icon_data_cache':
> >> >> > buddyicon.c:168:3: error: too many arguments to function 'mkdir'
> >> >> >    if (g_mkdir(dirname, S_IRUSR | S_IWUSR | S_IXUSR) < 0)
> >> >> >    ^
> >> >> > In file included from /usr/share/mingw-w64/include/fcntl.h:8:0,
> >> >> >                  from internal.h:92,
> >> >> >                  from buddyicon.c:23:
> >> >> > /usr/share/mingw-w64/include/io.h:267:15: note: declared here
> >> >> >    int __cdecl mkdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
> >> >> >                ^
> >> >> > buddyicon.c: In function 'read_icon_file':
> >> >> > buddyicon.c:605:2: warning: passing argument 3 of 'g_file_get_contents' from incompatible pointer type [enabled by default]
> >> >> >   if (!g_file_get_contents(path, (gchar **)data, len, &err))
> >> >> >   ^
> >> >> > In file included from /usr/include/glib-2.0/glib.h:48:0,
> >> >> >                  from /usr/include/glib-2.0/gmodule.h:28,
> >> >> >                  from internal.h:107,
> >> >> >                  from buddyicon.c:23:
> >> >> > /usr/include/glib-2.0/glib/gfileutils.h:85:10: note: expected 'gsize *' but argument is of type 'size_t *'
> >> >> >  gboolean g_file_get_contents (const gchar  *filename,
> >> >> >           ^
> >> >> > make[4]: *** [buddyicon.lo] Error 1
> >> >> > make[4]: Leaving directory `/home/rehs/pidgin-main/libpurple'
> >> >> > make[3]: *** [all-recursive] Error 1
> >> >> > make[3]: Leaving directory `/home/rehs/pidgin-main/libpurple'
> >> >> > make[2]: *** [all] Error 2
> >> >> > make[2]: Leaving directory `/home/rehs/pidgin-main/libpurple'
> >> >> > make[1]: *** [all-recursive] Error 1
> >> >> > make[1]: Leaving directory `/home/rehs/pidgin-main'
> >> >> > make: *** [all] Error 2
> >> >> >
> >> >> > _______________________________________________
> >> >> > Devel mailing list
> >> >> > Devel at pidgin.im
> >> >> > https://pidgin.im/cgi-bin/mailman/listinfo/devel
> >> >>
> >>
>



More information about the Devel mailing list