Everything must have been built with threads enabled (X11, glibc, python). This is default on recent Linuces, it may not be so with your installation.
On FreeBSD (last tested some time ago), the defaults aren't quite enough to compile out of the box. The generic kernel has the /proc
filing system support compiled in but it isn't mounted by default - add "proc /proc procfs rw 0 0" to your /etc/fstab
. You will also need to install the libtool
package at the very least. Furthermore I found that GCC wasn't configured properly on some systems, it should include /usr/local/include
and /usr/local/lib
which it does not and lastly the python environment variables are missing which causes CppMunge.py to fail.
To fix GCC, the easiest is to set CPATH
and LIBRARY_PATH
(though you could recompile it). Doing this also fixes many other compilation errors in GNU programs so generally it's a good idea. I did this on my installation by adding to /etc/profile
:
setvar CPATH /usr/local/include export CPATH setvar LIBRARY_PATH /usr/local/lib export LIBRARY_PATH setvar PYTHON_INCLUDE /usr/local/include/python2.3 export PYTHON_INCLUDE setvar PYTHON_ROOT /usr/local/lib/python2.3 export PYTHON_ROOT setvar PYTHON_LIB /usr/local/lib/python2.3/config/libpython2.3.so export PYTHON_LIB setvar PYTHON_VERSION 2.3 export PYTHON_VERSION
libpython2.3.a
instead. Lastly you should probably review the FAQ entry FreeBSD Questions:-dev
versions where necessary.Most systems already have OpenSSL installed - if not, go to its website and install yourself a copy.
Boost should be placed in a directory called "boost" next (not in) to the TnFOX directory just like on Windows. scons will find it automatically if placed there. You CANNOT use any system provided version of Boost as it needs patching to enable thread support in Boost.Python.
sconslib.py
file) which generates a libtool format output which can be used just like a genuine libtool library. This should greatly simplify issues for everyone, though there are some reported issues with scons on MacOS X.
You can produce binaries customised for your processor by adjusting the config.py
file.