Not logged in. · Lost password · Register
Forum: Community Jingle Discussion RSS
Libjingle + Mingw Port Working
I did a Libjingle 0.40 Mingw port

Announcement

11-16-2005, 12:33 by halr9000
Subject: Psi Groupchat (new address)
Join us at the Psi Groupchat (MUC)! Room name: psi@conference.psi-im.org
tyrus #1
Member since 08/2007 · 8 posts
Group memberships: Members
Show profile · Link to this post
Subject: Libjingle + Mingw Port Working
Hello, I would like to inform the group that I was sucessfull  in doing a libjingle's port  to compile with mingw with minimal changes to the overrall source.  I got it working doing some patchs to the last version of oRTP 0.13.1, mediastreamer 2.10 and libjingle 0.4, using gcc 4.2.1.
I intend to release the patch as soon as I can, together with a basic tutorial on how to compile.
I will  also need some help to get ./configure to workcorrectly on mingw/msys.

I'll be back soon.
Avatar
Kev (Administrator) #2
User title: Project Lead
Member since 11/2002 · 2998 posts · Location: Exeter, UK
Group memberships: Administrators, Developers, Members
Show profile · Link to this post
You could make a lot of people very happy with this.
Psi Project Leader.
Homepage, including development blog
tyrus #3
Member since 08/2007 · 8 posts
Group memberships: Members
Show profile · Link to this post
So, i tried and tried to get the call example to work correctly, but i think there is some kind of problem in mediastreamer, because, when I accept a call, both sides works correctly, but when I make a call to a gtalk client, I can hear the other user talking, but he can´t hear me. I´m doing a fine tunning right now, to erase useless dependences, and mounting a new mingw install from the start to see if works correctly, as I was fixing things on-the-fly.  I think I will release a package with the source as it is, but it still need some work.
tyrus #4
Member since 08/2007 · 8 posts
Group memberships: Members
Show profile · Link to this post
Done. I have uploaded a clean mingw + libjingle and dependecies to esnips:

the mingw install already have mediastreamer, expat en ortp installed.

http://www.esnips.com/doc/9a0dea2f-e9ef-4bb3-871c-26b760a…
http://www.esnips.com/doc/6a4f9b85-ed35-4356-8143-948aebd…

So, have fun :D
Avatar
Kev (Administrator) #5
User title: Project Lead
Member since 11/2002 · 2998 posts · Location: Exeter, UK
Group memberships: Administrators, Developers, Members
Show profile · Link to this post
Those links are broken, I'm afraid.

I had no idea that mediastreamer worked out of the box on win32 now; that was the biggest barrier to gettiing this all working in the past, neat.
Psi Project Leader.
Homepage, including development blog
tyrus #6
Member since 08/2007 · 8 posts
Group memberships: Members
Show profile · Link to this post
Oh, forgot to share the group :D
http://www.esnips.com/web/simonsBusinessFiles1187264348645



Well, about mediastreamer2, it was indeed quite easy to get it working, just needed some patches here and there, but it didn´t really worked out of the box, because the configure has some problems in the msys enviroment and I had to changes some things on the Makefile to get it functional.
Mediastreamer worked with and without portaudio on windows, but i had just discovered it last weekend.
The biggest problem was indeed to discover what worked and what didn´t on libjingle. I tried to get it working with pthreads, but got exceptions when initializing a  mutex, and so on.
I also had to change sspi.h from the mingw with the proper sspi.h from msvc, because i believe that the implementation that mingw delivering is buggy and incomplete, and  also had to replace libsecur32.a, with a reimp of the msvc secur32.lib.
All because a call to a certain  ApplyControlToken found on  schanneladapter.cc line 687, who mingw defines as
ApplyControlTokenW, which indeed compile correctly, but do not run, because it´s not defined on secur32.dll :D
Don´t know how legal this is, but i believe that it can easy be workead arround doing some fixes to the sspi.h file.

Oh forgot to say, that the mediastreamer that comes with mediastreamer is a old version, and removed it from the source.

And finally, it still need some changes to work 100% :D
Avatar
michalj (Moderator) #7
Member since 04/2004 · 2174 posts · Location: Legionowo, Poland
Group memberships: Global Moderators, Members
Show profile · Link to this post
Does that mean that MSYS is required to compile libjingle on MinGW? Or you simply used MSYS instead of standard Windows environment?
Michał Jazłowiecki (michalj)
Psi Forum & Wiki Moderator :: Psi-Daisy Author
tyrus #8
Member since 08/2007 · 8 posts
Group memberships: Members
Show profile · Link to this post
Well, I  used MSYS because it was needed to execute ./configure;make; make install, but you surely can use a enviroment like eclipse to make it compile, just  configure it properly using the Makefiles data. Mediastreamer2 and oRTP are already installed on mingw/lib, and expat is also there.

Just a thing, it's wise to put mingw and msys folders on c:\.
Avatar
michalj (Moderator) #9
Member since 04/2004 · 2174 posts · Location: Legionowo, Poland
Group memberships: Global Moderators, Members
Show profile · Link to this post
So probably a specially suited Makefile will be available for poor Windows users. MinGW provides mingw32-make instead of make.

MinGW and MSYS work just fine from any folder and any drive. I have compiled Psi-0.11 from the very beginning on my old computer with their folders located on disk F: and inside Qt directory (i.e. F:\Qt\MinGW and F:\Qt\MSYS, respectively).

My experience with MSYS is rather bad - it usually segfaulted or caused other problems on two of my systems at work (Windows XP SP2 and Windows Server 2003 SP1). I also had problems spawning multiple instances of gcc/g++, which MSYS is supposed to allow.
Michał Jazłowiecki (michalj)
Psi Forum & Wiki Moderator :: Psi-Daisy Author
Avatar
Kev (Administrator) #10
User title: Project Lead
Member since 11/2002 · 2998 posts · Location: Exeter, UK
Group memberships: Administrators, Developers, Members
Show profile · Link to this post
I'm not able to download the second file.
After creating an esnips account, it just prompts me to create another.

Edit: the solution was to log in with another browser and try there - very strange.
Psi Project Leader.
Homepage, including development blog
This post was edited on 08-16-2007, 13:02 by Kev.
tyrus #11
Member since 08/2007 · 8 posts
Group memberships: Members
Show profile · Link to this post
Quote by michalj:
My experience with MSYS is rather bad - it usually segfaulted or caused other problems on two of my systems at work (Windows XP SP2 and Windows Server 2003 SP1). I also had problems spawning multiple instances of gcc/g++, which MSYS is supposed to allow.


Wow, very strange. Here on my research group (10 programmers), we have programed  on a Msys/Mingw enviroment for more than 2 years without any serious problems. There is probably a program conflicting with your msys. Give a look at mingw mail list. I know that some logitech webcam service can cause msys to segfault.
tyrus #12
Member since 08/2007 · 8 posts
Group memberships: Members
Show profile · Link to this post
Quote by Kev:
I'm not able to download the second file.
After creating an esnips account, it just prompts me to create another.

Hum, i had just tested again here and it worked flawless, simultaneously and without an account, using ie7 and firefox.
A friend tried and found the same problem than you, but clicking in the Download button (the one with a arrow) instead the Download from the square, has solved the problem. The url says something like "action=forceDL".
This post was edited on 08-16-2007, 13:17 by tyrus.
Avatar
michalj (Moderator) #13
Member since 04/2004 · 2174 posts · Location: Legionowo, Poland
Group memberships: Global Moderators, Members
Show profile · Link to this post
Quote by tyrus:
Quote by michalj:
My experience with MSYS is rather bad - it usually segfaulted or caused other problems on two of my systems at work (Windows XP SP2 and Windows Server 2003 SP1). I also had problems spawning multiple instances of gcc/g++, which MSYS is supposed to allow.
Wow, very strange. Here on my research group (10 programmers), we have programed  on a Msys/Mingw enviroment for more than 2 years without any serious problems. There is probably a program conflicting with your msys. Give a look at mingw mail list. I know that some logitech webcam service can cause msys to segfault.
There are lots of different programming tools on my system and other stuff, required for my work, so pinpointing what's causing problems is neither possible, nor I have time for that (deadlines :)). I don't need either MinGW or MSYS at work; I tried using MSYS to compile Psi-0.11 when the hardware at work was far superior than the one I had at home.
Michał Jazłowiecki (michalj)
Psi Forum & Wiki Moderator :: Psi-Daisy Author
tyrus #14
Member since 08/2007 · 8 posts
Group memberships: Members
Show profile · Link to this post
Any commentary?:)
Avatar
Kev (Administrator) #15
User title: Project Lead
Member since 11/2002 · 2998 posts · Location: Exeter, UK
Group memberships: Administrators, Developers, Members
Show profile · Link to this post
I've downloaded it, but haven't had a chance to look at it yet. Hopefully someone else will have the chance before I do, otherwise I've made a note to myself to check it once I'm out of my current black hole (estimated time - about a fortnight).
Psi Project Leader.
Homepage, including development blog
Close Smaller – Larger + Reply to this post:
Smilies: :mellow: :huh: ^_^ :o ;) :P :D :lol: B) :rolleyes: -_- <_< :) :wub: :angry: :( :unsure: :wacko: :blink: :ph34r:
Special characters:
Go to forum
Unclassified NewsBoard devel of 20051113 © 2003-5 by Yves Goergen
Current time: 05-17-2008, 11:48:26 (UTC -04:00)