Build of Poco fails on Mac Catalina when linking libPocoCrypto.dylib - macos

I cloned the latest version of the Poco libraries source code on to my Mac and attempted to build it per the instructions using CMake. Everything proceeded fine until it reached a point where it was trying to link the libPocoCrypt.dylib library. Even though the C++ compilation worked with out error, the link resulted in the following output
ld: cannot link directly with dylib/framework, your binary is not an allowed client of /usr/lib/libcrypto.dylib for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libPocoCrypto.80.dylib] Error 1
make[1]: *** [Crypto/CMakeFiles/Crypto.dir/all] Error 2
make: *** [all] Error 2
Doing some research, I discovered that Apple doesn't want applications linking against its libcrypto library and thus, the resulting error messages. The question then is, what do I need to do here to make this work?

Related

Clang error following 'make' when building project from github

I'm building a project from github (https://github.com/marsicoLab/PROmiRNA) and have the following requirements on my mac (Big Sur 11.4); gcc 9.4, cmake 3.21.1, R 4.1.0.
After using cmake, which runs without error, I use make however this gives me the below errors:
clang: error: unable to execute command: Segmentation fault: 11
clang: error: clang frontend command failed due to signal (use -v to see invocation)
Apple clang version 12.0.5 (clang-1205.0.22.9)
Target: x86_64-apple-darwin20.5.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
clang: note: diagnostic msg: Error generating preprocessed source(s).
make[2]: *** [CMakeFiles/PROmiRNA.dir/PROmiRNA.cpp.o] Error 254
make[1]: *** [CMakeFiles/PROmiRNA.dir/all] Error 2
make: *** [all] Error 2
A lot of other questions online with the same issue refer to XCode but I don't have it installed and am not a developer myself so don't think I need it..?
If anyone has any suggestions I'd really appreciate it, thanks :)

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.

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.

Compiling GDAL/OGR with MinGW on Windows

I've been trying to link the GDAL library to qt-creator this last week, but have been having problems compiling the library in order to correctly link it.
I am getting this error
libtool: link: g++ .libs/gdalinfo_bin.o -o .libs/gdalinfo.exe -L/local64/lib /c/gdal-2.1.0/.libs/libgdal.a -lodbc32 -lodbccp32 -lz -lpthread -lws2_32
C:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/lib/../lib/libiconv.a(localcharset.o):localcharset.c:(.text+0x8): undefined reference to `__imp_GetACP'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [gdalinfo.exe] Error 1
make[1]: Leaving directory `/c/gdal-2.1.0/apps'
make: *** [apps-target] Error 2
After having so many problems with the compiler, I am unsure whether this is a problem with setup or whether I need to reconfigure something in the gdal library for windows/mingw consumption.
Can anyone help me with this?
EDIT: This may causing the problem, although I am unsure how to fix it
*** Warning: linker path does not have real file for library -lz.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libz and none of the candidates passed a file format test
*** using a file magic. Last file checked: C:/MinGW/mingw64/x86_64-w64-mingw32/lib/libz.a
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.
*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
Previous attempt lead me to believe that I needed the MinGW-64 version which was not designated by the GDAL instructions, so I used this tutorial to modify MinGW for 64 bit libraries
I would strongly suggest moving your development toolset to use MSYS2 and its package manager. It includes a ton of precompiled libraries, such as GDAL, so you don't have to spend time on trying to get those to compile.
Had the same problem. Solved it by by:
compiling ZLib,
placing zlib1.dll in MinGW/bin,
placing libz.a and libz.dll.a in MinGW/lib.

error while compiling gcc

I'm trying to compile gcc-code-assist which has the code completion feature in order to use it with emacs. However i have been getting this error message while compilinng
checking for exception model to use... configure: error: unable to detect exception model
make[1]: *** [configure-target-libstdc++-v3] Error 1
make[1]: Leaving directory `/home/dev/workspace/trash/gcc-code-assist-0.1-4.4.4'
make: *** [all] Error 2
I'm running Ubuntu 12.04 64bit
what can i do to overcome this problem
I found the right way to compile it ...
I really didn't have much knowledge of how to compile gcc (my first time)
after reading through the FAQ of building gcc I found the problem.
it turned out that I had to run the configure script and make from outside the source directory
( I called it gcc-build) so the directory list looked like this
gcc-source/
gcc-build/
then everything compiled smoothly
here's the link to the FAQ http://gcc.gnu.org/wiki/FAQ#configure

Resources