[libnice] Compiling on Windows

Youness Alaoui kakaroto at kakaroto.homelinux.net
Thu Jul 24 05:46:05 PDT 2014


Thanks Emanuelle for handling that question.
Someone tried to compile libnice on windows a few months ago and found a
few issues (similar to yours if i remember correctly) and we helped him
over IRC, he said he'd send us patches once it's working, but I haven't
seen him since. Libnice is still maintained but we're mostly working on
Linux, we hope the community will send us patches for win32 support.
Historically if you look at the commit log, the win32 related commits were
contributions from users of the library. I just don't have much experience
compiling on Windows, sorry.
Emanuele, about your TURN issues, can you try the latest git master,
there's a couple of commits related to TURN that were commited in the past
few days, maybe it helps.


On Tue, Jul 22, 2014 at 4:25 AM, Emanuele Bizzarri <emabiz76 at gmail.com>

>  Hi,
> I think it is maintained, but maybe the community is not so big.
> The 0.1.7 has been released in may.
> Here you can see dev activity:
> http://cgit.freedesktop.org/libnice/libnice/log/
> I worked on it since a couple of monthes.
> I found the point 5 bug just two day ago and signalled it into mailing
> list.
> Philip Withnall answered me immediately.
> I think it is a good project.
> Bye
> Emanuele
> On 22/07/2014 10:04, Scott Richmond wrote:
> Hi Emanuele,
>  Thanks I'll give your steps a go. Though I must ask - Why hasn't much of
> what you've described been patched into the repo? Is libNice no longer
> maintained?
> On Tue, Jul 22, 2014 at 5:44 PM, Emanuele Bizzarri <emabiz76 at gmail.com>
> wrote:
>>  Hi,
>> try to follow these rules:
>> 1. download libnice 0.1.7 zip
>> 2. download dependencies from
>> http://win32builder.gnome.org/gtk+-bundle_3.6.4-20130921_win32.zip
>> 3. add inttypes.h to the project (download from
>> https://code.google.com/p/msinttypes/ and put the files in the same dir
>> of sln)
>> 3. substitute all inline declaration into __inline
>> 4. add G_IO_ERROR_BROKEN_PIPE to GIOErrorEnum
>> 5. fix the bug inside win32_common.h (ssize_t must be signed long not
>> unsigned long)
>> 6. I'm using binaries dll downloaded from gstreamer project (version
>> 1.3.90 http://gstreamer.freedesktop.org/data/pkg/windows/)
>> In my tests libnice seems a bit unstable inside gathering-done callback
>> when used with an external turn server and a lot of connections (some
>> hundred), but I'm not sure, because the behaviour is quite random and is
>> not reproducible in debug. Maybe it is related to multithreading.
>> If I use libnice without turn, it seems totally stable also with a lot of
>> connections.
>> I'm investigating this aspect.
>> I hope it helps
>> Regards
>> Emanuele
>> On 22/07/2014 05:41, Scott Richmond wrote:
>>  Hi,
>>  I've recently become interested in using libNice to provide the NAT
>> traversal functionality for our project. Unfortunately I don't see mt obe
>> able to compile it.
>>  Using the README.win32 instructions I can get far enough such that all
>> third party dependencies appear to be resolved however I am getting some
>> 100 errors that I believe are related to a misconfiguration of glib. Take a
>> look at the sample of errors below:
>>  Error 1 error C2079: 'io_mutex' uses undefined struct '_GMutex'
>> c:\users\scott.richmond\documents\libnice\agent\component.h
>> Error 46 error C2065: 'G_SOURCE_REMOVE' : undeclared identifier
>> c:\users\scott.richmond\documents\libnice\agent\component.c
>> Error 156 error C2065: 'G_IO_ERROR_BROKEN_PIPE' : undeclared identifier
>> c:\users\scott.richmond\documents\libnice\agent\agent.c
>> Warning 2 warning C4005: 'ECONNABORTED' : macro redefinition c:\program
>> files (x86)\microsoft visual studio 12.0\vc\include\errno.h
>> And it goes on...
>>  I don't know enough about the framework to make sense of what's going
>> on here and it does appear that this Win project is pretty out of date - I
>> had to remove 'turn.c' and tcp-turn.c' from the project as the files no
>> longer existed. I added 'udp-turn.c' and 'udp-turn-over-tcp.c' to replace
>> them.
>>  _______________________________________________
>> nice mailing listnice at lists.freedesktop.orghttp://lists.freedesktop.org/mailman/listinfo/nice
>> _______________________________________________
>> nice mailing list
>> nice at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/nice
> _______________________________________________
> nice mailing list
> nice at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/nice
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/nice/attachments/20140724/f06c3296/attachment.html>

More information about the nice mailing list