Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
install:nix [2018/03/09 13:39] – [Getting/Building] campaign | install:nix [2019/05/20 17:47] – [See Also] added a tag digital man |
---|
- ''# [[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 ==== |
| |
| |
* ''$ service sbbs restart'' | * ''$ service sbbs restart'' |
====== 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 |
| |
| ===== Setup ===== |
| Now that you've completed the installation, move on to the [[setup|initial setup]] instructions. |
===== See Also ===== | ===== See Also ===== |
* [[:config:nix|Configuring Synchronet for Unix/Linux]] | * [[:config:nix|Configuring Synchronet for Unix/Linux]] |
* [[:dev:tags|Development Tags]] | * [[:dev:tags|Development Tags]] |
| |
{{tag>unix linux freebsd}} | {{tag>install unix linux freebsd}} |
| |