Bug 1572862

Summary: opam missing dependencies
Product: [Fedora] Fedora Reporter: William Brown <william>
Component: opamAssignee: Ben Rosser <rosser.bjr>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 27CC: rosser.bjr
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: opam-2.0.0-0.7.beta6.fc28 opam-2.0.0-0.7.beta6.fc27 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-05-11 01:23:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description William Brown 2018-04-28 08:36:07 UTC
Description of problem:
Opam is missing a dependency on bzip2. This can cause packages to silently fail to install. For example, jbuilder.

 OPAMDEBUG=2 opam install jbuilder.1.0+beta19.1
00:00.005  GSTATE                  LOAD-GLOBAL-STATE @ /home/william/.opam
00:00.005  SYSTEM                  LOCK /home/william/.opam/lock (none => read)
00:00.005  RSTATE                  LOAD-REPOSITORY-STATE @ /home/william/.opam
00:00.006  SYSTEM                  LOCK /home/william/.opam/repo/state.cache (none => read)
00:00.164  RSTATE                  Loaded /home/william/.opam/repo/state.cache in 0.157s
00:00.244  SYSTEM                  LOCK /home/william/.opam/repo/state.cache (read => none)
00:00.244  RSTATE                  Cache found
00:00.244  STATE                   LOAD-SWITCH-STATE @ default
00:00.245  SYSTEM                  LOCK /home/william/.opam/default/.opam-switch/lock (none => write)
00:00.340  STATE                   Detected changed packages (marked for reinstall): {}
00:00.340  FILE(.config)           Cannot find /home/william/.opam/default/.opam-switch/config/base-bigarray.config
00:00.341  FILE(.config)           Cannot find /home/william/.opam/default/.opam-switch/config/base-threads.config
00:00.341  FILE(.config)           Cannot find /home/william/.opam/default/.opam-switch/config/base-unix.config
00:00.341  FILE(.config)           Cannot find /home/william/.opam/default/.opam-switch/config/ocaml-base-compiler.config
00:00.341  FILE(package-version-list)  Cannot find /home/william/.opam/default/.opam-switch/reinstall
00:00.341  STATE                   Switch state loaded in 0.097s
00:00.342  FILE(switch-state)      Wrote /home/william/.opam/default/.opam-switch/backup/state-20180428083043.export in 0.001s
00:00.553  CLIENT                  INSTALL jbuilder.1.0+beta19.1
00:00.943  PROC                    safe_unlink: /home/william/.opam/log/command-ocamlc-20107-4438d8.info
00:00.944  PROC                    safe_unlink: /home/william/.opam/log/command-ocamlc-20107-4438d8.env
00:00.944  PROC                    safe_unlink: /home/william/.opam/log/command-ocamlc-20107-4438d8.out
00:00.944  GSTATE                  Failed to evaluate global variable sys-ocaml-version: "ocamlc": command not found.
00:01.229  CLIENT                  Orphans: (changes: { jbuilder.1.0+beta19.1 }, transitive: false) -> full {}, versions {}
00:01.853  SOLVER                  resolve request=install:(jbuilder (= 1.0+beta19.1)) remove:() upgrade:()
00:02.431  SOLVER                  Load cudf universe (depopts:false, build:true, post:true)
00:04.000  CUDF                    resolve request=install:(jbuilder (= 21)) remove:() upgrade:()
00:04.000  SOLVER                  Calling solver builtin-mccs+glpk with criteria -removed,-count[version-lag,request],-count[version-lag,changed],-changed
Can reduce graph.
Initial size: 8739 packages (5 installed, 8734 uninstalled), 1985 virtual packages
Final size: 50 packages (5 installed, 45 uninstalled), 12 virtual packages
Constructing initial basis...
Constructing conflict graph...
Conflict graph has 5 + 3 = 8 vertices
00:04.162  CUDF                    Solver call done in 0.162
00:04.325  SOLVER                  Load cudf universe (depopts:false, build:true, post:true)
00:05.739  SOLVER                  Load cudf universe (depopts:true, build:false, post:true)
00:07.444  SOLVER                  Load cudf universe (depopts:true, build:true, post:false)
00:09.180  CUDF                    graph_of_actions root_actions={  - ∗  jbuilder (= 21) }
00:09.203  SOLUTION                apply
The following actions will be performed:
  ∗  install jbuilder 1.0+beta19.1 
00:09.224  SOLUTION                parallel_apply

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
00:09.225  PARALLEL                Iterate over 1 task(s) with 3 process(es)
00:09.225  PARALLEL                Starting job 0 (worker 1/3): 0
00:09.225  ACTION                  download_package: jbuilder.1.0+beta19.1
00:09.225  SYSTEM                  rmdir /home/william/.opam/default/.opam-switch/sources/jbuilder.1.0+beta19.1
00:09.225  SYSTEM                  mkdir /home/william/.opam/download-cache/md5/45
00:09.241  PROC                    safe_unlink: /home/william/.opam/log/command-curl-20107-4bcc67.info
00:09.241  PROC                    safe_unlink: /home/william/.opam/log/command-curl-20107-4bcc67.env
00:09.241  PROC                    safe_unlink: /home/william/.opam/log/command-curl-20107-4bcc67.out
00:09.241  PARALLEL                Next task in job 0: /usr/bin/curl --write-out %{http_code}\n --retry 3 --retry-delay 2 --user-agent opam/2.0.0~beta6 -L -o /home/william/.opam/download-cache/md5/45/456b4aa804d46d84d132230b3db9ff4a.tmp.part https://opam.ocaml.org/2.0/cache/md5/45/456b4aa804d46d84d132230b3db9ff4a
Processing  1/1: [jbuilder.1.0+beta19.1: dl]
00:12.087  PARALLEL                Collected task for job 0 (ret:0)
00:12.100  PROC                    safe_unlink: /home/william/.opam/log/command-mv-20107-42bb52.info
00:12.101  PROC                    safe_unlink: /home/william/.opam/log/command-mv-20107-42bb52.env
00:12.101  PROC                    safe_unlink: /home/william/.opam/log/command-mv-20107-42bb52.out
00:12.117  SYSTEM                  [log-20107-ccabea] (in 0.030s) mv /home/william/.opam/download-cache/md5/45/456b4aa804d46d84d132230b3db9ff4a.tmp.part /home/william/.opam/download-cache/md5/45/456b4aa804d46d84d132230b3db9ff4a.tmp
00:12.136  SYSTEM                  [log-20107-9b8556] (in 0.017s) mv /home/william/.opam/download-cache/md5/45/456b4aa804d46d84d132230b3db9ff4a.tmp /home/william/.opam/download-cache/md5/45/456b4aa804d46d84d132230b3db9ff4a
[jbuilder.1.0+beta19.1] downloaded from cache at https://opam.ocaml.org/2.0/cache
00:12.137  FILENAME                cleandir /home/william/.opam/default/.opam-switch/sources/jbuilder.1.0+beta19.1
00:12.137  SYSTEM                  mkdir /home/william/.opam/default/.opam-switch/sources/jbuilder.1.0+beta19.1
00:12.137  SYSTEM                  mkdir /tmp/opam-20107-7afd23
00:12.153  PROC                    safe_unlink: /home/william/.opam/log/command-tar-20107-58c514.info
00:12.154  PROC                    safe_unlink: /home/william/.opam/log/command-tar-20107-58c514.env
00:12.154  PROC                    safe_unlink: /home/william/.opam/log/command-tar-20107-58c514.out
00:12.154  PARALLEL                Next task in job 0: /usr/bin/tar xfj /home/william/.opam/download-cache/md5/45/456b4aa804d46d84d132230b3db9ff4a -C /tmp/opam-20107-7afd23
Processing  1/1:
00:12.173  PARALLEL                Collected task for job 0 (ret:2)
00:12.173  SYSTEM                  rmdir /tmp/opam-20107-7afd23
00:12.191  PARALLEL                Job 0 finished
[ERROR] The sources of the following couldn't be obtained, aborting:
          - jbuilder.1.0+beta19.1

00:12.191  SYSTEM                  LOCK /home/william/.opam/default/.opam-switch/lock (write => none)
00:12.192  SYSTEM                  rm /home/william/.opam/default/.opam-switch/backup/state-20180428083043.export
00:12.192  SYSTEM                  LOCK /home/william/.opam/repo/lock (none => none)
00:12.192  SYSTEM                  LOCK /home/william/.opam/config.lock (none => none)



Investigating these commands lead to:

/usr/bin/tar xfj /home/william/.opam/download-cache/md5/45/456b4aa804d46d84d132230b3db9ff4a -C /tmp/opam-20107-7afd23
tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
/usr/bin/tar: Child returned status 2
/usr/bin/tar: Error is not recoverable: exiting now


Install bzip2 manually resolves the issue.

Comment 1 Ben Rosser 2018-04-30 21:38:01 UTC
Good catch! I'll add bzip2 as a dependency and rebuild.

Comment 2 William Brown 2018-04-30 22:20:52 UTC
No problem! I found it in a minimal fedora docker, which is not a normal environment. Happy to have helped. :)

Comment 3 Fedora Update System 2018-05-01 02:33:43 UTC
opam-2.0.0-0.7.beta6.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-efe4828f53

Comment 4 Fedora Update System 2018-05-01 02:33:57 UTC
opam-2.0.0-0.7.beta6.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-bbf60aa9d9

Comment 5 Fedora Update System 2018-05-01 11:59:39 UTC
opam-2.0.0-0.7.beta6.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-bbf60aa9d9

Comment 6 Fedora Update System 2018-05-01 14:13:39 UTC
opam-2.0.0-0.7.beta6.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-efe4828f53

Comment 7 Fedora Update System 2018-05-11 01:23:55 UTC
opam-2.0.0-0.7.beta6.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2018-05-11 01:49:46 UTC
opam-2.0.0-0.7.beta6.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.