Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
install:nix [2018/03/02 19:21] – [Updating] Mention 'service sbbs restart' as a way to restart the sbbs daemon when using systemd digital man | install:nix [2019/01/01 22:28] – replace 316c references with 317b digital man |
---|
| |
Note: If you intend on using [[howto:dosemu]] on Linux (for running 16-bit DOS doors), add ''USE_DOSEMU=1'' to the below ''make'' command-lines or put the following in the ''src/sbbs3/localdefs.mk'' file: | Note: If you intend on using [[howto:dosemu]] on Linux (for running 16-bit DOS doors), add ''USE_DOSEMU=1'' to the below ''make'' command-lines or put the following in the ''src/sbbs3/localdefs.mk'' file: |
UES_DOSEMU=1 | USE_DOSEMU=1 |
| |
=== Build === | === Build === |
- ''# [[install:nix:make|make]] install SYMLINK=1'' | - ''# [[install:nix:make|make]] install SYMLINK=1'' |
| |
If you want to build a stable release from CVS, specify a valid release [[dev:tags|tag]] on the make command-line (e.g. ''sbbs316c''): | If you want to build a stable release from CVS, specify a valid release [[dev:tags|tag]] on the make command-line (e.g. ''sbbs317b''): |
- ''# [[install:nix:make|make]] install SYMLINK=1 **CVSTAG=sbbs316c**'' | - ''# [[install:nix:make|make]] install SYMLINK=1 **CVSTAG=sbbs317b**'' |
| |
* Note: 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. | * Note: 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. |
| |
If you want to build a stable release, replace the archive filenames above with valid release filenames: | If you want to build a stable release, replace the archive filenames above with valid release filenames: |
- replace ''sbbs_dev.tgz'' with ''ssrc**316c**.tgz'' | - replace ''sbbs_dev.tgz'' with ''ssrc**317b**.tgz'' |
- replace ''sbbs_run.tgz'' with ''srun**316c**.tgz'' | - replace ''sbbs_run.tgz'' with ''srun**317b**.tgz'' |
| |
==Using System Libraries== | ==Using System Libraries== |
| |
* Errors such as "C++ cannot create executables" and many others are generally caused by missing [[install:nix:prerequisites]]. | * Errors such as "C++ cannot create executables" and many others are generally caused by missing [[install:nix:prerequisites]]. |
| |
| * The following errors occur when building the Mozilla JavaScript library (libmozjs), are normal and can be safely ignored: |
| <code> |
| /bin/sh: 1: autoconf-2.13: not found |
| GNUmakefile:52: recipe for target '../build/../../src/../3rdp/gcc.linux.x64.debug/mozjs/lib/libmozjs185-1.0.a' failed |
| make[1]: [../build/../../src/../3rdp/gcc.linux.x64.debug/mozjs/lib/libmozjs185-1.0.a] Error 127 (ignored) |
| </code> |
==== Notes ==== | ==== Notes ==== |
| |
====== Clean Rebuild ====== | ====== Clean Rebuild ====== |
| |
Occasionally, you may need to perform a //clean// rebuild. A clean build can generally be achieved by first executing "''[[install:nix:make|make]] RELEASE=1 clean''" in the ''src/sbbs3'' and ''src/sbbs3/scfg'' directories before performing your normal ''make'' command-lines (step 4 above), but sometimes (rarely) the clean command will need to be executed in one or all of the following directories first (e.g. when dependent files are deprecated and removed from CVS): | Occasionally, you may need to perform a //clean// rebuild. A clean build can generally be achieved by first executing: |
* src/comio | src/cleanall.sh RELEASE=1 |
* src/conio | |
* src/smblib | |
* src/uifc | |
* src/xpdev | |
| |
**Note**: | **Note**:\\ |
If you elect to build //debug// binaries (instead of //release// binaries), then you'll need to exclude the ''RELEASE=1'' portion from your ''make clean'' commands. Otherwise, you'll be cleaning the ''*.release'' output directories when you really need to be cleaning the ''*.debug'' output directories. Likewise, if you're building and running //release// binaries, then you need to include the ''RELEASE=1'' portion on the ''make clean'' commands as well. Alternatively, you can set your default build type in the file ''localdefs.mk''. The ''localdefs.mk'' file should be created by you in either in the ''src/build'' directory (to apply to //all// bulids), or within each directory you run ''make'': | If you elect to build //debug// binaries (instead of //release// binaries), then you'll need to //exclude// the ''RELEASE=1'' portion from the ''cleanall.sh'' command. Otherwise, you'll be cleaning the ''*.release'' output directories when you really need to be cleaning the ''*.debug'' output directories. Likewise, if you're building and running //release// binaries, then you need to //include// the ''RELEASE=1'' portion on the ''cleanall.sh'' commandsas well. Alternatively, you can set your default build type in the file ''localdefs.mk''. The ''localdefs.mk'' file should be created by you in either in the ''src/build'' directory (to apply to //all// builds), or within each directory you run ''make'': |
RELEASE=1 | RELEASE=1 |
===== See Also ===== | ===== See Also ===== |