Skip to content

Instantly share code, notes, and snippets.

View timcardenuto's full-sized avatar

Tim the Enchanter timcardenuto

View GitHub Profile
@timcardenuto
timcardenuto / redhawk-centos8.md
Last active July 14, 2020 11:26
Redhawk on CentOS 8

Redhawk on CentOS 8

Setup / Dependencies

Enable PowerTools repo:

$ sudo sed -i "s/enabled=0/enabled=1/g" /etc/yum.repos.d/CentOS-PowerTools.repo

Enable EPEL repo:

$ sudo dnf -y update

@timcardenuto
timcardenuto / Dockerfile-redhawk-centos-8
Last active July 15, 2020 15:12
Process to build Redhawk from source on CentOS 8.
# CentOS 8 Redhawk Build
FROM centos:8
# enable PowerTools repo
RUN sed -i "s/enabled=0/enabled=1/g" /etc/yum.repos.d/CentOS-PowerTools.repo
RUN dnf -y update && \
dnf -y install epel-release
RUN dnf -y install bzip2 gcc-c++ make libtool expat-devel python2 python2-devel xsd apr-devel apr-util-devel sqlite-devel libuuid-devel boost-devel diffutils git cmake libusb1-devel libusb-devel uhd-devel fftw-devel && \
@timcardenuto
timcardenuto / lll-notes.md
Last active May 10, 2018 22:12
LLL Notes

Lattices are hard. As someone who doesn't consider mathematics his primary interest I take solice in the words of whoever wrote the NTL LLL documentation:

I think it is safe to say that nobody really understands how the LLL algorithm works. The theoretical analyses are a long way from describing what "really" happens in practice. Choosing the best variant for a certain application ultimately is a matter of trial and error.

There are a few libraries with LLL support:

Python

/*
c++ -o test test.cpp -I/usr/local/redhawk/core/include -I/usr/local/redhawk/core/include/ossie -L/usr/local/redhawk/core/lib64 -L/usr/lib64 -lbulkio-2.1 -lbulkioInterfaces -lossiecf -lossieidl -lomniORB4 -lomnithread -DHAVE_BOOST -lboost_system-mt
*/
#include <string>
#include <iostream>
#include <boost/thread.hpp>
//#include <ossie/Component.h>
#include <ossie/PortSupplier_impl.h>
#include <bulkio/bulkio.h>
@timcardenuto
timcardenuto / redhawk-raspberry-pi.md
Last active September 10, 2022 14:56
How to build Redhawk for Raspberry Pi, Raspbian Stretch, using QEMU

Redhawk on Raspberry Pi

One option for compiling Redhawk for the Raspberry Pi is using QEMU on a host to compile it into the image before loading on the rpi hardware - this takes advantage of the superior hardware on your host to decrease compile time. These instructions verified for host system Ubuntu 16.04, Raspberry Pi image Raspbian Stretch 2017-09-07, and Redhawk 2.0.7.

It is important to note that Redhawk is only officially supported on CentOS 6 and 7 and therefore any time you try to compile it for other OS's it's possible (likely on systems like Ubuntu/Debian) that you'll have issues with newer versions of dependencies, the most likely offenders in the past have been:

Library CentOS 6.9 CentOS 7.4 Ubuntu 16.04 Debian 9.2 Raspbian Stretch Fedora 28
gcc 4.4.7 4.8.5 5.4.0 6.3.0 6.3.0 8.1.1
libstdc++ 4.4.7 4.8.5 5.4.0 6.3.0 6.3.0 8.1.1