簡體   English   中英

沖突的C ++庫

[英]Connflicting C++ libraries

我試圖在我的VM中安裝RPM,並且在yum install期間收到以下消息。

file /usr/lib64/libstdc++.so.6 from install of myPackage.x86_64 conflicts with file from package libstdc++-4.8.5-16.el7_4.2.x86_64
file /usr/lib64/libz.so.1 from install of myPackage.x86_64 conflicts with file from package zlib-1.2.7-17.el7.x86_64
file /usr/lib64/libgcc_s.so.1 from install of myPackage.x86_64 conflicts with file from package libgcc-4.8.5-16.el7_4.2.x86_64
file /usr/lib64/libgomp.so.1 from install of myPackage.x86_64 conflicts with file from package libgomp-4.8.5-16.el7_4.2.x86_64
file /usr/lib64/libgomp.so.1.0.0 from install of myPackage.x86_64 conflicts with file from package libgomp-4.8.5-16.el7_4.2.x86_64

我正在Centos7中運行,並且我很確定libstdc ++-4.8.5-16即將出現,因為我從Centos倉庫安裝了gdb(我正在安裝一組預打包的RPMS)。

有沒有辦法解決這些沖突? 例如,是否可以告訴gdb使用最新的libstdc ++庫?

無論您嘗試安裝哪種神秘軟件包,都表現不好。 它正在嘗試安裝某些共享庫文件,這些共享庫文件按權利由CentOS 7上的libstdc ++軟件包“擁有” 。Yum正確地拒絕了該神秘軟件包,因為這種行為。

您應與包裝作者聯系,並告知他們包裝不符合質量准則。 如果他們肯定在絕對要比在此環境中正式發行的軟件更新版本的libstdc ++ ,那么他們可以:

  • 使用devtoolset ,或
  • 靜態鏈接運行時 ,或者
  • 打包較新的共享庫, 但將其安裝在孤立的地方 ,該位置只能由神秘軟件使用。 除非您希望它引起怪異的運行時行為,否則它不能接管平台自己的程序包,因為系統上的所有其他C ++應用程序突然都與一些神秘的GCC運行時庫版本鏈接在一起。

如果不需要不同的共享庫版本,那么作者應該:

  • 首先要針對正式發行的庫進行構建,並且
  • 在它們的RPM的.spec文件中表示前提條件,例如, libstdc ++libgomp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM