Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
The Polysync Transcoder is developed and tested specifically on the Ubuntu 16.04 distribution. It can work on most POSIX-compliant systems where the following dependencies can be satisfied.
CMake is used by polysync-transcode, the others are needed to build and install Mettle.
sudo apt-get install --yes cmake patchelf python-setuptools
Boost dependencies include both Hana and DLL; both of which appeared first in Boost-1.61.
Hana requires an up to date C++14 compiler, which include Clang >= 3.5.0 and GCC >=6.0.0.
GCC and Clang are both new enough on 16.10 by default. On 16.04, the default version of gcc (5.4) is too old to compile Hana, but the default Clang (3.8) works fine.
Using clang on either 16.10 or 16.04:
sudo apt-get install --yes clang
Both Hana and DLL are in the default boost package.
sudo apt-get install libboost-dev
The default version of boost on 16.04 is too old, so a newer version must be installed. Here, we show how this may be done from source. Because the transcoder uses dynamically loaded plugins, boost must be dynamically linked, so if you get fancier with the build here do not also disable the dynamic libraries.
The steps below were taken from the guide
wget https://sourceforge.net/projects/boost/files/boost/1.63.0/boost_1_63_0.tar.gz tar xvzf boost_1_63_0.tar.gz cd boost_1_63_0 ./bootstrap.sh --with-toolset=clang ./b2 -j2 cxxflags="-std=c++11" ... wait ... sudo ./b2 install ... wait some more...
Boost should appear in
/usr/local/, waiting to be found by CMake's
If you want to compile and run the unit tests, you must install the Mettle unit test framework.
Mettle also has strict requirements on C++14 compliance, but they are weaker than Hana so the clang >= 3.5 or gcc >= 6.0 installed prior to Boost is already sufficient. Mettle has it's own dependencies, which we also show.
cd sudo easy_install bfg9000 git clone https://github.com/jimporter/mettle.git cd mettle/ scripts/vendorize_bencode.py 9k build cd build make sudo make install
/usr/local/bin/mettle should appear along with
cd git clone https://github.com/PolySync/polysync-transcoder.git mkdir polysync-transcoder/build cd polysync-transcoder/build CXX=clang++ cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. make -j4 sudo make install