Skip to content

Instantly share code, notes, and snippets.

@jimklimov
Last active April 8, 2021 00:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jimklimov/b92a4fe5bb8eab70e79d6f1581563863 to your computer and use it in GitHub Desktop.
Save jimklimov/b92a4fe5bb8eab70e79d6f1581563863 to your computer and use it in GitHub Desktop.
NUT-PREREQS-OpenIndiana
Installing prereqs on OpenIndiana for maximum build
Achievable setup and result:
./configure --with-all --with-dev --with-doc=auto --without-modbus
gmake all -j8
gmake check
Prereqs:
pkg install gnu-make automake autoconf \
git gnu-binutils developer/linker valgrind \
gcc-{5,6,7,9,10} clang-{80,90} illumos-gcc \
avahi cppunit lua neon powerman freeipmi \
libusb-1 libusbugen system/library/usb/libusb system/header/header-usb driver/usb/ugen \
asciidoc libxslt aspell aspell/en gd graphviz{,-tcl} \
docbook/dtds docbook/dsssl docbook/xsl docbook docbook/sgml-common \
augeas-tools library/augeas
pkg install expect jenkins-common developer/java/openjdk8
# MISSING : dblatex (pdf doc), modbus, (i2c for linux)
Note: libusb-1 support not yet in master; build with libusb-0.1 requires so far the old "libusb"
Configure symlinks for compilers e.g.:
When current pkg of clang-90 is installed, it becomes default and delivers all
symlinks exclusively so clang-80 is invisible (upstream fix pending), so:
:; cd /usr/bin
:; ln -s ../clang/8.0/bin/*-8* .
:; ln -s ../clang/8.0/bin/clang-cpp clang-cpp-8
illumos-gcc is not exposed (intended for system builds) but nothing really
forbids its use to check NUT builds in older GCC compiler release:
:; for V in 4.4.4; do for T in gcc g++ cpp ; do ln -s ../../opt/gcc/$V/bin/$T /usr/bin/$T-$V; done ; done
ccache pkg does not install symlinks to versioned compilers:
:; cd /usr/lib/ccache
:; for T in clang clang++ clang-cpp ; do ln -s ../../bin/ccache $T; done ; done
:; for V in 8 9 ; do for T in clang clang++ clang-cpp ; do ln -s ../../bin/ccache $T-$V; done ; done
:; for V in 4.4.4 10 5 6 7 9 ; do for T in gcc g++ cpp ; do ln -s ../../bin/ccache $T-$V; done ; done
Add ccache first in PATH of worker accounts (or via jenkins cfg), e.g.:
:; cat /etc/profile.d/ccache.sh
PATH="/usr/lib/ccache:$PATH"
export PATH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment