Manuel.Serrano | 18 Aug 12:54

Re: Bigloo on FreeBSD

Hello Karsten,

Thank you very much for you mail. 

> After trying out Hop on my local OS X machine, I wanted to deploy it
> on my FreeBSD server. As it turned out, it didn't work.
> 
> I attached three patches that fix two major problems on FreeBSD and
> improve threading.
> 
> The first is trivial, the wrong header file is included in bglmixer.c.
The latest version no longer includes bglmixer.c. There is actually no
need to implement a direct mixer binding for using Gstreamer. This
part has thus been removed from the gstreamer binding.

> The second was very tricky. I got an error message that the library
> init symbol could not be found in libbigloopth. As it turned out,
> errors from dlsym() where not checked correctly. dlsym() returns NULL
> on error, and then dlerror() can be used to retrieve an error message.
> However, only dlerror() was checked for a non-NULL value, which fails
> if there had been previous errors with dlsym() where the error message
> was not handled. On FreeBSD, nsswitch uses a dummy function called
> "_nss_cache_cycle_prevention_function" to prevent some forms of loops.
> The code checking for this function ignores the error message, as it
> expects the call to fail most of the time, and thus, the error popped
> up in the first call to dlsym() in Bigloo.
Sure. You are right.

> The third patch is a minor (or major, depends on your point of view)
> improvement for threading. On FreeBSD, you can choose between
(Continue reading)


Gmane