WWIV is compiled with the following compilers:
- MS Visual C++ 2019 Community Edition.
- GCC 8.3 (or later) on Linux (tested on Debian10, Ubuntu 20.04, Centos7 with SCL/GCC-8)
- CMake 3.18 or newer
We prefer contributors to FORK wwivbbs
repositories to their account and work from there.
You will need Git installed. You can use the GitHub Desktop GUI, but it's also easy
to use the command line tool directly. You'll need to download Git and
install it. Make sure the git
command is in your PATH.
If you are using GitHub Desktop, this is likely in the folder: "Documents\GitHub\WWIV". Otherwise just
create a directory and clone your fork. You can follow instructions that are written by GitHub
Here. Just make sure that
when you clone the repo, you have "Recurse Submodules" specified in the tool, or using
--recurse-submodules
on the command line.
WWIV is compiled with the VS2019 compiler for windows. You can download Microsoft Visual Studio 2019 Community
Choose to install the Desktop development with C++
workload.
You also may want to optionally install the following "Individual Components":
Git For Windows (Only if you do not have this already)
GitHub extension for Visual Studio
-
If you cloned a git repository for your fork of WWIV, then select File then Open and choose Folder.
-
If you are using the GitHub for Windows extension, then from the Visual Studio IDE, select File and then
Open from Source Control
On the bottom, you should see your local GIT repositories already. Above that you will see Login to GitHub, do that. -
Now in your Local repositories (Documents\GitHub\WWIV), open the folder WWIV in Visual Studio. It should recognize the CMake build and be able to build WWIV.
-
When VS says "READY" on the bottom, go to Build on the menu and select Build Solution(F7). If you have any build errors, run Build one more time and see if that resolves itself as there can be timing issues on some machines.
-
You select whether or not you are building DEBUG or RELEASE on the toolbar. Those binaries and other built files will be places in a \debug and \release folder along side your github source files. ex:
Documents\GitHub\WWIV\debug
orDocuments\GitHub\WWIV\release
.
This only builds the binaries, it does NOT include the supporting files. Please follow the Linux Installation instructions under Steps to install the software for first installing the base system.
** NOTE:** Do these steps as a non-root user; your BBS user would be the easiest from a file permissions perspective later on. root should never be used to compile binaries.
Package | Comments |
---|---|
git | to grab the source code for compiling |
ncurses | ncurses-devel, libncurses5-dev, etc depending on your distro |
zlib1g-dev | or zlib-dev depending on your distro |
cmake | 3.18 or later (3.22 or later if using arm64 or aarch64) |
make | for cryptlib |
ninja-build | 1.8 or later, earlier versions probably work too |
g++ | 8.3.0 or later (easiest to install via build-essential on debian/ubuntu) |
If you are on debian or ubuntu, you can use the /builds/linux/install-prereqs.sh
script to ensure that the right software is installed. This command should be executed as root (using sudo)
Here's the list of binaries that will be built in the build directory:
- bbs/bbs
- network/network
- networkb/networkb
- networkc/networkc
- networkf/networkf
- networkt/networkt
- network1/network1
- network2/network2
- network3/network3
- wwivconfig/wwivconfig
- wwivd/wwivd
- wwivutil/wwivutil
If you plan to have an active repo, we prefer contributors to FORK WWIVBBS repositories to their account and work from there.
-
Fork, then clone your fork
# Create a directory for your fork's clone. mkdir git chdir git # Clone your fork into the current directory (git). # Use your GitHub username instead of <em>YOUR-USERNAME</em> git clone --recurse-submodules -j8 https://github.com/<em>YOUR-USERNAME</em>/wwiv.git
-
Navigate to wwiv
Now change directory to the wwiv
directory where you cloned the repository
and run the following:
mkdir _build
cd _build
../cmake-config.sh
cmake --build .
Copy all of the files newly built, or symlinks to them from your WWIV base install i.e. in /opt/wwiv/ (assuming the source is in $HOME/git/wwiv now.)
# This should be done as the wwiv user who has the source code.
cd /opt/wwiv
ln -s $HOME/git/wwiv/builds/tools/linux/use-built-bin.sh
export BUILT_BIN=$HOME/out/wwiv
./use-built-bin.sh ${BUILT_BIN} bbs wwivd wwivconfig network network?
If you get an error about needing to do an out of source build, please make sure that
you are executing the cmake command from a directory that is not the same as your source
code, such as a subdirectory called _b
or _build
or even a different directory
all together. I use /home/rushfan/out/wwiv
myself.
Once you get a warning about this, you will need to clean the build so you need to remove the following file and directory:
- CMakeFiles
- CMakeCache.txt
-
Tested successfully on
- ChromeOS versions 99.x.x and higher
- CPU/Arch 64bit (i3, i5, aarch64, mediatek arm64)
- 4GB+ Memory
-
Tested un-successful on (Was unable to get build tools installed)
- ChromeOS version below 99.x.x
- CPU/Arch 32bit
- Under 4GB
-
Notes:
- Not really for production, but great for developing and testing.
- Use Linux build directions
- Telnet/SSH/Status Ports must be above 10,000 due to limitations on ChromeOS
- If running on arm64, or aarch64 CPU, use cmake 3.22.x or higher
- Recommend installing under your primary user instead of "wwiv" for simplicity sake. (Again not recommended for production use)
- If you choose to use a new user be sure to restart the entire linux sub-system after install.
All the installation and SysOp administration information you need is in the WWIV Documentation
If you want to help out with WWIV BBS:
- Read the Contributors Guidelines
- Check out the WWIV BBS Homepage and find us on IRC.
- Jump into the Issues List.