Difference between revisions of "Setting up your local environment"
Line 41: | Line 41: | ||
A note on the 'manually edit ${WHIZROOT}/srcrep/sbecore/config.h' task: in this header file you define which DBMS types are available on your system. The options include MariaDB (SBECORE_MAR), MySQL (SBECORE_MY), PostgreSQL (SBECORE_PG) and SQLite3 (SBECORE_LITE). | A note on the 'manually edit ${WHIZROOT}/srcrep/sbecore/config.h' task: in this header file you define which DBMS types are available on your system. The options include MariaDB (SBECORE_MAR), MySQL (SBECORE_MY), PostgreSQL (SBECORE_PG) and SQLite3 (SBECORE_LITE). | ||
− | The default configuration is 1. apalis SBECORE_LITE, 2. arty SBECORE_LITE, 3. linux SBECORE_MY + SBECORE_PG, 4. mac SBECORE_MY | + | The default configuration is 1. apalis SBECORE_LITE, 2. arty SBECORE_LITE, 3. linux SBECORE_MY + SBECORE_PG, 4. mac SBECORE_MY. |
Revision as of 09:28, 26 June 2019
For convenience, MPSI provides a self-contained local folder structure for building WhizniumSBE and WhizniumDBE projects. The paths are configured such that no modifications to the workstation's file system outside of this folder structure are necessary.
Four tested configurations are available, two of which are catering to Yocto/PetaLinux cross-compile environments:
1. apalis: for Toradex's Apalis iMX6 board featuring dual/quad Cortex-A9 ARM cores
2. arty: for the Digilent Arty Z7 board which is built around Xilinx's Z7010/Z7020 Zynq All-Programmable SOC, featuring dual Cortex-A9 ARM cores and FPGA fabric
3. linux: for ubuntu workstations, tested for 16.04 and 18.04
4. mac: for Apple computers
Prerequisites
1. apalis: have your Yocto project set up on your workstation
2. arty: have your PetaLinux project set up on your workstation
3. linux: the following packages are required:
sudo apt install make gcc libxml2-dev mysql-client mysql-server libmysqlclient-dev postgresql postgresql-contrib libpq-dev sqlite3 libsqlite3-dev libmicrohttpd-dev libcurl3-dev
4. mac: the following installations are required (you may consider using Homebrew instead of building from source):
MySQL from https://dev.mysql.com/downloads/mysql/ 8.0.16, use Legacy Password Encryption
libcurl: https://curl.haxx.se/download.html, installation should end up in /usr/include and /usr/lib
libxml2: ftp://xmlsoft.org/libxml2, installation should end up in /usr/local/include/libxml2 and /usr/local/lib
libmicrohttpd: https://ftp.gnu.org/gnu/libmicrohttpd, installation should end up in /usr/local/include and /usr/local/lib
Download and configure
The Whiznium local folder structure is available at https://mpsitech-public.s3.amazonaws.com/whiznium_root.tgz. Download it and unpack it at your location of choice. The unpacked folder will be your Whiznium root directory and a shell variable ${WHIZROOT} will be defined for it.
Build essentials
Carefully follow the instructions in ${WHIZROOT}/setup_<machine type>.sh: this file contains shell command snippets but is not meant to be executed as a whole.
A note on the 'manually edit ${WHIZROOT}/srcrep/sbecore/config.h' task: in this header file you define which DBMS types are available on your system. The options include MariaDB (SBECORE_MAR), MySQL (SBECORE_MY), PostgreSQL (SBECORE_PG) and SQLite3 (SBECORE_LITE).
The default configuration is 1. apalis SBECORE_LITE, 2. arty SBECORE_LITE, 3. linux SBECORE_MY + SBECORE_PG, 4. mac SBECORE_MY.