Linking error when trying to compile on a shared drive
Solution 1
This happens, because vfat
type filesystems don't support symlinks. Mount flags won't change this situation.
I'm not familiar with CMake, but I suppose you are using some kind of rule in your makefile that is telling CMake to make a symbolic link to lib/libopencv_core.so.2.4.3
, which fails.
Solution 2
I ran into the same problem, because I was running on a virtual box instantiation of ubuntu (guest), but running in a shared folder to my mac (host).
Because symlinks are different on the mac, cmake failed. Moving the build directory to a ubuntu only folder (not shared with the mac) solved the problem.
Moral of the story- don't build in shared folders that cross platforms.
Related videos on Youtube
bubble
Updated on September 18, 2022Comments
-
bubble over 1 year
I am trying to compile the OpenCV library on a shared drive on my system. I was able to configure and generate makefiles successfully by using these settings, but when I try to compile I get the following error:
Linking CXX shared library ../../lib/libopencv_core.so CMake Error: cmake_symlink_library: System Error: Operation not permitted CMake Error: cmake_symlink_library: System Error: Operation not permitted make[2]: *** [lib/libopencv_core.so.2.4.3] Error 1 make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2 make: *** [all] Error 2
How do I resolve this issue?
I think it may be an issue with the mount flags. -
bubble over 11 yearswill it be possible if I ntfs system ? I need a file system which is compatible with windows also.
-
bender over 11 yearsWell, try to mount your
ntfs
drive, then create a file inside and then execute the following command in your terminal:ln -s /path-to-ntfs-drive/name-of-file /path-to-ntfs-drive/symlink-name
. If this works without an error, then I suppose you will be able to run CMake onntfs
drive. If you get an error, then verify that your drive is mounted viantfs-3g
driver (mount
will say thattype
isfuseblk
).