How to compile BCC on Ubuntu 20.04? - linux-kernel

I am trying to compile the BCC BPF framework (https://github.com/iovisor/bcc) on Ubuntu 20.04. I followed all the instructions for 18.04, but of course; they fail.
The issue i have seems to be clang-related though
In file included from /usr/local/include/clang/Frontend/CompilerInstance.h:15,
from /home/matt/code/bpf/bcc/src/cc/frontends/clang/loader.cc:43:
/usr/local/include/clang/Frontend/CompilerInvocation.h:157:15: note: candidate: ‘static bool clang::CompilerInvocation::CreateFromArgs(clang::CompilerInvocation&, llvm::ArrayRef<const char*>, clang::DiagnosticsEngine&)’
157 | static bool CreateFromArgs(CompilerInvocation &Res,
| ^~~~~~~~~~~~~~
/usr/local/include/clang/Frontend/CompilerInvocation.h:157:15: note: candidate expects 3 arguments, 4 provided
make[2]: *** [src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/build.make:63: src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/loader.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:982: src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
How do i get BCC compiling on Ubuntu 20.04 ?

As of BCC v0.14.0-a28337a, I have to use llvm-7 instead of the latest LLVM. Also, -DPYTHON_CMD=python3 or installing Python2 (or python command) is required because Python2 is no longer installed by default. Other dependencies listed in https://github.com/iovisor/bcc/blob/master/INSTALL.md#ubuntu---source are also required.
I can build it on my Ubuntu 20.04 VM.
cmake -Bbuild -DPYTHON_CMD=python3 -DCMAKE_PREFIX_PATH=/usr/lib/llvm-7
make -Cbuild -j$(nproc)

I had the same problem. What worked for me was use a different branch, actually the latest tag, you can check that at github site for the project: https://github.com/iovisor/bcc.git
One I did a git checkout v0.24.0 # for example it worked.
Hint:
Probably the main branch may not be the best choice as it may be broken due to the latest commit, changing for the last stable release has already worked for me on many other different projects.

Related

rJava not installing on new laptop

Just received a new GTX laptop, and for whatever reason, I am simply not able to install rJava. No matter what I do with the Java and JDK installs, I get the following message. I have been uninstalling, rebooting, re-installing, Java (latest versions) and RTools, and yet, I still cannot get rJava to install.
I am using Rstudio as my gui, and I have been able to successfully install rJava on an Ubuntu machine, but for whatever reason, I cannot get this to work on my windows GPU laptop.
I realize this is a question that appears to have been answered in other threads, but I am not seeing the same situation as mine. Something is different, and I can't figure it out.
What else can I provide to help someone help me?
* installing *source* package 'rJava' ...
** package 'rJava' successfully unpacked and MD5 sums checked
** using staged installation
Generate Windows-specific files (src/jvm-w32) ...
make: Entering directory '/Users/bfcgl/AppData/Local/Temp/RtmpOcP1l8/R.INSTALLa750514e17ed/rJava/src/jvm-w32'
C:/Rtools/mingw_64/bin/dlltool --as C:/Rtools/mingw_64/bin/as --input-def jvm64.def --kill-at --dllname jvm.dll --output-lib libjvm.dll.a
C:/Rtools/mingw_64/bin/gcc -O2 -c -o findjava.o findjava.c
C:/Rtools/mingw_64/bin/gcc -s -o findjava.exe findjava.o
make: Leaving directory '/Users/bfcgl/AppData/Local/Temp/RtmpOcP1l8/R.INSTALLa750514e17ed/rJava/src/jvm-w32'
Find Java...
JAVA_HOME=C:/PROGRA~1/Java/jdk-14
=== Building JRI ===
JAVA_HOME=C:/PROGRA~1/Java/jdk-14
R_HOME=C:/PROGRA~1/R/R-36~1.3
JDK has no javah.exe - using javac -h . instead
Creating Makefiles ...
Configuration done.
make -C src JRI.jar
make[1]: Entering directory '/Users/bfcgl/AppData/Local/Temp/RtmpOcP1l8/R.INSTALLa750514e17ed/rJava/jri/src'
C:/PROGRA~1/Java/jdk-14/bin/javac -h . -d . ../RList.java ../RBool.java ../RVector.java ../RMainLoopCallbacks.java ../RConsoleOutputStream.java ../Mutex.java ../Rengine.java ../REXP.java ../RFactor.java ../package-info.java
..\Rengine.java:120: error: invalid use of a restricted identifier 'yield'
while (!alive && !died) yield();
^
(to invoke a method called yield, qualify the yield with a receiver or type name)
1 error
make[1]: *** [Makefile.all:41: org/rosuda/JRI/Rengine.class] Error 1
make[1]: Leaving directory '/Users/bfcgl/AppData/Local/Temp/RtmpOcP1l8/R.INSTALLa750514e17ed/rJava/jri/src'
make: *** [Makefile.all:19: src/JRI.jar] Error 2
**** WARNING: JRI could NOT be built
Set IGNORE=1 if you want to build rJava anyway.
ERROR: configuration failed for package 'rJava'
* removing 'C:/Users/bfcgl/OneDrive/Documents/R/win-library/3.6/rJava'
Warning in install.packages :
installation of package ‘rJava’ had non-zero exit status
I had the same problem (although installing for the first time on an old laptop) and can confirm that JDK 11 solved the problem
I still looking for the same problem resolution, meanwhile, I tried with Java JDK 11 and I succeed in RStudio. If this helps, try it. I will keep searching for the answer why the new version is not working.
Regards,

Smokeping make install error

i try to install newest version smokeping and get error when run "make install". I do everything as written on the official website.
make[1]: Entering directory '/home/artemto/smokeping-2.7.2/thirdparty'
echo "If the moduile install hangs, this may be because one of the modules expects you to press [return] without telling you ... just do it!"
If the moduile install hangs, this may be because one of the modules expects you to press [return] without telling you ... just do it!
GEN touch
! Installing FCGI failed. See /home/artemto/smokeping-2.7.2/thirdparty/work/1533497827.2903/build.log for details. Retry with --force to force install it.
CGI is up to date. (4.38)
CGI::Fast is up to date. (2.13)
Config::Grammar is up to date. (1.12)
! Configure failed for Socket6-0.28. See /home/artemto/smokeping-2.7.2/thirdparty/work/1533497827.2903/build.log for details.
IO::Socket::SSL is up to date. (2.056)
Digest::HMAC_MD5 is up to date. (1.01)
Net::Telnet is up to date. (3.04)
Net::OpenSSH is up to date. (0.77)
Net::SNMP is up to date. (v6.0.1)
! Installing Text::Soundex failed. See /home/artemto/smokeping-2.7.2/thirdparty/work/1533497827.2903/build.log for details. Retry with --force to force install it.
! Couldn't find module or a distribution GSSAPI
! Installing the dependencies failed: Module 'Text::Soundex' is not installed
! Bailing out the installation for perl-ldap-0.65.
Net::DNS is up to date. (1.15)
! Configure failed for IO-Tty-1.12. See /home/artemto/smokeping-2.7.2/thirdparty/work/1533497827.2903/build.log for details.
LWP is up to date. (6.33)
Authen::Radius is up to date. (0.26)
Path::Tiny is up to date. (0.104)
Makefile:410: recipe for target 'touch' failed
make[1]: *** [touch] Error 123
make[1]: Leaving directory '/home/artemto/smokeping-2.7.2/thirdparty'
Makefile:363: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
Problem solved, sorry for make this quickly post
apt install gcc
I get similar problem on Debian 9.5 and smokeping-2.7.2.tar.gz .
Installed the following packages prior to compilation and I assume some other package is missing but which?
apt-get install rrdtool curl perl make gcc
curl is already the newest version (7.52.1-5+deb9u6).
gcc is already the newest version (4:6.3.0-4).
make is already the newest version (4.1-9.1).
perl is already the newest version (5.24.1-3+deb9u4).
rrdtool is already the newest version (1.6.0-1+b2).
...
Successfully installed Data-HexDump-0.02
Successfully installed Authen-Radius-0.26
Successfully installed Path-Tiny-0.104
37 distributions installed
Makefile:410: recipe for target 'touch' failed
make[1]: *** [touch] Error 123
make[1]: Leaving directory '/home/cisadmin/smokeping/thirdparty'
Makefile:363: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
root#l-mog-horch:/home/cisadmin/smokeping#
EDIT
It works fine with 2.7.1 so something is wrong in the 2.7.2 package...

Make Julia Installing: it shows hashing.o not found?

I had installed Julia 0.4.5 with sudo apt install julia. Now I want to install the latest version of Julia v0.6.0. First I git clone the source code from the Github, then I install lots of the dependencies following the installing instruction. And all is fine.
When I start to make, waiting a long time, and it show:
Making install in TESTS
Making install in EXAMPLES
Making install in BAND
Making install in COMPLEX
Making install in NONSYM
Making install in SIMPLE
Making install in SVD
Making install in SYM
make[2]: *** No rule to make target '/home/yaoyu/julia/src/support/hashing.o', needed by '/home/yaoyu/julia/src/support/libsupport.a'. Stop.
Makefile:208: recipe for target 'support/libsupport.a' failed
make[1]: *** [support/libsupport.a] Error 2
Makefile:55: recipe for target 'julia_flisp.boot.inc.phony' failed
make: *** [julia_flisp.boot.inc.phony] Error 2
I have searched for answers in this web, while cann't find the way to fix it, I don't know what causes that ? Anyone konws how to correct it? Thanks a lot.

FreeBSD make error File 5.19 supports only version 12 magic files. /usr/share/misc/magic.mgc is version 8

I'm having trouble reinstalling ProFTPD on a FreeBSD 10.1 setup. The server is newly upgraded from 10.0 to 10.1. When I start the make install clean process, these warnings first shows on screen.
===> proftpd-1.3.5_4 depends on shared library: libpcre.so
/usr/share/misc/magic, 93: Warning: Printf format `l' is not valid for type `lelong' in description `, %ld pages'
...
/usr/share/misc/magic, 15118: Warning: Printf format `l' is not valid for type `belong' in description `Volume %ld,'
/usr/share/misc/magic, 15609: Warning: Current entry does not yet have a description for adding a MIME type
file: File 5.19 supports only version 12 magic files. `/usr/share/misc/magic.mgc' is version 8
[: =: unexpected operator
- not found
And after i while, the make process stops with this error:
/bin/ln -s libpcre.so.1 /usr/ports/devel/pcre/work/stage/usr/local/lib/libpcre.so.3
====> Compressing man pages (compress-man)
===> Installing for pcre-8.35_2
===> Checking if pcre already installed
===> pcre-8.35_2 is already installed
You may wish to ``make deinstall'' and install this port again
by ``make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of pcre
without deleting it first, set the variable "FORCE_PKG_REGISTER"
in your environment or the "make install" command line.
*** Error code 1
Stop.
make[3]: stopped in /usr/ports/devel/pcre
*** Error code 1
Stop.
make[2]: stopped in /usr/ports/devel/pcre
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/ftp/proftpd
*** Error code 1
Stop.
make: stopped in /usr/ports/ftp/proftpd
Seems that the file /usr/share/misc/magic.mgc is of a wrong version?
This might happens when I was upgrading from 10.0-RELEASE-p12 to 10.1-RELESE-p1?
If i run make install clean of the ProFTP port, and disable support for pcre, the process and install is successful.
But I believe that something is still broken?
My programming skills are limited, and also this level of error.
Please let me know if you have any ideas,
Thanks,
First of all, proftpd 1.3.5 is available as a binary package, it's much simpler to install it that way (pkg install proftpd).
Second - at first it looked like a port bug; as Etan said, there is a shell syntax error (something like '[ x == y ]' instead of '[ x = y ]'); those are common, and ports contain patches to fix those. However, there is a binary package, and packages are built from ports ("make package"), so port obviously does work on package build machines. So it's probably something specific to your environment.
If you really want to build from ports, try this: first, reinstall pcre. For some reason it had to be rebuilt, but failed to install, because it's already installed. So, "cd /usr/ports/*/pcre && make clean all deinstall reinstall". That should get rid of the second error. Then go back to "../*/proftpd" and see how far it goes.
But really, I'd try packages first. They have nothing in common with old pkg_add system, and are really nice.
freebsd-update diff for FreeBSD-SA-14:28.file seems wrong, and it breaks file(1).
Therefore simply pkg install file will be a workaround.

Fail Installation: OpenCV 2.4.6.1 on Mac OS X Mountain Lion

I am frustrated with installing OpenCV 2.4.6.1 on My MacBook Pro Mountain Lion, I've tried so many ways using MacPort, CMake, Cuda to no avail.
I followed the instruction from this site http://sadeepj.blogspot.sg/2012/03/installing-and-configuring-opencv-to.html to install and configure OpenCV in MacOS X. However, when I run in the command line '$ make' it always results in error at [30%].
[ 30%] Building CXX object modules/core/CMakeFiles/opencv_perf_core.dir/perf/perf_main.cpp.o
/Users/yonasstephen/Downloads/opencv-2.4.6/modules/core/perf/perf_main.cpp:3:1: error: multiple unsequenced modifications to 'argc' [-Werror,-Wunsequenced]
CV_PERF_TEST_MAIN(core)
^~~~~~~~~~~~~~~~~~~~~~~
/Users/yonasstephen/Downloads/opencv-2.4.6/modules/ts/include/opencv2/ts/ts_perf.hpp:501:5: note: expanded from macro 'CV_PERF_TEST_MAIN'
CV_PERF_TEST_MAIN_INTERNALS(modulename, plain_only, __VA_ARGS__)\
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/yonasstephen/Downloads/opencv-2.4.6/modules/ts/include/opencv2/ts/ts_perf.hpp:480:12: note: expanded from macro 'CV_PERF_TEST_MAIN_INTERNALS'
while (++argc >= (--argc,-1)) {__VA_ARGS__; break;} /*this ugly construction is needed for VS 2005*/\
^ ~~
1 error generated.
make[2]: *** [modules/core/CMakeFiles/opencv_perf_core.dir/perf/perf_main.cpp.o] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_perf_core.dir/all] Error 2
make: *** [all] Error 2
Does anybody know how to resolve this?
Thank you very much in advance :)
I have figured out how to solve this and posted it here: https://sites.google.com/site/yonasstephenfyp2013/updates/tutorialinstallingopencvonmacosxmountainlion
the essence of solving this is using the right version of OpenCV. At the time I installed, the stable version was OpenCV 2.4.3. Don't go for the latest version because it might be compatible yet with the new MacOS OS
you could just skip the performance tests for now. (you can always build them later, once this got solved)
add:
-D BUILD_PERF_TESTS=OFF
to your cmake cmdline
[edit]
looks you're having issues #3191 and 3179
both of them are fixed in 2.4 now https://github.com/Itseez/opencv/pull/1228 , https://github.com/Itseez/opencv/pull/1244
when did you download the code ? might consider getting a fresh copy ?

Resources