Hi.
I have ported kamailio to Dragonfly BSD and fixed a couple of bugs in the build system in the process. I have 4 patches to the Makefiles which I created for kamailio-3.0.1, but have verified will apply to the current master branch. Two are bug fixes and the other 2 are to get it to compile and run on Dragonfly.
I have attached all 4 patches to this email. There are comments in the top of each of the patches about what they do. All patches can be applied from the root of the source tree.
It turns out that kamailio is not going to serve our needs at this time, so I don't have much more time to put into it. However, I am in hopes that the developers will utilize the patches for Dragonfly as well. I would like to see kamailio natively support Dragonfly BSD for the benefit of both communities and in case we ever need it ourselves in the future, since our environment is all Dragonfly BSD based.
The patches primarily just make kamailio treat Dragonfly the same as FreeBSD.
kamailio-3.0.1 compiled, installed, and ran successfully with these patches. However, after applying them to todays master branch from the git repository, make was successful, but "make install" errored with
install -m 755 msilo.so /u1/falcon/ports/kamailio-20100724/package/kamailio-20100724/kamailio-20100724/usr/pkg/lib/ser/modules_s CC (gcc) [M nathelper.so] nathelper.o CC (gcc) [M nathelper.so] natping.o CC (gcc) [M nathelper.so] nhelpr_funcs.o CC (gcc) [M nathelper.so] rtpproxy_stream.o rtpproxy_stream.c: In function 'rtpproxy_stream': rtpproxy_stream.c:61: error: array type has incomplete element type rtpproxy_stream.c:61: warning: unused variable 'v' rtpproxy_stream.c: In function 'rtpproxy_stop_stream': rtpproxy_stream.c:151: error: array type has incomplete element type rtpproxy_stream.c:151: warning: unused variable 'v' gmake[1]: *** [rtpproxy_stream.o] Error 1 gmake: *** [install-modules_s] Error 1
I don't know if it is Dragonfly related or if it is just a temporary bug introduced in the current master branch.
Additional notes:
To successfully compile on Dragonfly BSD after applying the patches to kamailio-3.0.1 these are the commands I used.
# export CFLAGS=-D__FreeBSD__ # gmake prefix=/usr/pkg # gmake prefix=/usr/pkg install
Regards, Vince
On Jul 24, 2010 at 22:29, Vincent Stemen vince.lists@ngtek.org wrote:
Hi.
I have ported kamailio to Dragonfly BSD and fixed a couple of bugs in the build system in the process. I have 4 patches to the Makefiles which I created for kamailio-3.0.1, but have verified will apply to the current master branch. Two are bug fixes and the other 2 are to get it to compile and run on Dragonfly.
I have attached all 4 patches to this email. There are comments in the top of each of the patches about what they do. All patches can be applied from the root of the source tree.
Thanks a lot! I've applied all of them to master. They will be in 3.1 and probably backported later to sr 3.0 and kamailio 3.0.
Just one question: do the Dragonfly release version numbers mirror the FreeBSD ones (uname -r)? There are some features which are enabled based on the release (IIRC for *BSD it's only kqueue, but they might be more).
[...]
Andrei
On Wed, Aug 11, 2010 at 05:11:46PM +0200, Andrei Pelinescu-Onciul wrote:
On Jul 24, 2010 at 22:29, Vincent Stemen vince.lists@ngtek.org wrote:
Hi.
I have ported kamailio to Dragonfly BSD and fixed a couple of bugs in the build system in the process. I have 4 patches to the Makefiles which I created for kamailio-3.0.1, but have verified will apply to the current master branch. Two are bug fixes and the other 2 are to get it to compile and run on Dragonfly.
I have attached all 4 patches to this email. There are comments in the top of each of the patches about what they do. All patches can be applied from the root of the source tree.
Thanks a lot! I've applied all of them to master. They will be in 3.1 and probably backported later to sr 3.0 and kamailio 3.0.
Great! Thanks for letting me know.
Just one question: do the Dragonfly release version numbers mirror the FreeBSD ones (uname -r)? There are some features which are enabled based on the release (IIRC for *BSD it's only kqueue, but they might be more).
I'm afraid not. Dragonfly is currently on release 2.6.3. However, in most cases I think it can just be treated as the latest version of FreeBSD. I just looked at the manuals on kqueue(2) on Dragonfly 2.2.1-RELEASE and 2.6-RELEASE and on FreeBSD 6.3-STABLE and they all three looked the same so far as I could tell.
- Vince
On Aug 13, 2010 at 01:13, Vincent Stemen vince.lists@ngtek.org wrote:
On Wed, Aug 11, 2010 at 05:11:46PM +0200, Andrei Pelinescu-Onciul wrote:
On Jul 24, 2010 at 22:29, Vincent Stemen vince.lists@ngtek.org wrote:
Hi.
I have ported kamailio to Dragonfly BSD and fixed a couple of bugs in the build system in the process. I have 4 patches to the Makefiles which I created for kamailio-3.0.1, but have verified will apply to the current master branch. Two are bug fixes and the other 2 are to get it to compile and run on Dragonfly.
I have attached all 4 patches to this email. There are comments in the top of each of the patches about what they do. All patches can be applied from the root of the source tree.
Thanks a lot! I've applied all of them to master. They will be in 3.1 and probably backported later to sr 3.0 and kamailio 3.0.
Great! Thanks for letting me know.
Just one question: do the Dragonfly release version numbers mirror the FreeBSD ones (uname -r)? There are some features which are enabled based on the release (IIRC for *BSD it's only kqueue, but they might be more).
I'm afraid not. Dragonfly is currently on release 2.6.3. However, in most cases I think it can just be treated as the latest version of FreeBSD. I just looked at the manuals on kqueue(2) on Dragonfly 2.2.1-RELEASE and 2.6-RELEASE and on FreeBSD 6.3-STABLE and they all three looked the same so far as I could tell.
I've enabled kqueue for all the Dragonfly versions (it looks like it was forked from FreeBSD 4.8 and kqueue is in FreeBSD since 4.1, so DragonFly should have it in all the versions).
Andrei