DSO missing from command line Compiling TrueCrypt - gcc

I've been trying to compile truecrypt 7.1a on Debian Jessie 8.1.0 AMD64 for the past two days now. I have wxGTK2.8.12 source because Debian Jessie only have v3.0 packages. That's a problem because wxwidgets3.0 has protected wxstandardpaths so you have to use wxstandardpaths::get and truecrypt uses wxstandardpaths in application.cpp for example and it would return an error while compiling.
I'm not sure how to fix that so I went to option 2 compile wxgtk2.8.12 source using the truecrypt compile option # make WX_ROOT=/usr/src/truecrypt-7.1a-source/wxGTK-2.8.12 wxbuild. That completes then I do # make WXSTATIC=1 and I run into this error below. Even if I compile and install wxwidgets-2.8.12 myself I get this error. Maybe it's a x11lib issue?
^
Linking truecrypt
/usr/bin/ld:
/usr/src/truecrypt-7.1a-source/wxrelease/lib/libwx_gtk2u_core-2.8.a(corelib_utilsx11.o): undefined reference to symbol 'XGetWindowAttributes'
//usr/lib/x86_64-linux-gnu/libX11.so.6: error adding symbols: DSO
missing from command line collect2: error: ld returned 1 exit status
Main.make:107: recipe for target 'truecrypt' failed make[1]: ***
[truecrypt] Error 1 Makefile:268: recipe for target 'all' failed make:
*** [all] Error 2

Related

VLC 3.0.12/3.0.14 once command source build fails on macOS

Running mac osx 10.14.6 and have previously successfully built 3.0.10 and 3.0.11. Trying to build VLC 3.0.12 & 3.0.14 from source downloaded from here: http://www.videolan.org/vlc/download-sources.html
and using recommended build from here: https://wiki.videolan.org/MacOSCompile/ AND using the recommended:
../extras/package/macosx/build.sh -c
Build runs for about 20 minutes and then stops here (snip of output):
CCLD libprefetch_plugin.la
CCLD libhds_plugin.la
CCLD librecord_plugin.la
ld: library not found for -lzstd
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [libarchive_plugin.la] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
mysystem:build xx$
What am I missing or doing wrong?
Note: in previous builds I could find a cmake/Utilities/cmzstd/lib directory in vlc-3.0.x/extras/tools that had various zstd files however it is not there in either 3.0.12 or 3.0.14 - only a cmake-enable-ALPN-support-on-macOS-109.14.patch file.
Where do I find zstd? Thanks.
Seems the issue is related to how macOS and packagers (homebrew, etc.) load components. macOS provides a compiled version of libarchive but no headers, so you are unable in trying to compile. You will either need to pass the location of your libarchive respository with headers via your build script or set an environment variable telling the compiler or linker where to look for them. Perhaps someone more familiar with your VLC package can weigh in.

nvcc fatal : Unknown option 'pthread'

I am trying to install Elemental. I cloned it from the GitHub directory. Made a build directory and ran cmake command in it. But when I do a make, it shows the following error message:
[ 73%] Linking CUDA device code
CMakeFiles/EntrywiseMap.dir/cmake_device_link.o
nvcc fatal : Unknown option 'pthread'
tests/CMakeFiles/EntrywiseMap.dir/build.make:99: recipe for target
'tests/CMakeFiles/EntrywiseMap.dir/cmake_device_link.o' failed
make[2]: *** [tests/CMakeFiles/EntrywiseMap.dir/cmake_device_link.o]
Error 1
CMakeFiles/Makefile2:1506: recipe for target
'tests/CMakeFiles/EntrywiseMap.dir/all' failed
make[1]: *** [tests/CMakeFiles/EntrywiseMap.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
I am using ubuntu 18, with cuda 10 and cmake version 3.13.4
What's the version of Cmake? This issue seems to be on CMake 3.12 and fixed on CMake 3.13
For me moving to the newer version of CMake 3.14.0 helped get past the issue.

Compiling Makefile on Mac vs Linux

I compiled my makefile for my C++ program on my Mac and it compiled just fine. I tried doing the same thing on my Linux machine with the exact same files and got:
/usr/bin/ld: cannot find -lc++abi
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [allocate-asan] Error 1
I do not know how I can go about compiling this on my linux machine with this error. Any ideas?

error: /NVIDIA_CUDA-9.0_Samples$ make CUDA-9.1_Samples$ make CUDA-9.2_Samples$ make CUDA-9.3_Samples$ make

I've had CUDA Toolkit 9.0 correctly installed on Ubuntu 16.04 with the package manager-based method since both the two commands
cat /proc/driver/nvidia/version
nvcc -V
returne the right infomation. However, it fails to make correctly when I tried to compile the official example NVIDIA_CUDA-9.0_Samples.
io#msi:~/NVIDIA_CUDA-9.0_Samples$ make
The main output is
/usr/bin/ld: can't find -lcudart
collect2: error: ld returned 1 exit status
Makefile:334: recipe for target 'simpleMPI' failed
make[1]: *** [simpleMPI] Error 1
make[1]: Leaving directory '/home/io/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleMPI'
Makefile:52: recipe for target '0_Simple/simpleMPI/Makefile.ph_build' failed
make: *** [0_Simple/simpleMPI/Makefile.ph_build] Error 2
can anyone give me a hand? Thank you.
I think I've solved this problem. As I mentioned in the question, I've had CUDA Toolkit correctly installed in my computer, but it fails when execute
io#msi:~/NVIDIA_CUDA-9.0_Samples$ make
However, the following two commands
$ ~/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery/deviceQuery
$ ~/NVIDIA_CUDA-9.0_Samples/1_Utilities/bandwidthTest/bandwidthTest
gives correct response "Result = pass". It's ok to ignore the "make error" listed above- I think.

Building Artery on Ubuntu fails

When I try to build Artery on Ubuntu 16.04. the following happens after invoking
$ cmake --build /home/hardt/Veins/artery-master/build
[ 23%] Linking CXX shared library libartery.so
/usr/bin/ld: /usr/local/lib/libvanetza_btp.a(data_request.cpp.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared
object; recompile with -fPIC
/usr/local/lib/libvanetza_btp.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
src/artery/CMakeFiles/artery.dir/build.make:954: recipe for target'src/artery/libartery.so' failed
make[2]: *** [src/artery/libartery.so] Error 1
CMakeFiles/Makefile2:229: recipe for target 'src/artery/CMakeFiles/artery.dir/all' failed
make[1]: *** [src/artery/CMakeFiles/artery.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
As I am not all that familiar with building source on Unix systems I am not quite sure how to deal with this error.
I am using cmake version 3.9.3, boost 1.65.1 and crypto++ 5.6.4 the geographiclib built without error as well.
As one can read in the comments, the problem is solved.
The path to the vanetza directory VANETZA_DIR in the cmake configuration was wrong. Correcting this via ccmake solved the problem.

Resources