Take the 2-minute tour ×

I am trying to compile 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

Please help to resolve. I think it may be an issue with the mount flags.

share|improve this question
add comment

1 Answer

up vote 3 down vote accepted

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.

share|improve this answer
will it be possible if I ntfs system ? I need a file system which is compatible with windows also. –  bubble Jan 4 '13 at 9:43
Well, 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 on ntfs drive. If you get an error, then verify that your drive is mounted via ntfs-3g driver (mount will say that type is fuseblk). –  bender Jan 4 '13 at 12:27
add comment

Your Answer


