The majority of the CoreGen Portal library and tool dependencies are satisfied by either by CoreGen or by the wxWidgets GUI interface library. wxWidgets comes packages as various different libraries depending upon the target build target (and the respective platform GUI). Generally speaking, the CoreGen Portal package is built using the following steps:
build
directory within the CoreGen source tree (and change to that directory)We currently support building and installing on LTS versions of Ubuntu. While it is certainly possible to build/install on intermediate release and/or development versions, we do not currently test these scenarios.
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt-get install libwxgtk3.0-0v5 libwxgtk3.0-dev libwxgtk3.0-gtk3-0v5 libwxgtk3.0-gtk3-dev libgraphviz-dev g++-9
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 20
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
git clone https://github.com/opensocsysarch/CoreGenPortal.git
cd CoreGenPortal
mkdir build
cd build
cmake -DLLVM_DIR=/usr/lib/llvm-8/cmake -DCOREGEN_INSTALL_PATH=/path/to/CoreGen/install ../
make
sudo apt-get install libwxgtk3.0-0v5 libwxgtk3.0-dev libwxgtk3.0-gtk3-0v5 libwxgtk3.0-gtk3-dev libgraphviz-dev
git clone https://github.com/opensocsysarch/CoreGenPortal.git
cd CoreGenPortal
mkdir build
cd build
cmake -DLLVM_DIR=/usr/lib/llvm-8/cmake -DCOREGEN_INSTALL_PATH=/path/to/CoreGen/install ../
make
sudo apt-get install libwxgtk3.0-gtk3-dev libwxgtk3.0-gtk3-0v5 libgraphviz-dev
git clone https://github.com/opensocsysarch/CoreGenPortal.git
cd CoreGenPortal
mkdir build
cd build
cmake -DLLVM_DIR=/usr/lib/llvm-8/cmake -DCOREGEN_INSTALL_PATH=/path/to/CoreGen/install ../
make
sudo apt-get install libwxgtk3.0-gtk3-dev libwxgtk3.0-gtk3-0v5
git clone https://github.com/opensocsysarch/CoreGenPortal.git
cd CoreGenPortal
mkdir build
cd build
cmake -DLLVM_DIR=/usr/lib/llvm-8/cmake -DCOREGEN_INSTALL_PATH=/path/to/CoreGen/install ../
make
Centos7 (CentOS 7.4, 1704) has somewhat of an older toolchain. As a result, the build requires some rather unique system packages. Utilize the following steps on vanilla CentOS 7.4 systems.
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
sudo rpm -Uvh epel-release-7-11.noarch.rpm
sudo yum -y install wxGTK3 wxGTK3-devel graphviz-devel
sudo yum install rpm-build rpmdevtools
scl enable llvm-toolset-7 bash
git clone https://github.com/opensocsysarch/CoreGenPortal.git
cd CoreGenPortal
mkdir build
cd build
cmake -DLLVM_DIR=/opt/rh/llvm-toolset-7.0/root/usr/lib64/cmake/llvm -DCOREGEN_INSTALL_PATH=/path/to/CoreGen/install ../
make
Centos8 has a modern toolchain, much more so than Centos7. However, the build requires packages from the EPEL repository. Utilize the following steps on the CentOS 8 systems.
wget https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/e/epel-release-8-8.el8.noarch.rpm
sudo rpm -Uvh epel-release-8-8.el8.noarch.rpm
sudo yum -y install wxGTK3 wxGTK3-devel graphviz-devel
sudo yum install rpm-build rpmdevtools
git clone https://github.com/opensocsysarch/CoreGenPortal.git
cd CoreGenPortal
mkdir build
cd build
cmake -DLLVM_DIR=/usr/lib64/cmake/llvm -DCOREGEN_INSTALL_PATH=/path/to/CoreGen/install ../
make
llvm@7
, llvm@8
, wxmac
and graphviz
packages. It is very important on 10.13 to install both versions of LLVM.
brew install llvm@7 llvm@8 wxmac graphviz
git clone https://github.com/opensocsysarch/CoreGenPortal.git
cd CoreGenPortal
mkdir build
cd build
CC=/usr/local/opt/llvm\@7/bin/clang CXX=/usr/local/opt/llvm\@7/bin/clang++ cmake -DLLVM_DIR=/usr/local/opt/llvm\@8/lib/cmake/llvm -DCOREGEN_INSTALL_PATH=/path/to/CoreGen/install ../
make
llvm@8
, wxmac
and graphviz
packages.
brew install llvm@7 llvm@8 wxmac graphviz
git clone https://github.com/opensocsysarch/CoreGenPortal.git
cd CoreGenPortal
mkdir build
cd build
CC=/usr/local/opt/llvm\@7/bin/clang CXX=/usr/local/opt/llvm\@7/bin/clang++ cmake -DLLVM_DIR=/usr/local/opt/llvm\@8/lib/cmake/llvm -DCOREGEN_INSTALL_PATH=/path/to/CoreGen/install ../
make
make doc
will build the documentation (requires Doxygen to be installed)CoreGenPortal is licensed under an Apache-style license - see the LICENSE file for details