Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

This is an old revision of the document!


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

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 executables may be utilized while running a Synchronet BBS:

Optional

Optional Component Files Debian Package FreeBSD port/package Comments
lrzsz rz and sz lrzsz comms/lrzsz Use sexyz instead
G-Kermit gkermit gkermit comms/gkermit
Network tools netstat, ifconfig net-tools iproute2 package contains newer/alternative tools (e.g. ss, ip)

See Also