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'

3rd Party Programs

Some 3rd party 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)

Install

Debian/Ubuntu Linux

The following shell command-line/script file1) can be used to install the required and recommended packages on Debian-based Linux distros (e.g. Ubuntu):

install-sbbs-deps.sh
  sudo apt install build-essential perl zip git gdb lib-archive-dev libncursesw5-dev libnspr4-dev libmosquitto-dev libcap2-dev xorg-dev libsdl2-dev libgtk-3-dev libglade2-dev python2.7 lrzsz gkermit

See Also

1)
made executable with chmod +x