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.

Reply via email to