I am trying to try Trilinos that need MPI. I installed OpenFOAM with its 3rd party Library including OpenMPI 2.1.1
Then I try Trilinos example and it stated it needs libmpi.so.40 which means it needs OpenMPI-4.x.x
I install OpenMPI-4.1.4, I delete the OpenMPI-2.1.1 but when I type:
mpicc --showme
it still look for configuration file from OpenMPI-2.1.1
If anyone knows how to make sure the command for mpicc mpiCC mpirun to look only at the installed path of OpenMPI-4.1.4 ?
Thank You
I have put explanation here (opening an issue at Trilinos related to MPI error)
https://github.com/trilinos/Trilinos/issues/10582
Picture attached below:
mpicc error
Related
Background: I compile bitcoind on one system but run it on another. When I compiled bitcoind 0.19.1 some time back using the following method, I was able to run bitcoind and bitcoin-cli on the target system without issue. I think.
./autogen.sh
./configure --disable-wallet --disable-tests --disable-bench --disable-gui --enable-util-tx=no --prefix=$HOME/bitcoind/x64 --exec-prefix=$HOME/bitcoind/x64
make && make install
Today I compiled v0.20.0 using the same method. If I run ./bitcoind -version on the system I compiled the binary it runs fine, but if I take the binary to my target system I get the following error:
./bitcoind: error while loading shared libraries: libboost_filesystem.so.1.67.0: cannot open shared object file: No such file or directory
The binary seemed to be portable last time, and the pre-compiled binary I download from the Bitcoin Core team runs fine.
Note that on the target system libboost-filesystem-dev and libboost-filesystem1.67-dev are not installed, this is likely the source of my error. That said, running the pre-compiled binary from the Core team runs, so why doesn't mine?
Can someone help me understand if I did something wrong or if I need to add ./configure flags to make the binary more portable? Specifically what I likely did differently than the core developers that made my binary fail where theirs worked?
EDIT 1: Running ./configure --enable-static or ./configure LDFLAGS=-static does not result in a portable binary either.
Also note that installing libboost-filesystem library with apt does fix the error.
Thanks to Andrew Chow for his helpful answer to this on the bitcoind StackExchange. I needed to build the depends as per the depends documentation. Since I'm building for the same platform I'll be running on, I can run make in the depends directory with no arguments except -j2 which uses two cores. Change the number to however many cores you want to commit to the compile.
cd depends
make -j2
cd ..
./autogen.sh
./configure --prefix=$PWD/depends/x86_64-pc-linux-gnu
make -j2 && make install
I am trying to get a program running. I installed grpc-java in one of my folders on linux. I did ../gradlew publishToMavenLocal for grpc-java and it was successful but I don't find anything generated in /usr/local. How to resolve the compile error below and make sure java-plugin is found? Any pointers? I am new to linux.
compiling route
/usr/local/grpc/java-plugin-1.15.0/exe/java_plugin/protoc-gen-grpc-java: program not found or is not executable
--grpc-java_out: protoc-gen-grpc-java: Plugin failed with status code 1.
grpc is not executable binary (it is a library). anyways, the output of publishToMavenLocal should be in ~/.m2/ directory if you haven't override default.
if you want to compile grpc, please read COMPILING.md.
i recommend to follow https://grpc.io/docs/quickstart/java/
I've install a program in Centos 6.8, While running the program, I receive error
"error while loading shared libraries: libm.so.6: cannot open shared object file: No such file or directory"
when I checked the linked library to the program using ldd command, I can see libm.so.6 with correct 64bit
"libm.so.6 => /lib64/libm.so.6 (0x0000003a19000000)"
That means, library is installed and already added in environment variable, LD_LIBRARY_PATH
Another program, which uses libm.so.6, works fine.
Can anyone help to solve this problem ?
Thanks
In programming, details matter.
Lets say, The program which I am trying to run is ABC and install
This is not details, this is a hypothetical. If you want useful answers, you should supply actual details that you are asked for. In particular, edit your question (instead of commenting on a different useless answer), and do this: "show the ldd command you actually ran, and its actual output."
That said, if ldd /usr/local/ABC/bin/ABC really does show libm.so.6 => /lib64/libm.so.6, then there is no way for ABC to not find libm.so.6.
Therefore we must conclude that ABC invokes some other program, and that program fails to find libm.so.6. You can confirm this guess by running:
LD_DEBUG=files,libs /usr/local/ABC/bin/ABC
This will show that ABC does find libm.so.6, what other program it invokes, and where that other program looks for libm.so.6.
It is likely that the other program is 32-bit, and looks for /lib/libm.so.6, and that you don't have 32-bit runtime libraries installed.
You can install them with yum install glibc.i686 or some such.
I'm trying to add Coverity Scan static analysis to my Qt project but I'm not able to get the result.
I download the coverity scan build tools and use the following command line:
cov-build --dir cov-int make
Which produces the following log:
...
my build log
...
[WARNING] No files were emitted. This may be due to a problem with your configuration
or because no files were actually compiled by your build command.
Please make sure you have configured the compilers actually used in the compilation.
For more details, please look at:
/Users/martin/dev/builds/ConsoleTest01-Desktop_Qt_5_3_clang_64bit-Debug/cov-int/build-log.txt
How can I go further?
I'm using Qt 5.3.2 under MacOS 10.9.
I didn't read the docs carefully enough: https://scan.coverity.com/download?tab=cxx
I had to configure coverity first by running:
cov-configure --comptype clangcxx --compiler clang++ --template
You need to run qmake first, then you can run the cov-int command with make.
I found it easiest to run cov-int in my build- folder created by Qt-Creator.
My programming experience is about 1 year of C/C++ experience from high school, but I did my research and wrote a simple program with OpenCL a few months ago. I was able to compile and run this on an Apple computer relatively easily with g++ and the --framework option. Now I'm on my Ubuntu machine and I have no idea how to compile it. The correct drivers have been downloaded along with ATI's Stream SDK (I have an ATI Radeon HD5870). Any help would be appreciated!
Try
locate libOpenCL.so
If it is in one of the standard directories (most likely /usr/lib, or /usr/local/lib) you need to replace "--framework OpenCL" with "-lOpenCL". If g++ cannot find the lib you can tell g++ to look in a specific directory by adding "-L/path/to/library".
I wish I had my Linux to be more helpful... It is probably best if you redownload the ati-stream-sdk, after extracting it, open the Terminal and "cd /path/to/extracted/files"; in that directory execute make && sudo make install
make you probably know this from windows, this compiles, whatever needs to be compiled
&& chains commands together, the following commands will only be executed if the first command succeeded
sudo make install this will put the files in the expected places (sudo executes a command with superuser priviledges, you will have to enter your password)
Hope that helps.
You might be missing the dynamic libraries from the dynamic linker configuration.
Search for where the libraries are. Most likely /usr/lib, or /usr/local/lib.
Make sure the path location is also configured at one of these places:
LD_LIBRARY_PATH - you can set it in you environment shell, like .bashrc
/etc/ld.so.conf - you will need to call ldconfig to update the cache and it requires root access to change the file.
Reason
Aside from #bjoernz, my system can't find the libOpenCL.so file
It's because the correct file directory is missing
After searchig over the internet, I found out that libOpenCL.so file can provided by ocl-icd-opencl-dev package
Solution
You just need to install the package mentioned above by typing into cmd
sudo apt update
sudo apt install ocl-icd-opencl-dev
Therefore, libOpenCL.so can be found under /usr/lib/x86_64-linux-gnu/ folder
My System Information
OS: Ubuntu 16.04 LTS
GPU: NVIDIA GeForce GTX 660
GPU Driver: nvidia-375
OpenCL: 1.2
Reference:
[1] How to install libOpenCL.so on ubuntu
[2] How to set up OpenCL in Linux