Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 803275 - dev-ml/findlib-1.9.1 - file collision with dev-ml/ocamlbuild-0.14.0-r1
Summary: dev-ml/findlib-1.9.1 - file collision with dev-ml/ocamlbuild-0.14.0-r1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo Team for the ML programming language family
URL: https://github.com/ocaml/ocamlfind/co...
Whiteboard:
Keywords: PullRequest
: 804495 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-07-21 21:39 UTC by Toralf Förster
Modified: 2022-02-18 18:08 UTC (History)
11 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,16.61 KB, text/plain)
2021-07-21 21:39 UTC, Toralf Förster
Details
dev-ml:findlib-1.9.1:20210721-213429.log (dev-ml:findlib-1.9.1:20210721-213429.log,12.28 KB, text/plain)
2021-07-21 21:39 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,281.60 KB, text/plain)
2021-07-21 21:39 UTC, Toralf Förster
Details
etc.portage.tar.bz2 (etc.portage.tar.bz2,24.62 KB, application/x-bzip)
2021-07-21 21:39 UTC, Toralf Förster
Details
logs.tar.bz2 (logs.tar.bz2,3.86 KB, application/x-bzip)
2021-07-21 21:39 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2021-07-21 21:39:22 UTC
 * Press Ctrl-C to Stop
 * 
 * dev-ml/ocamlbuild-0.14.0-r1:0::gentoo
 * 	/usr/lib64/ocaml/ocamlbuild/META
 * 
 * Package 'dev-ml/findlib-1.9.1' NOT merged due to file collisions. If

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.1_no_multilib_hardened-j3-20210719-130004

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-11.1.0 *
clang version 12.0.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm/12/bin
/usr/lib/llvm/12
12.0.1
Python 3.9.6
Available Ruby profiles:
  [1]   ruby26 (with Rubygems)
  [2]   ruby30 (with Rubygems) *
Available Rust versions:
  [1]   rust-bin-1.53.0 *
The following VMs are available for generation-2:
*)	AdoptOpenJDK 8.292_p10 [openjdk-bin-8]
Available Java Virtual Machines:
  [1]   openjdk-bin-8  system-vm

The Glorious Glasgow Haskell Compilation System, version 8.10.4
  HEAD of ::gentoo
commit b7d77df817760b484e214e32e92a7a85cd41413f
Merge: 31f9ab94336 9cdfa019afe
Author: Repository mirror & CI <repomirrorci@gentoo.org>
Date:   Wed Jul 21 21:21:37 2021 +0000

    Merge updates from master

emerge -qpvO dev-ml/findlib
[ebuild     U ] dev-ml/findlib-1.9.1 [1.8.1-r2] USE="-doc -ocamlopt -tk"
Comment 1 Toralf Förster gentoo-dev 2021-07-21 21:39:23 UTC
Created attachment 725515 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2021-07-21 21:39:24 UTC
Created attachment 725518 [details]
dev-ml:findlib-1.9.1:20210721-213429.log
Comment 3 Toralf Förster gentoo-dev 2021-07-21 21:39:26 UTC
Created attachment 725521 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2021-07-21 21:39:27 UTC
Created attachment 725524 [details]
etc.portage.tar.bz2
Comment 5 Toralf Förster gentoo-dev 2021-07-21 21:39:28 UTC
Created attachment 725527 [details]
logs.tar.bz2
Comment 6 Tupone Alfredo gentoo-dev 2021-07-22 06:24:10 UTC
I don't know how to handle automatically. New version of findlib provides directly META files for num and ocamlbuild, and does not provide them when building num and ocamlbuild.

You need to

emerge -C ocamlbuild
emerge -C num
emerge findlib
emerge ocamlbuild num
Comment 7 Neil Bothwick 2021-07-22 07:35:22 UTC
I don't have num installed but did have to emerge -C camlp4 to be able to install findlib without collisions.
Comment 8 vowstar 2021-07-22 12:46:36 UTC
(In reply to Tupone Alfredo from comment #6)
> I don't know how to handle automatically. New version of findlib provides
> directly META files for num and ocamlbuild, and does not provide them when
> building num and ocamlbuild.
> 
> You need to
> 
> emerge -C ocamlbuild
> emerge -C num
> emerge findlib
> emerge ocamlbuild num

This fixed my problem!
Comment 9 Tupone Alfredo gentoo-dev 2021-07-26 16:44:05 UTC
*** Bug 804495 has been marked as a duplicate of this bug. ***
Comment 10 Bernd Feige 2021-07-27 09:51:45 UTC
(In reply to vowstar from comment #8)
> (In reply to Tupone Alfredo from comment #6)
> > You need to
> > 
> > emerge -C ocamlbuild
> > emerge -C num
> > emerge findlib
> > emerge ocamlbuild num
> 
> This fixed my problem!

Well, here I had to remove dev-ml/camlp4 as well, but installing dev-ml/ocamlbuild-0.14.0-r1 gives me:
 * Detected file collision(s):
 * 
 * 	/usr/lib64/ocaml/ocamlbuild/META
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * dev-ml/findlib-1.9.1:0::gentoo
 * 	/usr/lib64/ocaml/ocamlbuild/META

So I needed to downgrade findlib to 1.8 and mask 1.9.
Comment 11 Tupone Alfredo gentoo-dev 2021-07-27 12:29:30 UTC
It is a bit strange.

I tested again:

with findlib-1.8.1
emerge -a ocamlbuild camlp4

echo "dev-ml/findlib" >> /etc/portage/package.accept_keywords/ml

emerge findlib (NOT merged for collision with dev-ml/ocamlbuild and dev-ml/camlp4)

emerge -C ocamlbuild camlp4

emerge findlib (this time is ok)

emerge -a ocamlbuild camlp4 (everything is ok)
Comment 12 Tupone Alfredo gentoo-dev 2021-07-27 12:31:57 UTC
(In reply to Bernd Feige from comment #10)

> Well, here I had to remove dev-ml/camlp4 as well, but installing
> dev-ml/ocamlbuild-0.14.0-r1 gives me:
>  * Detected file collision(s):
>  * 
>  * 	/usr/lib64/ocaml/ocamlbuild/META
>  * 
>  * Searching all installed packages for file collisions...
>  * 
>  * Press Ctrl-C to Stop
>  * 
>  * dev-ml/findlib-1.9.1:0::gentoo
>  * 	/usr/lib64/ocaml/ocamlbuild/META
> 
> So I needed to downgrade findlib to 1.8 and mask 1.9.

how did you reinstall dev-ml/ocamlbuild ? via bin package?
Comment 13 Bernd Feige 2021-07-29 06:26:10 UTC
(In reply to Tupone Alfredo from comment #12)
> (In reply to Bernd Feige from comment #10)
> 
> > Well, here I had to remove dev-ml/camlp4 as well, but installing
> > dev-ml/ocamlbuild-0.14.0-r1 gives me:
> >  * Detected file collision(s):
> >  * 
> >  * 	/usr/lib64/ocaml/ocamlbuild/META
> >  * 
> >  * Searching all installed packages for file collisions...
> >  * 
> >  * Press Ctrl-C to Stop
> >  * 
> >  * dev-ml/findlib-1.9.1:0::gentoo
> >  * 	/usr/lib64/ocaml/ocamlbuild/META
> > 
> > So I needed to downgrade findlib to 1.8 and mask 1.9.
> 
> how did you reinstall dev-ml/ocamlbuild ? via bin package?

Completely updated ~amd64 system here, no binary packages...
Comment 14 Matthew Marchese Gentoo Infrastructure gentoo-dev 2021-10-07 00:54:01 UTC
(In reply to vowstar from comment #8)
> (In reply to Tupone Alfredo from comment #6)
> > I don't know how to handle automatically. New version of findlib provides
> > directly META files for num and ocamlbuild, and does not provide them when
> > building num and ocamlbuild.
> > 
> > You need to
> > 
> > emerge -C ocamlbuild
> > emerge -C num
> > emerge findlib
> > emerge ocamlbuild num
> 
> This fixed my problem!

This worked for me too, although I did the following in order to not pull the packages into the @world set:

emerge -C ocamlbuild
emerge -u1 findlib
emerge -u1 ocamlbuild
Comment 15 Larry the Git Cow gentoo-dev 2021-10-07 01:45:28 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8cfd40d7cf6b67d78c9496ce0c0320562567e634

commit 8cfd40d7cf6b67d78c9496ce0c0320562567e634
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-10-07 01:43:05 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-10-07 01:43:45 +0000

    dev-ml/camlp4: fix collision with newer findlib
    
    Closes: https://bugs.gentoo.org/803275
    Signed-off-by: Sam James <sam@gentoo.org>

 dev-ml/camlp4/camlp4-4.05_p1-r1.ebuild                            | 8 +++++++-
 dev-ml/camlp4/{camlp4-4.09_p1.ebuild => camlp4-4.09_p1-r1.ebuild} | 8 +++++++-
 .../camlp4/{camlp4-4.10_p1-r1.ebuild => camlp4-4.10_p1-r2.ebuild} | 8 +++++++-
 dev-ml/camlp4/{camlp4-4.13.ebuild => camlp4-4.11_p1-r2.ebuild}    | 8 +++++++-
 dev-ml/camlp4/{camlp4-4.11_p1-r1.ebuild => camlp4-4.12-r1.ebuild} | 8 +++++++-
 dev-ml/camlp4/{camlp4-4.12.ebuild => camlp4-4.13-r1.ebuild}       | 8 +++++++-
 6 files changed, 42 insertions(+), 6 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=372049e39ab93af18ce0e72e884ee2ca5ea1b5a9

commit 372049e39ab93af18ce0e72e884ee2ca5ea1b5a9
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-10-07 01:38:34 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-10-07 01:38:52 +0000

    dev-ml/num: fix collision with newer findlib
    
    Closes: https://bugs.gentoo.org/803275
    Signed-off-by: Sam James <sam@gentoo.org>

 dev-ml/num/{num-1.4-r1.ebuild => num-1.4-r2.ebuild} | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
Comment 16 Hank Leininger 2021-10-09 19:02:27 UTC
I've encountered this on a box with ocamlbuild and findlib installed, no camlp4 or num.

dev-ml/findlib-1.9.1 includes/wants to install /usr/lib64/ocaml/ocamlbuild/META, but that is already present and owned by dev-ml/ocamlbuild-0.14.0-r1.

However, there is a catch if doing the same kind of change to ocamlbuild that was done to fix camlp4 and num:

- findlib-1.9 was the first version to deploy ocamlbuild/META
- if ocamlbuild is installed before findlib, or when only <findlib-1.9 exists, then checking for >=findlib-1.9 in ocamlbuild's ebuild does no good

So, I've modified findlib to skip the file if ocamlbuild is installed.

There is still a catch though: there's no strict order or dependency between findlib and ocamlbuild (unless ocamlbuild[test]). So I believe one could still get errors by:

- install findlib-1.9.x first; it deploys ocamlbuild/META
- then install ocamlbuild, fails because ocamlbuild/META exists

I don't know the right way to handle that, some conditional := stuff?
Comment 17 Tupone Alfredo gentoo-dev 2022-01-16 10:38:37 UTC
Fixed with ocamlbuild-0.14 adding a dep to findlib