Basic Component Compilation error on Ubuntu 14.04 - redhawksdr

I have installed Redhawk 1.10 on Ubuntu 14.04. I am now trying to install the basic components from the package on the github page.
I try building the SigGen component using ./reconf ./configure make make install.
During the compilation step I get the following error
/usr/bin/ld: SigGen-SigGen.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
Doing some searching it seems that it has something to do with linking the "libboost_system" library properly, but I do not know how to fix it.
I am running libboost-dev 1.54

The basic-components repository (https://github.com/RedhawkSDR/basic-components) is deprecated and the components have been broken out into individual repositories. Please checkout the up to date SigGen repository here: https://github.com/RedhawkSDR/SigGen
The latest commit of the SigGen repository (eb19c78d10e579d267d3f796f39eae922fc65f0b) builds for me on an Ubuntu 14.04 machine with a 1.10.0 framework.
The issue you are experiencing should have been fixed in the following commit, dated March 14, 2014:
commit db8d32c88a829272225a701752518c2b9a2a2a77
Author: Daniel Wille <daniel.wille#axiosengineering.com>
Date: Fri Mar 14 16:35:49 2014 -0400
Fix compilation error (missing boost system library when linking) on newer OSes
As an FYI, the fix that was made effects the Makefile.am file. In older commits, the Makefile.am had this line:
SigGen_LDADD = $(PROJECTDEPS_LIBS) $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB) $(INTERFACEDEPS_LIBS) $(redhawk_LDADD_auto)
While newer versions added the BOOST_SYSTEM_LIB as shown below.
SigGen_LDADD = $(PROJECTDEPS_LIBS) $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB) $(BOOST_SYSTEM_LIB) $(INTERFACEDEPS_LIBS) $(redhawk_LDADD_auto)

Related

CentOS yum fails with libcurl.so.4 error saying 'undefined symbol: libssh2_agent_disconnect'

I am using CentOS 7 and tried to use yum but it failed.
Earlier, I installed curl and other things, but it looks like the libcurl is making an error.
Whenever I try:
# yum
The result is:
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
/lib64/libcurl.so.4: undefined symbol: libssh2_agent_disconnect
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.7.5 (default, Apr 9 2019, 14:30:50)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://yum.baseurl.org/wiki/Faq
I tried removing the library, but it does not help.
Can anyone find the solution please?
The problem was a symbolic link issue.
The following commands solved it.
ldd -r /usr/lib64/libcurl.so.4
rm /usr/local/lib/libssh2.so.1
I looked if there is any broken symbolic link with the libcurl and I found one and removed it.

warning: compiler may be ABI-incompatible with PyTorch, but only with one specific project

I have a conda environment with pytorch 1.1.0 installed, compatible with python 3.6.8 and cuda10.0.
I ran some simple examples of pytorch with this environment - everything seems to work well.
I pulled a project from github, and I get the following warning
(I don't get this warning with the code examples I ran):
Your compiler (c++) may be ABI-incompatible with PyTorch!
I tried to ignore the warning and let the code run, but I get a segmentation fault.
I wanted to understand the issue and solve it, I started with verifying the gcc version:
running the command:
gcc --version I get gcc 4.8.4
but through python print(sys.version) it prints
[GCC 7.3.0]
why is there a difference?
and if there's a difference - why the project I pulled from github shows the warning and my example code does not?
I want to avoid upgrading gcc because I need to have compatible to my tensorflow environments as well.
thanks

Installing/compiling OpenFOAM on a server without admin privileges

I'm trying to install/compile OpenFOAM on a remote server. As I don't have the admin privileges I have to compile it from scratch. Following the instructions here, when I try to run
source ~/OpenFOAM/OpenFOAM-v1712/etc/bashrc
I get the error:
No completion added for /home/foobar/OpenFOAM/OpenFOAM-v1712/platforms/linux64GccDPInt32Opt/bin
I checked the ~/OpenFOAM/OpenFOAM-v1712/etc/bashrc definitely exists and it is intact. I also checked the /home/foobar/OpenFOAM/OpenFOAM-v1712/ folder and there are no such thing as platforms folder! I searched and the only place I could see a similar error message is here where the issue is old Bash. I tried bash --version returning version 4.3.48(1)-release (x86_64-pc-linux-gnu) which is more than 4.2 as seems to be required.
My system information:
When I run the uname -a command on the server this is what I get
Linux foobar 4.4.0-101-generic #124-Ubuntu SMP Fri Nov 10 18:29:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Looking into the possible required dependencies mentioned in this page, I checked the installed packages using the command apt list --installed | grep -i packageName, The packages installed are:
build-essential, flex, bison, cmake, zlib1g-dev, libboost-system-dev, libboost-thread-dev, libopenmpi-dev, openmpi-bin, gnuplot, libreadline-dev, libqt4-dev, libqt4-opengl-dev, freeglut3-dev,
And the ones not installed are:
libncurses-dev, libxt-dev, libqtwebkit-dev, libcgal-dev
which according to the installation page are not essential I suppose.
and checking the versions of the libraries installed:
mpirun --version --> (Open MPI) 1.10.2
gcc --version --> gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609
cmake --version --> 3.5.1
I would appreciate if could let me know
What is the problem and how I can solve it?
if not solvable, what are the alternative methods for me to have the OpenFOAM installed/compiled on the said server.
This is really embracing as it was just a wrong error! I was informed here that I could have ignored the error and go forward with compiling. Of course I couldn't compile the ParaVIEW/paraFoam as dependencies lack, but it is just a headless server without any GUI. So if you got this error just ignore it and go forwards with the compiling with:
./Allwmake
I have reported the issue here so they can fix it.
P.S. I reported this issue almost 9 month ago and now there is a new confusing message instead of the old one!
No completion added for /home/foobar/OpenFOAM/OpenFOAM-v1806/platforms/linux64GccDPInt32Opt/bin
... incorrect platform, or not yet compiled?

Installing an old version of gcc on linux-redhat

In order to compile an old-compiler I am using the gcc that is installed in my machine (gcc version 4.4.6).
The gcc v 4.4.6 compiler isn’t supporting some syntaxs that are in the old-compiler files and is issuing errors like : lvalue required as left operand, error: attempt to use poisoned...and so on.
the last time someone has compiled that old compiler they used gcc version 2.96.
So I downloaded some older version of gcc (3.0 – didn’t found 2.96) and try to build binaries from it.
However – my machines are x86_64 and the 3.0 compiler issuing an error :
Configuration x86_64-redhat-linux-gnu not supported
naturally - no x86_64 existed way back in those days.
any advise will be welcome.
update :
I have installed on vertualBox an old redhat version (5.7) that came with an old gcc compiler (3.4.6) and tried to compile the cross compiler.My host is - i386-redhat-linux. Now , I didn't get this message and the compilation of the cross compiler started, BUT, when it came to compile unwind-dw2.c file I got the next assembler error :
/tmp/ccAk3sX0.s: Assembler messages:
/tmp/ccAk3sX0.s:259: Error: unrecognized instruction `addi r11,low(r0,.L47),r11'
/tmp/ccAk3sX0.s:736: Error: unrecognized instruction `addi r3,low(r0,.L327),r3'
/tmp/ccAk3sX0.s:1226: Error: unrecognized instruction `addi r3,low(r0,.L317),r3'
/tmp/ccAk3sX0.s:1739: Error: unrecognized instruction `addi r3,low(r0,.L412),r3'
So I am stuck again ...
Install a really old Linux distribution in a virtual machine.
In your case it's easier to install old distribution than to to ply with the current one.
But if you have plenty of time you can try to find and install all needed dependencies. By the way risking with stability of current OS installation.

Compiling GLIBC-2.13 on Ubuntu 10.10 x86_64

When trying to compile glibc on ubuntu 10.10, x86_64, i get the error:
../misc/syslog.c: In function ‘__vsyslog_chk’:
../misc/syslog.c:123: sorry, unimplemented: inlining failed in call to ‘syslog’: function body not available
../misc/syslog.c:155: sorry, unimplemented: called from here
make[2]: *** [/home/daniel/src/b.c/misc/syslog.o] Error 1
Try this wiki about glibc build issues.
I just ran into the same issue but with 32-bit. When running the configure script, adding CFLAGS='-U_FORTIFY_SOURCE -O2' to the command line seems to work. You may need to add -mtune=i686 and -march=i686 in there too. But maybe not for 64 bit. The i686 seems to be another bug.
Whenever you want to rebuild something on Ubuntu that Debian already, you are almost always best of by starting with the original source package on Debian.
In this particular case you can start with this version from the Debian experimental branch. By using the source package, you ensure you have required build-dependencies and should minimize surprises.
Also, building in a chroot environment is a good way to do this and made easy by packages such as pbuilder and sbuild.
Edit: There are build logs but they don't contain one for amd64, presumably because the maintainers built on that locally. But you can look at i386, say, and see that it passed the error you had.

Resources