This is an old revision of the document!
Table of Contents
Unix/Linux Prerequisites
Building
You probably need or want to build Synchronet for your Unix/Linux system from source code and you will need the following prerequisites installed first:
Required
Required Component | Files | Debian Package | FreeBSD Port/Package |
---|---|---|---|
GNU make | gmake or make | make | devel/gmake |
GNU C/C++ Compiler | gcc and g++ | g++ | lang/gcc |
System C library header files | errno.h | linux-libc-dev | Part of system |
libarchive | libarchive.so and archive.h | libarchive-dev | Part of system |
ncurses library and headers | libncurses.so and ncurses.h or curses.h | libncursesw5-dev | Part of system |
Netscape Portable Runtime Library | libnspr4.so and nspr.h | libnspr4-dev | devel/nspr |
Perl | perl | perl | lang/perl5.14 (version subject to change) |
Python | python | python2.7 | lang/python2 |
pkgconf | pkg-config | pkg-config | devel/pkgconf |
zip | zip | zip | archivers/zip |
unzip | unzip | zip | archivers/unzip |
patch (for non-x86 platforms) | patch | patch |
Recommended
It's possible to build Synchronet, but potentially more difficult, if you don't have the following components on your system:
Recommended Component | Files | Debian Package | FreeBSD port/package | Alternative |
---|---|---|---|---|
Git | git | git | devel/git | ftp , wget , curl |
Capabilities Library (Linux) | libcap.so and sys/capability.h | libcap2-dev | Not available | setcap |
GNU Debugger | gdb | gdb | Part of system | |
systemd library (for systemd integration) | libsystemd.so and headers | libsystemd-dev | N/A | |
MQTT library | libmosquitto.so and headers | libmosquitto-dev | ||
Xorg | Xlib.so and headers | xorg-dev | x11/xorg | |
SDL 2 | libsdl.so and headers | libsdl2-dev | devel/sdl2 | |
GTK+ | libraries and headers | libgtk-3-dev | x11-toolkits/gtk30 | |
GTK+ User Interface Builder (GLADE) | libraries and headers | libglade2-dev | ||
GNU Wget | wget | wget | ftp/wget |
Note:
The following SyncTERM build error means you need to install the libsdl2-dev
package:
undefined reference to `vstat'
To install the required and recommended packages you can use the following command on Ubuntu as root user:
apt install build-essential lib-archive-dev libncursesw5-dev libnspr4-dev libperl-dev zip git libcap2-dev git libcap2-dev gdb xorg-dev libsdl2-dev libgtk-3-dev libglade2-dev python2
3rd Party Programs
Some external components are needed while running a Synchronet BBS: