cmake错误的解决

cmake build时出现错误:

van@ubuntu:~/workspace$ cmake -DCMAKE_INSTALL_PREFIX=/usr ..
Inconsistency detected by ld.so: dl-version.c: 224:_dl_check_map_versions: Assertion `needed != ((void *)0)' failed!

逛遍stackoverflow基本上都是从环境变量着手,如:

van@ubuntu:~/workspace$ export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1

如上操作,shell执行命令后出现以下错误:

cmake: /usr/local/lib/libcurl.so.4: no version information available (required by cmake)
CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
/home/van/opensource/tufao/build
CMake Error: Error executing cmake::LoadCache(). Aborting.

第一条可能是libcurl在lib目录下的版本有问题,根据提示执行以下命令

van@ubuntu:~/workspace$ sudo mv /usr/local/lib/libcurl.so.4 /usr/local/lib/libcurl.so.4.bak
sudo ln  /usr/lib/x86_64-linux-gnu/libcurl.so.4  /usr/local/lib/libcurl.so.4

经测试,第一条错误消失

后面的意思看起来是找不到cmake的路径,用/usr/bin/cmake全路径命令代替cmake试一下,OK!正常运行,那么问题解决的思路就出来了:1.设置环境变量CMAKE_ROOT到/usr/bin下,2.在环境变量指定的目录下创建一个指向/usr/bin的软连接。

这里考虑到尽量不影响cmake可能存在的其他模块,我们选择第二种方案:

sudo ln -s /usr/bin/cmake /usr/local/bin/cmake

请注意!这里一定要-s参数。

bingo!问题解决,看来还是自己琢磨的方法靠谱啊。
其实在这几个步骤之间,按照google的方法都尝试过,最后打算重装另一个版本的ubuntu的时候,转念想想还是再试一下。按照提示一条一条看看想想,大胆的假设,避免了一次重装系统的麻烦。

google过程中也学习到了一些利器,另立帖子。

你可能感兴趣的:(linux,小术)