Sux Services now run on FreeBSD 4.7, but, due to the nature of the native implementation of POSIX threads under FreeBSD, you must install some additional packages to make Sux Services run.
Port | Notes |
LinuxThreads |
This is the LinuxThreads FreeBSD port. Native FreeBSD threads are user-level threads, whilst native Linux Threads are kernel-level threads. Because Sux Services main development is done on Linux, and because FreeBSD 5 has more and more support for kernel threads, I decided to use LinuxThreads to port the Services on FreeBSD. LinuxThreads installation is pretty straightforward:
Now, you should have the linuxthreads libraries in
Congratulations, LinuxThreads installation is complete :). |
GLib 2.2 or later |
GLib, "some useful routines of C programming", is a really nifty library. It is not a graphics library, instead it provides lots of data structures and subsystems that make the developer focus on writing good code, and not re-inventing the wheel everytime. Last but not least, it is thread-safe and offers an abstraction layer over the multiple threads implementations, making the code portable.
By default, the FreeBSD GLib port uses the native FreeBSD user-level threads. But, because the LinuxThreads implementation is as POSIX-Compliant as the native one, we can link GLib versus the LinuxThreads library.
At this point, you should verify that
If this is not your case, you surely missed something. If you did all the procedure and you are still having problems, drop me a note.
|
MySQL threaded client library |
The threaded MySQL client library (
Now, you should have all the libraries installed in /usr/local:
And, like you did before, you should verify that libmysqlclient_r dynamically links with the LinuxThreads library:
Now, it`s time to install mysql server ! |
MySQL Server |
The MySQL server is the database server that will hold Sux Services data. The -server package installation is pretty equivalent to the -client one:
After that, you should have the
Please refer to the INSTALL.html file for information on how to insert the SQL database schemas and help files into your MySQL server. |
libgnugetopt |
libgnugetopt provides the
|
The hard part is finished :). Now, you just need to compile the Services and run them :).
Only two parameters need to be passed to the ./configure script:
--with-linuxthreads=/usr/local
tells the script that the linuxthreads port needs to be used, and it will find headers in /usr/local/include and libraries in /usr/local/lib.
--with-gnugetopt=/usr/local
tells the script that the gnugetopt library needs to be used for getopt_long()
, and it will find headers in /usr/local/include and libraries in /usr/local/lib.
-[vjt@twisted:~/c/IRC/suxserv]-$ ./configure --with-linuxthreads=/usr/local --with-gnugetopt=/usr/local
< ... configuration process ... >
-[vjt@twisted:~/c/IRC/suxserv]-$ make
< ... compilation process ... >
-[vjt@twisted:~/c/IRC/suxserv]-$
Congratulations ! You have just built Sux Services on FreeBSD :).
For more information on how to run ( and, why not, debug ;) them, refer to the INSTALL.html file.
Enjoy !
EOF