Skip to content

S2C Sandbox : Cross compile JANUS

vkebkal edited this page Jan 15, 2020 · 5 revisions

First at all you need install toolchain and repository.

Build dependency library for JANUS-C

JANUS-C depend from fftw3 library.

Download source code of fftw3 library.

$ wget http://ftp.de.debian.org/debian/pool/main/f/fftw3/fftw3_3.3.5.orig.tar.gz
$ tar xvf fftw3_3.3.5.orig.tar.gz
$ cd fftw-3.3.5

Setup toolchain enviroment.

$ . /usr/local/oecore-i686/environment-setup-armv5te-angstrom-linux-uclibceabi

Configure and build, and install library to deploy directory.

$ ./configure --host=arm-angstrom-linux-uclibceabi --enable-shared
$ make DESTDIR=$(realpath ../deploy/) install

Also you can build only static .a library, by removing --enable-shared, but janus-rx will be much bigger in size.

Deploy fftw3 library to sandbox

Upload fftw3 dynamic library to sandbox /usr/local/lib directory.

$ (cd ../deploy; tar -c usr/local/lib/libfftw3.so*) | \ssh root@MODEM_IP tar -C / -xv

Setup dynamic linker in sandbox to search libraries in /usr/local/lib.

$ ssh root@MODEM_IP
root@evo-sandbox:~# echo /usr/local/lib >> /etc/ld.so.conf
root@evo-sandbox:~# ldconfig

Build JANUS-C

Setup toolchain enviroment, if you do not it before in current terminal.

$ .  /usr/local/oecore-i686/environment-setup-armv5te-angstrom-linux-uclibceabi

Configure and build, and upload to modem.

$ cd ../janus-c
$ PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$(realpath ../deploy/usr/local/lib/pkgconfig) cmake -DCROSS=arm-angstrom-linux-uclibceabi -DCMAKE_PREFIX_PATH=$(realpath ../deploy/usr/local) .
$ make
$ scp janus-tx root@MODEM_IP:/usr/local/bin
$ scp janus-rx root@MODEM_IP:/usr/local/bin

Run janus-c

How to run sdmsh visit the corresponding link - JANUS : Run

Clone this wiki locally