记Gentoo升级mesa-17.1.10软件出现bug问题

10 篇文章 0 订阅
7 篇文章 0 订阅

最近在升级Gentoo时遇到问题了,在升级media-libs/mesa软件包时出现了编译错误

media-libs/mesa-17.1.10

我是从mesa-17.0.6升级上来的,在编译时报错,错误信息如下

/bin/sh ../../../libtool  --tag=CC   --mode=compile x86_64-pc-linux-gnu-gcc -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_TARNAME=\"mesa\" -DPACKAGE_VERSION=\"17.1.10\" -DPACKAGE_STRING=\"Mesa\ 17.1.10\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"17.1.10\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DYYTEXT_POINTER=1 -DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 -DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 -DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 -DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 -DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 -DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 -DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 -DMAJOR_IN_SYSMACROS=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -I. -I/var/tmp/portage/media-libs/mesa-17.1.10/work/mesa-17.1.10/src/gallium/auxiliary    -I/var/tmp/portage/media-libs/mesa-17.1.10/work/mesa-17.1.10/src/loader -I../../../src/compiler/nir -I/var/tmp/portage/media-libs/mesa-17.1.10/work/mesa-17.1.10/src/gallium/auxiliary/util -I/var/tmp/portage/media-libs/mesa-17.1.10/work/mesa-17.1.10/include -I/var/tmp/portage/media-libs/mesa-17.1.10/work/mesa-17.1.10/src -I/var/tmp/portage/media-libs/mesa-17.1.10/work/mesa-17.1.10/src/gallium/include -I/var/tmp/portage/media-libs/mesa-17.1.10/work/mesa-17.1.10/src/gallium/auxiliary -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -DUSE_SSE41 -DUSE_GCC_ATOMIC_BUILTINS -DNDEBUG -DTEXTURE_FLOAT_ENABLED -DUSE_X86_64_ASM -DHAVE_XLOCALE_H -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_STRTOD_L -DHAVE_DLOPEN -DHAVE_DL_ITERATE_PHDR -DHAVE_POSIX_MEMALIGN -DHAVE_LIBDRM -DGLX_USE_DRM -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DHAVE_X11_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DHAVE_WAYLAND_PLATFORM -DHAVE_DRM_PLATFORM -DHAVE_DRI3 -DENABLE_SHADER_CACHE -DHAVE_MINCORE -DHAVE_LLVM=0x0500 -DMESA_LLVM_VERSION_PATCH=0  -fvisibility=hidden -Werror=pointer-arith -Werror=vla -I/usr/include/libdrm -I/usr/lib64/llvm/5/include   -DLLVM_BUILD_GLOBAL_ISEL -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -march=native -O2 -pipe -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-prototypes -fno-math-errno -fno-trapping-math  -c -o gallivm/lp_bld_tgsi_info.lo /var/tmp/portage/media-libs/mesa-17.1.10/work/mesa-17.1.10/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c
make[4]: *** [Makefile:2337: gallivm/lp_bld_misc.lo] Error 1

这里看不出来太多具体的信息,换用makeopts=j1,获得了更详细的报错信息

gentoo ~ # makeopts=j1 emerge -av mesa

/var/tmp/portage/media-libs/mesa-17.1.10/work/mesa-17.1.10/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp: In member function ‘virtual void DelegatingJITMemoryManager::deregisterEHFrames(uint8_t*, uint64_t, size_t)’:
/var/tmp/portage/media-libs/mesa-17.1.10/work/mesa-17.1.10/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp:346:56: error: no matching function for call to ‘llvm::RTDyldMemoryManager::deregisterEHFrames(uint8_t*&, uint64_t&, size_t&)’
          mgr()->deregisterEHFrames(Addr, LoadAddr, Size);
                                                        ^
In file included from /usr/lib64/llvm/5/include/llvm/ExecutionEngine/SectionMemoryManager.h:20:0,
                 from /var/tmp/portage/media-libs/mesa-17.1.10/work/mesa-17.1.10/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp:64:
/usr/lib64/llvm/5/include/llvm/ExecutionEngine/RTDyldMemoryManager.h:73:8: note: candidate: virtual void llvm::RTDyldMemoryManager::deregisterEHFrames()
   void deregisterEHFrames() override;

可以看出来时llvm造成的编译错误,在网上百度了一下发现这是mesa-17.1.10的bug具体链接在这里
Bug 640650 - media-libs/mesa-17.1.10 - …/work/mesa-17.1.10/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp:346:56: error: no matching function for call to ‘llvm::RTDyldMemoryManager::deregisterEHFrames(uint8_t*&, uint64_t&, size_t&)’说的时目前mesa-17.1.10目前不支持llvm5.0—-fuck
咋整了也不可能不升级mesa吧,万一后面又出现包依赖问题就麻烦了,所以最终只能折中解决在emerge mesa的时候把llvm的use取消掉,等后面gentoo官方解决这个问题了再说吧。

echo “media-libs/mesa -llvm” > /etc/portage/package.use/mesa

然后再升级系统。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值