LDC+Dub+Vibe.d on SmartOS 64bit
1. Create “minimal-64-lts” zone with quota~10G and RAM~4G
2. If internet connection available only behind proxy, add proxy env to .bashrc
- # echo “export http_proxy=http://user:psw@host:port/”>>.bashrc
- # echo “export https_proxy=http://user:psw@host:port/”>>.bashrc
3. Restart bashrc
- # . ~/.bashrc
4. Install needed packages
- # pkgin up
- # pkgin in binutils gmake cmake scmgit python35 autoconf gcc49 gcc49-libs unzip libconfig livevent
5. All manipulations I did from work directory, so create it
- # mkdir work
- # cd work
6. Set git protocol (need if proxy not work with git url)
- # git config --global url."https://github".insteadOf git://github
7. Clone llvm repository and set last release
- # git clone --recursive https://github.com/llvm-mirror/llvm.git
- # cd llvm
- # git checkout release_38
8. Correct AddLLVM.cmake in ./cmake/modules/AddLLVM.cmake. Change phrase <discard_unused=sections> to <ignore>.
- # vi cmake/modules/AddLLVM.cmake
9. Configure llvm only for one platform because it will be very long time building :-)
- # mkdir ~/work/build_llvm
- # cd $_
- # cmake -DCMAKE_BUILD_TYPE=”Release” -DLLVM_TARGETS_TO_BUILD=”X86” ../llvm/
10. Build and install llvm
- # gmake -j5
- # gmake install
11. For this moment (09.06.2016) in SmartOS package repositories libLLVM-3.7.0 is available. Alternatively you can try to install libLLVM-3.7.0 with pkgin manager, but this path not tested yet. Therefore in this howto used newer release of LLVM, that build from source.
12. Clone ldc and use branch ltsmaster.
- # cd ~/work
- # git clone https://github.com/ldc-developers/ldc.git
- # cd ldc
- # git checkout ltsmaster
13. Clone phobos and druntime. For this moment (09.06.2016) pull requests, that already done in branches “ldc-ltsmaster” are enough for using Vibe.d on SmartOS 64bit. Pull requests for working with serial port not commited yet, but if need it is available in https://github.com/tethyslab/druntime.git branch “lts-solaris-serial”.
- # cd runtime
- # git clone https://github.com/ldc-developers/phobos.git
- # cd phobos
- # git checkout ldc-ltsmaster
- # cd ../runtime
- # git clone https://github.com/ldc-developers/druntime.git
- # cd druntime
- # git checkout ldc-ltsmaster
14. Config, build and install ldc
- # cd ~/work
- # mkdir build_ldc
- # cd $_
- # cmake ../ldc
or you can use more interactive ccmake
- # ccmake ../ldc
and inside it:
- type “c” on keyboard
- type “c” on keyboard once again
- type “g” on keyboard
- # gmake -j5
- # gmake install