diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b1428e24b512393d1f3988c9cd5eb52dc2cbd49d..aa44235194fe12257f8176024b88cd81e4a9d19d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -75,11 +75,7 @@ cache:
- dpdk-*
- netmap-$NETMAP_VERSION
before_script:
- - if ( command -v apt-get &> /dev/null ) ; then
- echo "Installing dependencies..." ;
- apt-get update -yqq && apt-get install -yqq build-essential sudo wget libelf-dev pkg-config zlib1g-dev libnuma-dev python3-pyelftools ninja-build meson linux-headers-$(uname -r) python3-pip ;
-
- fi;
+ - sh deps.sh
- gcc -v
- if [ ! -e "netmap-$NETMAP_VERSION/sys/net/netmap.h" ] ; then wget https://github.com/luigirizzo/netmap/archive/v$NETMAP_VERSION.tar.gz && tar -xvf v$NETMAP_VERSION.tar.gz && ( cd netmap-$NETMAP_VERSION && cd LINUX && ./configure --no-drivers ; cd .. && cd .. ) ; fi
- ls -al
diff --git a/deps.sh b/deps.sh
new file mode 100644
index 0000000000000000000000000000000000000000..fb5870df5487b1df57168eb77d91e4be88dc4289
--- /dev/null
+++ b/deps.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+echo "Installing dependencies..." ;
+if ( command -v apt-get &> /dev/null ) ; then
+ echo "Using apt-get"
+ apt-get update -yqq && apt-get install -yqq build-essential sudo wget libelf-dev pkg-config zlib1g-dev libnuma-dev python3-pyelftools ninja-build meson linux-headers-$(uname -r) python3-pip
+elif ( command -v apk &> /dev/null ) ; then
+ echo "Using apk"
+ apk add --no-cache wget gcc libelf numactl python3 pkgconf zlib-dev py3-pip g++ py3-elftools autoconf build-base bsd-compat-headers linux-headers gcompat libstdc++
+fi
+
diff --git a/elements/userlevel/fromdevice.cc b/elements/userlevel/fromdevice.cc
index 709306bc0ad96d11177fbbfd492ed0ac9c060900..b5d2c99fc970dbf3f95a9ea362842cec331cc01a 100644
--- a/elements/userlevel/fromdevice.cc
+++ b/elements/userlevel/fromdevice.cc
@@ -43,6 +43,8 @@
#include <click/packet_anno.hh>
#include <click/standard/scheduleinfo.hh>
#include <click/userutils.hh>
+#include <netinet/if_ether.h>
+#define _LINUX_IF_ETHER_H 1
#include <linux/ethtool.h>
#include <linux/netlink.h>
#include <unistd.h>
diff --git a/include/click/llrpc.h b/include/click/llrpc.h
index 601757ce015bf243bd612bd28043e5e2c0cac2c4..0c6a112b84532fc60146359547c5559d64a3f06c 100644
--- a/include/click/llrpc.h
+++ b/include/click/llrpc.h
@@ -14,6 +14,7 @@ CLICK_CXX_UNPROTECT
#else
# include <errno.h>
# include <sys/ioctl.h>
+# include <asm/ioctl.h>
#endif
/* Click low-level RPC interface */
diff --git a/lib/flow.cc b/lib/flow.cc
index 69596ee1c736690e66d7634488114ba077112ce2..73c7cc29e4ea424fe6543c3cf377e5c61ea8cf62 100644
--- a/lib/flow.cc
+++ b/lib/flow.cc
@@ -21,6 +21,7 @@
#include <click/config.h>
#include <click/glue.hh>
#include <stdlib.h>
+#include <byteswap.h>
#include <regex>
#include <click/flow/flow.hh>
#include <click/flow/flowelement.hh>