On Wed, Jun 21, 2023 at 07:25:38AM -0700, Nicholas Chisholm wrote: > I have managed to package FriCAS into an RPM package that can be installed > on the latest release of Fedora. It seems to work, but dnf (Fedora's > package manager) complains if one tries to simultaneously install fricas > with sbcl: > > Error: Transaction test error: > file /usr/lib/.build-id/68/d64617e248dcb4d7ee8fd841d1d8b3278179eb > conflicts between attempted installs of fricas-1.3.8-1.x86_64 and > sbcl-2.0.1-8.fc36.x86_64 > > I am trying to identify the source of the problem. AFAIK, files in the > .build-id folder have something to do with debugging. When they conflict, > it apparently means that one package has copied a binary present in another > package, possibly under a different name. > > See https://bugzilla.redhat.com/show_bug.cgi?id=1820370 > > *Does FriCAS copy some binary file(s) from SBCL*? I tried looking at the > files installed by both packages but I didn't find anything obviously > duplicated.
I look like bug (or limitation if you prefer this word) of tool that RedHat/Fedora uses. There is a binary copy involved, but in a sense it is unavoidable and inconsequential. Namely, FriCAS uses sbcl capability to create executable. sbcl-made executable consists of two parts: "loader" program and "core" part. Loader program is the same in all sbcl-created executables. Core part contains actual application code. I did not look deeply into details, but it seems that when creating an executable sbce simply copies loader part and appends core part. Anyway, compared to whole executable loader is small, but it is _only_ part that is visible to standard binary tools. To explan it a bit more, I have copied main FriCAS binary, that is FRICASsys and sbcl binary to the same directory. 'ls' shows that they are different: ls -l total 54516 -rwxr-xr-x 1 hebisch hebisch 53923736 Jun 21 18:43 FRICASsys -rwxr-xr-x 1 hebisch hebisch 1835440 Jun 21 18:43 sbcl Now, strip both binaries and look at result: ls -l total 688 -rwxr-xr-x 1 hebisch hebisch 345760 Jun 21 18:44 FRICASsys -rwxr-xr-x 1 hebisch hebisch 345760 Jun 21 18:44 sbcl and 'cmp' shows that they are the same. However, trouble with striping is that resulting small FRICASsys binary is broken, because 'strip' removed all application code. Anyway, to tools that look at ELF executable sections the two binaries appear identical, but they are significantly different. -- Waldek Hebisch -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/fricas-devel/ZJNc%2BX2YlQpiM9dn%40fricas.math.uni.wroc.pl.