Transaction Check Error: /usr/lib64/libSPIRV-Tools-opt.so ... conflicts with ...

General support questions
desertcat
Posts: 843
Joined: 2014/08/07 02:17:29
Location: Tucson, AZ

Transaction Check Error: /usr/lib64/libSPIRV-Tools-opt.so ... conflicts with ...

Post by desertcat » 2019/09/18 02:20:56

GREAT!!! Just what I wanted: A BUG!!! I *almost* got CentOS 7.6 to roll over --> 7.7 and then I got an error message:

Running transaction check
Running transaction test

Transaction check error:
file /usr/lib64/libSPIRV-Tools-opt.so from install of vulkan-1.1.97.0-1.el7.x86_64 conflicts with file from package spirv-tools-libs-2019.1-1.el7.x86_64
file /usr/lib64/libSPIRV-Tools.so from install of vulkan-1.1.97.0-1.el7.x86_64 conflicts with file from package spirv-tools-libs-2019.1-1.el7.x86_64

This is a reported BUG!!!
https://bugzilla.redhat.com/show_bug.cgi?id=1745104
That said, they don't say HOW to work around it. One way would be to run yum remove /usr/lib64/libSPIRV-Tools-opt.so, but given that is located in /usr/lib64 that does not sound like a great plan.

Another way would be to run yum remove spirv-tools-libs-2019.1-1.el7.x86_64 , but I suspect that this goes with RHEL/CentOS 7.7

Both options SUCK!!! Any pragmatic suggestions would be welcome.

Thanks

desertcat
Posts: 843
Joined: 2014/08/07 02:17:29
Location: Tucson, AZ

[SOLVED] Transaction Check Error: /usr/lib64/libSPIRV-Tools-opt.so ... conflicts with ...

Post by desertcat » 2019/09/18 05:09:07

This can now be marked SOLVED!!!

It took a bit of hacking but the trick was to find common links. The Common link is the program WINE, which seems to require Vulkan which points back to WINE, and WINE requires Vulcan. I really did NOT want to remove /usr/lib64/libSPIRV-Tools-opt.so and its twin sister /usr/lib64/libSPIRV-Tools.so , nor did I want to remove spirv-tools-libs-2019.1-1.el7.x86_64 . At first I went through the process of running yum update plus a slew of --exclude=<program> options, until I fell over the --skip-broken option. I then started by running yum remove wine -- a SINGLE program that had no pointers, when it asked if I wanted to remove the program I said N; I then ran yum remove vulkan to see where it pointed to, and it pointed to WINE!! When it asked if I wanted to Remove I said N. I then ran yum remove wine, but this time I said Y, and it removed just the one program. I then ran yum update again and this time it complained about Vulkan. I then ran yum remove vulcan, this time it wanted to remove about 12 dependencies that all referred to WINE.
Having removed both WINE and Vulkan, now when I ran yum update it sailed right on through.

I am not sure what, if anything, /usr/lib64/libSPIRV-Tools-opt.so and its twin sister /usr/lib64/libSPIRV-Tools.so are used for, other than Vulkan; nor am I sure what, if anything spirv-tools-libs-2019.1-1.el7.x86_64 other than Vulkan which points back to WINE. IF you have WINE installed on your machine when you roll over from CentOS 7.6 --> CentOS 7.7 there is a good chance you will encounter a Transaction Check Error message. The problem still exits, but by removing the two programs -- WINE and Vulcan -- you cut any reference between the /usr/lib64/libSPIRV-Tools- and spirv-tools-libs-2019.1-1.el7.x86_64 .

Finally a small note: I have yet to play with 7.7 so far, but with the exception of this small annoyance which took several hours to solve, this has been a relatively clean roll over -- so far-- it did not take me several DAYS or WEEKS to get the roll over to the point it could be used, with or without a work-around. That I did not have to punt and re-install 7.6 from my BACKUPS is thrilling!!

om77
Posts: 1
Joined: 2019/09/19 10:48:13

Re: Transaction Check Error: /usr/lib64/libSPIRV-Tools-opt.so ... conflicts with ...

Post by om77 » 2019/09/19 11:04:19

It's absolutely shouldn't be the case when two rpm packages (spirv-tools-libs-2019.1-1.el7 and vulkan-1.1.97.0-1.el7) contain the same files.
Regardless of who wants that files libSPIRV-Tools-opt.so and libSPIRV-Tools.so should be included into vulkan.
And regardless of reason for this.
The vulkan packagers are responsible for this issue.
It should be managed in some different way.
E.g. create a package with the name like vulkan-develop-ext with these excess addons.

For now this issue just means that WINE can't be installed at all.
The workaround which I found so far is:
- download vulkan rpm
- use rpmrebuild to remove all the references to libSPIRV-Tools-opt.so and libSPIRV-Tools.so from it
- use yum localinstall for this modified vulkan rpm
- install wine

taylorkh
Posts: 534
Joined: 2010/11/24 15:08:33
Location: North Carolina, USA

Re: Transaction Check Error: /usr/lib64/libSPIRV-Tools-opt.so ... conflicts with ...

Post by taylorkh » 2019/09/19 17:43:12

A very nice writeup desertcat,

However, as I read your posts, it is necessary to loose access to wine in order to upgade to 7.7 Is that correct or am I missing something?

Thanks,

Ken

desertcat
Posts: 843
Joined: 2014/08/07 02:17:29
Location: Tucson, AZ

Re: Transaction Check Error: /usr/lib64/libSPIRV-Tools-opt.so ... conflicts with ...

Post by desertcat » 2019/09/19 20:58:05

taylorkh wrote:
2019/09/19 17:43:12
A very nice writeup desertcat,

However, as I read your posts, it is necessary to loose access to wine in order to upgade to 7.7 Is that correct or am I missing something?

Thanks,

Ken

Your timing could not be better. I asked my buddy who just finished updating his identical machine to mine to 7.7, and asked him if he had any conflicts and he said no. I asked him to if he had WINE installed and he did NOT. I asked him to install vulkan and he did -- NO PROBLEM. So I tried it and got the same transaction check error as before. Just for FUN I uninstalled spirv-tools-libs-2019.1-1.el7.x86_64, and then tried to install vulkan, and it installed just fine. I then tried to reinstall WINE and got the transaction check error message. I had two questions I needed to answer:

1. Why did my buddy NOT get the Transaction check error message, and why did I?
2. How did I end up with the spirv-tools-libs-2019.1-1.el7.x86_64 package installed and he did not?

The answer is WINE. I had previously had installed a package, probably to run a chess program (I play chess). WINE was upgraded at the same time as the rest of my system was upgraded. I then looked at the 1 Package (+12 Dependent packages) that WINE wanted to install. In the Dependent packages it wanted to install I found my answers. One DEPENDENT package that WINE needs is libvkd3d, a second DEPENDENT package that WINE needs is: spirv-tools-libs-2019.1-1.el7.x86_64... which explains HOW it ended up on my machine an not his -- it ended being added when WINE was updated. The other 10 packages are all WINE related.

Which brings us back to vulkan. What is vulkan? To be specific vulkan-1.1.97.0-1.el7.x86_64 is a program being developed by the Khronos group being jointly developed by several companies. Vulkan is a low-overhead, cross-platform 3D graphics and computing API. Vulkan targets high-performance realtime 3D graphics applications such as video games and interactive media across all platforms.... Which, I suspect is where WINE comes in -- WINE: Windows Emulator. And what is Windows primarily used for? GAMING!!

So how does Vulkan differ from OpenGL? Vulkan is the new generation, open standard API for high-efficiency access to graphics and compute on modern GPUs. It is sometimes referred to as the Next Generation OpenGL. Vulkan is a new API for hardware-accelerated graphics (and general computation) via traditional GPUs. While allegedly OpenGL will continue to be developed, as it is a higher-level API than Vulkan is intended to be, I suspect the low overhead, cross-platform 3-D graphics is being targeted at a certain market: Smartphones!!! That and high end 3-D graphics games. Just my guess.

Until I rolled over my machine from CentOS 7.6 to CentOS 7.7 I had never heard of Vulkan, let alone what it was good for, but somehow had ties to WINE . vulkan is installed in the base repo; while WINE and its DEPENDENT, including the cursed libvkd3d and spirv-tools-libs-2019.1-1.el7.x86_64 packages are installed in the epel repo. To answer your question if you upgrade to 7.7 you *will* loose access to WINE... MAYBE!! I say MAYBE because you *will* loose WINE if and only if it gets UPGRADED, which *will* happen IF you update to 7.7, BUT there might be a way to work around it, and something you might want to play with: Either don't upgrade WINE (which *will* happen automatically), OR DROP BACK TO THE OLDER VERSION OF WINE. Will this work?!? I haven't a clue. I know that Skype in its current version 8.52. da, da, da does NOT work,is unusable (unless it has been fixed in 7.7) BUT 8.50. dah, dah, dah DOES work. Solution: Drop back to 8.50. dah, dah, dah. This same solution might also work for WINE. Simply drop back to an older version!

Sorry for the lengthy post, but cats are "curious" creatures, and I needed to know WHAT this "vulkan" , WHY it referred to WINE, and HOW did I end up with that cursed spirv-tools-libs-2019.1-1.el7.x86_64, and how it related to the /usr/lib64/libSPIRV-Tools-opt.so and /usr/lib64/libSPIRV-Tools.so. If you play around with this idea please post us your findings. I'm curious.

D'cat

taylorkh
Posts: 534
Joined: 2010/11/24 15:08:33
Location: North Carolina, USA

Re: Transaction Check Error: /usr/lib64/libSPIRV-Tools-opt.so ... conflicts with ...

Post by taylorkh » 2019/09/19 22:54:45

This reminds me of installing VLC on CentOS 6. Had sort of what is referred to in the database world as a deadly embrace. One library needed by VLC came from package A which required package B. A library in package B was incompatible with a library from package A. A kind person over on the Scientific Linux forum had some sort of magical mystical incantation which managed to fix it.

As to wine - recall that WINE Is Not an Emulator :D I use it for Visual FoxPro (I have data in xBase format going back 30+ years which I still access), Forte' Agent (a Usenet reader which I have used for 20+ years) and GrabIt (an NZB downloader). None of these require anything beyond simple 2D graphics. I have the 32 bit version of Wine 3 installed (FoxPro and I think GrabIt need the 32 bit version). I have wine and a couple of its dependencies excluded in /etc/yum.conf but that still did not help.

I upgraded a non-wine machine from 7.6 to 7.7 and then tried to install wine 4 - 32 bit. I got the referenced error. I may play around with installing vulkan and whatever installs spirv-tools and then try to install wine with the dependencies already met. If not... GrabIt runs on one dedicated machine. I can change it to another OS with no big deal other than the usual install and configure PITA. As to the other programs... I have a CentOS 7 virtual machine with wine and FoxPro built back when wine 1.8 on CentOS 7 caused some real strange and obscure issues when FoxPro tried to pseudo compile a program file. I can use that or build a VM with a different OS and use it for FoxPro and Agent.

I will let you know what if anything I figure out.

Ken

User avatar
bluegroper
Posts: 266
Joined: 2005/09/07 23:04:21
Location: .au

Re: Transaction Check Error: /usr/lib64/libSPIRV-Tools-opt.so ... conflicts with ...

Post by bluegroper » 2019/09/20 22:06:46

I'm also experiencing this error.
Some more useful info at https://bugzilla.redhat.com/show_bug.cgi?id=1745104
I'm not a complete idiot. There's still a few pieces missing.

taylorkh
Posts: 534
Joined: 2010/11/24 15:08:33
Location: North Carolina, USA

Re: Transaction Check Error: /usr/lib64/libSPIRV-Tools-opt.so ... conflicts with ...

Post by taylorkh » 2019/09/24 01:10:37

My first thought was to download the source for vulkan and spirv-tools, dork around with them so they required the same version of the offending library, compile and install before upgrading. I have worked with the old simple make; make install sort of source but this code was beyond me for the moment.

I next fell back on my Piñata method of troubleshooting. Tie the problem up in a bag, hang if from the ceiling, beat it with a stick and see what falls out. My requirements came out as:

1 - upgrade CentOS 7.6 to 7.7 for security reasons etc.
2 - have wine32 available to run a handful of ancient Windoze programs
2a - win32 probably needs to be version 3 or higher (3 works on 7.6 and 4 works on Ubuntu 18.04)

Considering I never throw anything away I have 3 sets of rpm files for win32 version 3. One which I compiled, one from a fellow in the Ukraine and the third from harbottle's repo https://gitlab.com/harbottle/wine32.

I started with a test PC running CentOS 7.6 without wine. I upgraded it to 7.7. I then did a localinstall of the harbottle rpms. Wine installs fine and seems to work. So far I have tested Visual Foxpro and it seems to work fine.

For my next trick I will take a machine with CentOS 7.6 and wine, remove wine but leave my wine configuration, upgrade to 7.7 and then attempt to re-localinstall wine. I will try to get to this tomorrow and will post my results.

Ken

StevenD57
Posts: 8
Joined: 2019/09/24 04:17:23

Re: Transaction Check Error: /usr/lib64/libSPIRV-Tools-opt.so ... conflicts with ...

Post by StevenD57 » 2019/09/24 04:21:52

I too am experiencing this same problem when trying to install wine.
I tried this solution of enabling the harbottle repo and trying to install wine.686 on Centos 7 but it still gives the same exact error about spirv and vulcan.

I do not have either package installed.

# rpm -qa|grep -i spirv
# rpm -qa|grep -i vulcan

but I still get:

Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-harbottle-wine32
Importing GPG key 0x540ECF1B:
Userid : "Richard Grainger <grainger@gmail.com>"
Fingerprint: d4da 5961 dab3 1153 c4d8 14f8 d997 d6f5 540e cf1b
Package : wine32-release-7-3.el7.harbottle.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-harbottle-wine32
Running transaction check
Running transaction test

Transaction check error:
file /usr/lib/libSPIRV-Tools-opt.so conflicts between attempted installs of spirv-tools-libs-2019.1-1.el7.i686 and vulkan-1.1.97.0-1.el7.i686
file /usr/lib/libSPIRV-Tools.so conflicts between attempted installs of spirv-tools-libs-2019.1-1.el7.i686 and vulkan-1.1.97.0-1.el7.i686

desertcat
Posts: 843
Joined: 2014/08/07 02:17:29
Location: Tucson, AZ

Re: Transaction Check Error: /usr/lib64/libSPIRV-Tools-opt.so ... conflicts with ...

Post by desertcat » 2019/09/24 08:33:03

:lol:
taylorkh wrote:
2019/09/24 01:10:37
My first thought was to download the source for vulkan and spirv-tools, dork around with them so they required the same version of the offending library, compile and install before upgrading. I have worked with the old simple make; make install sort of source but this code was beyond me for the moment.

I next fell back on my Piñata method of troubleshooting. Tie the problem up in a bag, hang if from the ceiling, beat it with a stick and see what falls out. My requirements came out as:

1 - upgrade CentOS 7.6 to 7.7 for security reasons etc.
2 - have wine32 available to run a handful of ancient Windoze programs
2a - win32 probably needs to be version 3 or higher (3 works on 7.6 and 4 works on Ubuntu 18.04)

Considering I never throw anything away I have 3 sets of rpm files for win32 version 3. One which I compiled, one from a fellow in the Ukraine and the third from harbottle's repo https://gitlab.com/harbottle/wine32.

I started with a test PC running CentOS 7.6 without wine. I upgraded it to 7.7. I then did a localinstall of the harbottle rpms. Wine installs fine and seems to work. So far I have tested Visual Foxpro and it seems to work fine.

For my next trick I will take a machine with CentOS 7.6 and wine, remove wine but leave my wine configuration, upgrade to 7.7 and then attempt to re-localinstall wine. I will try to get to this tomorrow and will post my results.

Ken
:lol: BRAVO!!!! Probably you have moss growing on one side of you: "Dork around"?? Old school!!! "Compile and re-compile" programs -- unless you are a devel ( :twisted: :lol: ) -- that is almost a lost art. Unfortunately I actually *remember* those by-gone days (SHUDDER!!)

"I next fell back on my Piñata method of troubleshooting. Tie the problem up in a bag, hang if from the ceiling, beat it with a stick and see what falls out."

Your word-smithing is greatly appreciated!!!

Author!! Author!! Please stand up and take a bow!!!

It is raining right now and when it rains I get MIGRAINES!!! Time to cut my nocturnal prowling short, take some drugs, and go to sleep. “To die, to sleep – to sleep, perchance to dream – ay, there’s the rub, for in this sleep of death what dreams may come…” (Hamlet).

I salute you, Sir!! If we shadows have offended,/Think but this, and all is mended,/That you have but slumber'd here/While these visions did appear./And this weak and idle theme,/No more yielding but a dream,/Gentles, do not reprehend: /if you pardon, we will mend: /And, as I am an honest Puck, /If we have unearned luck / Now to 'scape the serpent's tongue, /We will make amends ere long; /Else the Puck a liar call; /So, good night unto you all. /Give me your hands, if we be friends, /And Robin shall restore amends. (A Midsummer Nights Dream)

D'Cat

Post Reply