gpt4 book ai didi

vim - 获取错误/usr/lib/../lib64/libSM.so : undefined reference to `uuid_unparse_lower@UUID_1.0' when trying to complie newest version of vim

转载 作者:行者123 更新时间:2023-12-04 22:13:16 26 4
gpt4 key购买 nike

我尝试在 Red Hat 6.6 上安装最新版本的 vim。
我使用下面的脚本来运行配置:

# change to folder where vim sources are
cd ~/vim

# here I compiled newest version of libuuid.
LIBDIR="/home/muellc1b/uuid/lib"


export LD_LIBRARY_PATH=$LIBDIR:$LD_LIBRARY_PATH # prepend to path
export LDFLAGS="-L$LIBDIR"
#export LIBS="-llibuuid.so"

./configure \
--prefix=/home/muellc1b/vim_installation
#LIBS="-l$LIBDIR" \
#LDFLAGS="-L$LIBDIR"

尝试运行 makefile 时,出现以下错误:
  gcc   -L/home/muellc1b/uuid/lib -L/usr/local/lib -Wl,--as-needed [...]   -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -lSM -lICE -lXt -lX11 -lSM -lICE  -lm -ltinfo -lelf -lnsl  -lselinux -lacl -lattr -lgpm
/usr/lib/../lib64/libSM.so: undefined reference to `uuid_unparse_lower@UUID_1.0'
/usr/lib/../lib64/libSM.so: undefined reference to `uuid_generate@UUID_1.0'
collect2: error: ld returned 1 exit status

有人可以指出我如何正确链接我的自定义库的解决方案吗?

最佳答案

如我所见,您得到了满意的 answer here解决方法是正常运行configure脚本,打开src/auto/config.mk ,并更改行 X_PRE_LIBS = -lSM -lICE -lXpmX_PRE_LIBS = -luuid -lSM -lICE -lXpm .然后做make .

我有完全相同的错误消息,但是在编译 PCL(点云库)时。该错误有不同的原因和不同的解决方案。我会在这里添加它,因为这个页面是在寻找解决方案时出现的 - 也许它会对某人有所帮助。

我的问题是在做 cmake .. 时之前 make它给出了这样的警告:

CMake Warning at cmake/pcl_targets.cmake:194 (add_library):
Cannot generate a safe runtime search path for target pcl_io because
files in some directories may conflict with libraries in implicit directories:

所有被引用的目录都在 anaconda3/lib 下.我忽略了它和 make给了我同样的错误 libSM.so: undefined reference to `uuid_unparse_lower@UUID_1.0'还有一些:)。解决方案是从路径中删除 anaconda lib 文件夹,然后重新构建。详细:
  • 删除构建目录并重新创建
  • echo $PATH并寻找 anaconda lib 目录
  • 复制上一步的 PATH 输出并删除对 anaconda 文件夹的引用
  • 执行 PATH=[MODIFIED_PATH]哪里[MODIFIED_PATH]是上一步的结果
  • 执行 echo $PATH再次看到anaconda目录已被删除
  • 在同一个终端窗口中再次构建项目

  • 现在该过程使用系统库,而不是 anaconda 并且编译成功。

    修改路径的示例:如果原始路径是 /home/you/anaconda3/bin:/usr/local/bin:/usr/sbin:/usr/bin那么修改后的就是 /usr/local/bin:/usr/sbin:/usr/bin
    注意!您可能不想永久更改 PATH(您的 anaconda 安装可能会停止工作),这就是为什么它是从终端而不是 .bashrc 文件完成的。

    关于vim - 获取错误/usr/lib/../lib64/libSM.so : undefined reference to `uuid_unparse_lower@UUID_1.0' when trying to complie newest version of vim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45584275/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com