pkgdep: add bpftrace and bcc installation from source
Add bpftrace and bcc installation from source for Fedora35 and higher due to issues with the multipath test and bpftrace/bcc installed from OS repository. Fixes #2519 Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com> Change-Id: Ieedd544a8ac02d9071f0b76f6ddd7007f18f4570 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12920 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
f546f28ea7
commit
72c4255e9d
@ -72,7 +72,7 @@ else
|
|||||||
packages+=(sshpass)
|
packages+=(sshpass)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $OSID == fedora ]] && ((OSVERSION >= 34)); then
|
if [[ $OSID == fedora ]] && ((OSVERSION == 34)); then
|
||||||
packages+=(bpftrace)
|
packages+=(bpftrace)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -466,6 +466,24 @@ function install_lcov() {
|
|||||||
(cd /usr/src/lcov; sudo make install)
|
(cd /usr/src/lcov; sudo make install)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function install_bpftrace() {
|
||||||
|
install llvm-devel clang-devel cereal-devel gtest-devel gmock-devel cmake
|
||||||
|
rm -rf $GIT_REPOS/bcc
|
||||||
|
rm -rf $GIT_REPOS/bpftrace
|
||||||
|
git clone --recursive $GIT_REPO_BCC $GIT_REPOS/bcc
|
||||||
|
git -C $GIT_REPOS/bcc checkout $BCC_BRANCH
|
||||||
|
git clone --recursive $GIT_REPO_BPFTRACE --branch $BPFTRACE_VERSION $GIT_REPOS/bpftrace
|
||||||
|
mkdir -p $GIT_REPOS/bcc/build $GIT_REPOS/bpftrace/build
|
||||||
|
|
||||||
|
cmake -DCMAKE_BUILD_TYPE=Release -B $GIT_REPOS/bcc/build -S $GIT_REPOS/bcc
|
||||||
|
make -C $GIT_REPOS/bcc/build -j$(nproc)
|
||||||
|
make -C $GIT_REPOS/bcc/build install
|
||||||
|
|
||||||
|
cmake -DCMAKE_BUILD_TYPE=Release -B $GIT_REPOS/bpftrace/build -S $GIT_REPOS/bpftrace
|
||||||
|
make -C $GIT_REPOS/bpftrace/build -j$(nproc)
|
||||||
|
make -C $GIT_REPOS/bpftrace/build install
|
||||||
|
}
|
||||||
|
|
||||||
function install_sources() {
|
function install_sources() {
|
||||||
if [[ $ID == centos ]] && (( VERSION_ID == 7 )); then
|
if [[ $ID == centos ]] && (( VERSION_ID == 7 )); then
|
||||||
# install proper version of the git first
|
# install proper version of the git first
|
||||||
@ -509,6 +527,10 @@ function install_sources() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [[ $INSTALL_BPFTRACE == true ]] || [[ $ID == fedora ]] && (( VERSION_ID >= 35 )); then
|
||||||
|
install_bpftrace
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $INSTALL_REFSPDK == true ]]; then
|
if [[ $INSTALL_REFSPDK == true ]]; then
|
||||||
# Serialize builds as refspdk depends on spdk
|
# Serialize builds as refspdk depends on spdk
|
||||||
[[ $INSTALL_SPDK != true ]] && install_spdk
|
[[ $INSTALL_SPDK != true ]] && install_spdk
|
||||||
@ -520,8 +542,11 @@ function install_sources() {
|
|||||||
GIT_VERSION=2.25.1
|
GIT_VERSION=2.25.1
|
||||||
IRDMA_VERSION=1.7.72
|
IRDMA_VERSION=1.7.72
|
||||||
ICE_VERSION=1.8.8
|
ICE_VERSION=1.8.8
|
||||||
|
BPFTRACE_VERSION=v0.15.0
|
||||||
|
|
||||||
VFIO_QEMU_BRANCH=${VFIO_QEMU_BRANCH:-vfio-user-dbfix}
|
VFIO_QEMU_BRANCH=${VFIO_QEMU_BRANCH:-vfio-user-dbfix}
|
||||||
VANILLA_QEMU_BRANCH=${VANILLA_QEMU_BRANCH:-v6.2.0}
|
VANILLA_QEMU_BRANCH=${VANILLA_QEMU_BRANCH:-v6.2.0}
|
||||||
|
BCC_BRANCH=${BCC_BRANCH:-6dac27d9}
|
||||||
|
|
||||||
: ${GIT_REPO_SPDK=https://github.com/spdk/spdk.git}
|
: ${GIT_REPO_SPDK=https://github.com/spdk/spdk.git}
|
||||||
export GIT_REPO_SPDK
|
export GIT_REPO_SPDK
|
||||||
@ -553,6 +578,11 @@ export IRDMA_DRIVER
|
|||||||
export ICE_DRIVER
|
export ICE_DRIVER
|
||||||
: ${GIT_REPO_LCOV=https://github.com/linux-test-project/lcov}
|
: ${GIT_REPO_LCOV=https://github.com/linux-test-project/lcov}
|
||||||
export GIT_REPO_LCOV
|
export GIT_REPO_LCOV
|
||||||
|
: ${GIT_REPO_BCC=https://github.com/iovisor/bcc.git}
|
||||||
|
export GIT_REPO_BCC
|
||||||
|
: ${GIT_REPO_BPFTRACE=https://github.com/iovisor/bpftrace.git}
|
||||||
|
export GIT_REPO_BPFTRACE
|
||||||
|
|
||||||
GIT_REPOS=${GIT_REPOS:-$HOME}
|
GIT_REPOS=${GIT_REPOS:-$HOME}
|
||||||
|
|
||||||
gcc_version=$(gcc -dumpversion) gcc_version=${gcc_version%%.*}
|
gcc_version=$(gcc -dumpversion) gcc_version=${gcc_version%%.*}
|
||||||
|
Loading…
Reference in New Issue
Block a user