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

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
install:nix [2023/04/08 15:56] – [Tarball Build Method] Add GIT=NO option to tarball build instructions, solves error about missing .git dir required to build git_hash.h digital maninstall:nix [2024/10/11 22:14] (current) – The installation and re-build make commands are now very different to avoid confusion and mistake that leads to lost files and weeping sysops :-P digital man
Line 68: Line 68:
 Quick installation from [[dev:Git]] (requires 100+MB of disk space): Quick installation from [[dev:Git]] (requires 100+MB of disk space):
  
-  * ''$ [[install:nix:fetch makefile|wget]] [[https://gitlab.synchro.net/main/sbbs/-/raw/master/install/GNUmakefile]]''+  * ''$ [[install:nix:fetch makefile|wget]] [[https://gitlab.synchro.net/main/sbbs/-/raw/master/install/install-sbbs.mk]]''
  
 To get and build the latest code: To get and build the latest code:
  
-  * ''$ [[install:nix:make|make]] install SYMLINK=1''+  * ''$ [[install:nix:make|make]] -f install-sbbs.mk SYMLINK=1''
  
 On Linux, it's normal that the user's password may be prompted for near the end of the build process, as required to invoke the ''sudo setcap'' command to enable low-port-binding capability on the Synchronet ''sbbs'' executable. On Linux, it's normal that the user's password may be prompted for near the end of the build process, as required to invoke the ''sudo setcap'' command to enable low-port-binding capability on the Synchronet ''sbbs'' executable.
Line 78: Line 78:
 If building on a Linux system as a user without ''sudo'' access, pass the ''NOCAP=1'' option to disable this function((there are other methods of enabling low-port binding on Linux systems)): If building on a Linux system as a user without ''sudo'' access, pass the ''NOCAP=1'' option to disable this function((there are other methods of enabling low-port binding on Linux systems)):
  
-  * ''$ [[install:nix:make|make]] install SYMLINK=1 NOCAP=1''+  * ''$ [[install:nix:make|make]] -f install-sbbs.mk SYMLINK=1 NOCAP=1''
  
 Or, if you want to build a stable release from Git, specify a valid release [[dev:tags|tag]] on the make command-line (e.g. ''sbbs319b''): Or, if you want to build a stable release from Git, specify a valid release [[dev:tags|tag]] on the make command-line (e.g. ''sbbs319b''):
-  * ''$ [[install:nix:make|make]] install SYMLINK=1 **TAG=sbbs3xxx**''+  * ''$ [[install:nix:make|make]] -f install-sbbs.mk SYMLINK=1 **TAG=sbbs3xxx**''
   * **NOTE**: this does not work with release tags earlier than ''sbbs319b'', use the Tarball install method instead for those.   * **NOTE**: this does not work with release tags earlier than ''sbbs319b'', use the Tarball install method instead for those.
  
Line 87: Line 87:
   * These commands will make and install a //RELEASE// build of the software. To make and install a //DEBUG// build instead, pass ''DEBUG=1'' on the ''make'' command-lines.   * These commands will make and install a //RELEASE// build of the software. To make and install a //DEBUG// build instead, pass ''DEBUG=1'' on the ''make'' command-lines.
   * We don't support parallel builds (e.g. ''make -j'') - so don't do that.   * We don't support parallel builds (e.g. ''make -j'') - so don't do that.
-  * Mirrors of the ''install/GNUmakefile'' are available at +  * Mirrors of the ''install/install-sbbs.mk'' are available at 
-      * [[https://github.com/SynchronetBBS/sbbs/raw/master/install/GNUmakefile]] +      * [[https://github.com/SynchronetBBS/sbbs/raw/master/install/install-sbbs.mk]] 
-      * [[https://gitlab.com/SynchronetBBS/sbbs/-/raw/master/install/GNUmakefile]]+      * [[https://gitlab.com/SynchronetBBS/sbbs/-/raw/master/install/install-sbbs.mk]]
  
  
Line 98: Line 98:
 lrwxrwxrwx 1 sbbs sbbs    25 Jan 26 21:03 docs -> /home/sbbs/sbbs/repo/docs lrwxrwxrwx 1 sbbs sbbs    25 Jan 26 21:03 docs -> /home/sbbs/sbbs/repo/docs
 lrwxrwxrwx 1 sbbs sbbs    25 Jan 26 21:03 exec -> /home/sbbs/sbbs/repo/exec lrwxrwxrwx 1 sbbs sbbs    25 Jan 26 21:03 exec -> /home/sbbs/sbbs/repo/exec
--rw-r--r-- 1 sbbs sbbs 11001 Jan 26 20:51 GNUmakefile+-rw-r--r-- 1 sbbs sbbs 11001 Jan 26 20:51 install-sbbs.mk
 drwxr-xr-x 1 sbbs sbbs   116 Jan 26 21:07 node1 drwxr-xr-x 1 sbbs sbbs   116 Jan 26 21:07 node1
 drwxr-xr-x 1 sbbs sbbs    48 Jan 26 21:06 node2 drwxr-xr-x 1 sbbs sbbs    48 Jan 26 21:06 node2
Line 113: Line 113:
  
 **Notes**: **Notes**:
-  * You can safely remove the installation ''GNUmakefile'' once successfully installed; it has served its purpose.+  * You can safely remove the installation ''install-sbbs.mk'' once successfully installed; it has served its purpose.
  
 ==== Tarball Build Method ==== ==== Tarball Build Method ====
Line 122: Line 122:
   - ''$ tar -xzf sbbs_src.tgz''   - ''$ tar -xzf sbbs_src.tgz''
   - ''$ tar -xzf sbbs_run.tgz''   - ''$ tar -xzf sbbs_run.tgz''
-  - ''$ echo GIT=NO > src/build/localdefs.mk'' 
-  - ''$ echo RELEASE=1 > src/build/localdefs.mk'' 
   - ''$ cd src/sbbs3''   - ''$ cd src/sbbs3''
   - ''$ SBBSEXEC=/sbbs/exec [[install:nix:make|make]] symlinks''((include the 'setcap' target if you intend to use Linux-capabilities to bind low ports))   - ''$ SBBSEXEC=/sbbs/exec [[install:nix:make|make]] symlinks''((include the 'setcap' target if you intend to use Linux-capabilities to bind low ports))
Line 172: Line 170:
     error: unknown type name 'wint_t'     error: unknown type name 'wint_t'
  
-  * The following error indicates the Synchronet libraries (shared objects) are not in your system's library search path or in the directory from which ''sbbs'' was built. Set the ''LD_LIBRARY_PATH'' [[config:env|environment variable]] to point to your Synchronet ''[[dir:exec]]'' directory to resolve:+  * The following error indicates the Synchronet libraries (shared objects) are not in your system's library search path or in the directory from which ''sbbs'' was built. Set the ''LD_LIBRARY_PATH'' [[config:env|environment variable]] to point to your Synchronet ''[[dir:exec]]'' directory or add that directory to your ''/etc/ld.so.conf'' file (and run ''ldconfig''to resolve:
  
     sbbs: error while loading shared libraries: libsbbs.so: cannot open shared object file: No such file or directory     sbbs: error while loading shared libraries: libsbbs.so: cannot open shared object file: No such file or directory