I ventured a bit into different languages lately. Over the last couple of days, I tried to install and run the mailing list manager Sympa on OpenSolaris and the CoolStack packages.
Building the pieces were not a big problem. But the first problem I encountered, was the missing BerkeleyDB in the CoolStack packages. OK, BerkeleyDB is not hard to build and that was fixed quickly once I knew what was going on.
The next problem was, that the Sys::Syslog module apparently does not work so well in newer Solaris versions. I searched the web but I was not able to find any solution. So I looked at the code and decided that I would write a targeted Sys::Syslog for Solaris which would actually use the libc interfaces instead of trying to do everything by hand.
Here is my little modified module, I hope, maybe somebody will find this useful. It uses the same API as the original module, so it should work as a drop-in replacement with the only exception that it actually communicates with the syslogd;-)
Fri Jul 13 17:12:06 PDT 2007
OK, today I checked and there is actually a newer version of Sys::Syslog which works just fine on Solaris 10/OpenSolaris. I compiled it and replaced the version in the CoolStack Perl. Now I’m happy with that;-) That’s what you get when you blindly use source packages of some software:-(
Thanks for your work on this. If you make your changes in a way that it can be put back to the open source, that would help all of us with future versions of perl as well.
For whatever reason, the original code carefully avoided the use of the libc syslog(3) functions but it still requires the header file. Until I understand why that was done, I can’t assume my code solves the general problem.