Skip to content

Building

Ata Hakçıl edited this page May 13, 2021 · 3 revisions

Building process can be fairly complicated depending on the environment.

Linux

If you've set up the dependencies, you can just build the project with make. List of directives is below.

.PHONY: all
all: model mp

model: $(INCLUDE)/$(MM_LIB)

mp: $(BIN)/$(MP_EXEC)

markopy: $(BIN)/$(MPY_SO)

.PHONY: clean
clean:
	$(RM) -r $(BIN)/*

Windows

Set up correct environment variables for %BOOST_ROOT% (folder containing boost, libs, stage, tools) and %PYTHON_PATH% (folder containing include, lib, libs, Tools, python.exe/python3.exe).

If you've set up the dependencies and environment variables correctly, you can open the solution with Visual Studio and build with that.

Known Common issues

Linux

Markopy - Python.h - Not found

Make sure you have the development version of python package, which includes the required header files. Check if header files exist: /usr/include/python*

If it doesn't, run sudo apt-get install python3-dev

Markopy/MarkovPasswords - *.so not found, or other library related issues when building

Run ls /usr/lib/x86_64-linux-gnu/ | grep boost and check the shared object filenames. A common issue is that lboost is required but filenames are formatted as llibboost, or vice versa.

Do the same for python related library issues, run: ls /usr/lib/x86_64-linux-gnu/ | grep python to verify filename format is as required.

If not, you can modify the makefile, or create symlinks such as: ln -s /usr/lib/x86_64-linux-gnu/libboost_python38.so /usr/lib/x86_64-linux-gnu/boost_python38.so

Windows

Boost - Bootstrap.bat "ctype.h" not found

  • Make sure you are working in the "Visual Studio Developer Command Prompt" terminal.
  • Make sure you have Windows 10 SDK installed.
  • From VS developer terminal, run echo %INCLUDE%. If result does not have the windows sdk folders, run the following before running bootstrap (change your sdk version instead of 10.0.19041.0):
set INCLUDE=%INCLUDE%;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt

set LIB=%LIB%;C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64

Cannot open file "*.lib"

Make sure you have set the BOOST_ROOT environment variable correctly. Make sure you ran b2 to build library files from boost sources.

Python.h not found

Make sure you have python installed, and make sure you set PYTHON_PATH environment variable.

Clone this wiki locally