janestreet / opam-repository

Opam repository for the development version of Jane Street packages
101 stars 10 forks source link

cannot install core #1

Closed toolslive closed 7 years ago

toolslive commented 8 years ago

using (114.06+90) 225638b0cbb82de4b9c0534c28bd203192f969a4 as an opam repository doesn't allow me to install core: multiple package installations fail (example given below), because of Unbound module Jane_street_ocamlbuild_goodies

...
#=== ERROR while installing fieldslib.114.06+90 ===============================#
# opam-version         1.2.2
# os                   linux
# command              make
# path                 /home/jenkins/OPAM/4.03.0/build/fieldslib.114.06+90
# compiler             4.03.0
# exit-code            2
# env-file             /home/jenkins/OPAM/4.03.0/build/fieldslib.114.06+90/fieldslib-68-7681ba.env
# stdout-file          /home/jenkins/OPAM/4.03.0/build/fieldslib.114.06+90/fieldslib-68-7681ba.out
# stderr-file          /home/jenkins/OPAM/4.03.0/build/fieldslib.114.06+90/fieldslib-68-7681ba.err
### stdout ###
# ./setup.exe -build 
# ocamlfind ocamlopt unix.cmxa -I /home/jenkins/OPAM/4.03.0/lib/ocamlbuild /home/jenkins/OPAM/4.03.0/lib/ocamlbuild/ocamlbuildlib.cmxa -linkpkg myocamlbuild.ml /home/jenkins/OPAM/4.03.0/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
# + ocamlfind ocamlopt unix.cmxa -I /home/jenkins/OPAM/4.03.0/lib/ocamlbuild /home/jenkins/OPAM/4.03.0/lib/ocamlbuild/ocamlbuildlib.cmxa -linkpkg myocamlbuild.ml /home/jenkins/OPAM/4.03.0/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
# File "myocamlbuild.ml", line 4, characters 12-42:
# Error: Unbound module Jane_street_ocamlbuild_goodies
# Command exited with code 2.
### stderr ###
# W: No replace section found in file Makefile
# W: Cannot find source file matching module 'fieldslib' in library fieldslib.
# W: Use InterfacePatterns or ImplementationPatterns to define this file with feature "source_patterns".
# E: Failure("Command ''/home/jenkins/OPAM/4.03.0/bin/ocamlbuild' src/fieldslib.cma src/fieldslib.cmxa src/fieldslib.a src/fieldslib.cmxs -use-ocamlfind -tag debug' terminated with error code 10")
# make: *** [build] Error 1
...

Earlier commits also have the same problem...

ghost commented 8 years ago

What version of js-build-tools do you have installed?

domsj commented 8 years ago

Hi, I'm able to reproduce the same issue. js-build-tools version is 114.06+90 For log output see https://s3.amazonaws.com/archive.travis-ci.org/jobs/154961598/log.txt It's build from this branch https://github.com/openvstorage/arakoon/compare/1.9...openvstorage:reproduce-core-build-failure?expand=1, and the relevant part of the docker file is here: https://github.com/openvstorage/arakoon/blob/654e49669ca457385ef135c5a9bb3dc0a396339f/docker/ubuntu-16.04/Dockerfile#L34-L64

yminsky commented 8 years ago

I have the same issue here:

#=== ERROR while installing core_kernel.114.07+82 =============================#
# opam-version 1.2.2
# os           darwin
# command      make
# path         /Users/yminsky/.opam/4.03.0/build/core_kernel.114.07+82
# compiler     4.03.0
# exit-code    2
# env-file     /Users/yminsky/.opam/4.03.0/build/core_kernel.114.07+82/core_kernel-13102-910341.env
# stdout-file  /Users/yminsky/.opam/4.03.0/build/core_kernel.114.07+82/core_kernel-13102-910341.out
# stderr-file  /Users/yminsky/.opam/4.03.0/build/core_kernel.114.07+82/core_kernel-13102-910341.err
### stdout ###
# ./setup.exe -build
# ocamlfind ocamlopt unix.cmxa -I /Users/yminsky/.opam/4.03.0/lib/ocamlbuild /Users/yminsky/.opam/4.03.0/lib/ocamlbuild/ocamlbuildlib.cmxa -linkpkg myocamlbuild.ml /Users/yminsky/.opam/4.03.0/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
# + ocamlfind ocamlopt unix.cmxa -I /Users/yminsky/.opam/4.03.0/lib/ocamlbuild /Users/yminsky/.opam/4.03.0/lib/ocamlbuild/ocamlbuildlib.cmxa -linkpkg myocamlbuild.ml /Users/yminsky/.opam/4.03.0/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
# File "myocamlbuild.ml", line 5, characters 12-42:
# Error: Unbound module Jane_street_ocamlbuild_goodies
# Command exited with code 2.
### stderr ###
# W: No replace section found in file Makefile
# W: Cannot find source file matching module 'core_kernel' in library core_kernel.
# W: Use InterfacePatterns or ImplementationPatterns to define this file with feature "source_patterns".
# E: Failure("Command ''/Users/yminsky/.opam/4.03.0/bin/ocamlbuild' src/libcore_kernel_stubs.a src/dllcore_kernel_stubs.so src/core_kernel.cma src/core_kernel.cmxa src/core_kernel.a src/core_kernel.cmxs -use-ocamlfind -tag debug' terminated with error code 10")
# make: *** [build] Error 1

I have js-build-tools version 114.06+90 installed.

ghost commented 8 years ago

Ok, so it's the latest version of oasis that is breaking the build. For some reason it doesn't interpret XOCamlbuildPluginTags anymore.

As a temporary workaround you can pin oasis to a previous version

ghost commented 8 years ago

/cc @gildor478

gildor478 commented 8 years ago

@diml Is it a published version of core ? or something generated live ?

Super sorry that the latest version of OASIS breaks so many things. I'll try to generate a fix ASAP but it may take a while.

gildor478 commented 8 years ago

https://forge.ocamlcore.org/tracker/index.php?func=detail&aid=1659&group_id=54&atid=291

ghost commented 8 years ago

@gildor478 it's the development version of core, it depends on oasis and uses the dynamic mode. Looking forward to the fix!

ghost commented 8 years ago

In the meantime I pushed a version constraint for the oasis dependency

gildor478 commented 8 years ago

Why not just add a conflict on the specific OASIS version ? Conflicts: oasis (= 0.4.7)

This will discard the version 0.4.7 and should accept the version 0.4.8.

ghost commented 8 years ago

Indeed, I didn't thought about it. I did the change internally, it will go out with the next batch

profmaad commented 8 years ago

It seems that oasis 0.4.6 doesn't play nice with 4.03, since it still requires type_conv, which in turn demands camlp4:

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[ERROR] The compilation of type_conv failed at "make".
Processing  1/50: [type_conv: ocamlfind remove]
#=== ERROR while installing type_conv.113.00.02 ===============================#
# opam-version 1.2.2
# os           linux
# command      make
# path         /home/profmaad/ocamlbrew/ocaml-4.03.0/.opam/system/build/type_conv.113.00.02
# compiler     system (4.03.0)
# exit-code    2
# env-file     /home/profmaad/ocamlbrew/ocaml-4.03.0/.opam/system/build/type_conv.113.00.02/type_conv-23898-a3fe99.env
# stdout-file  /home/profmaad/ocamlbrew/ocaml-4.03.0/.opam/system/build/type_conv.113.00.02/type_conv-23898-a3fe99.out
# stderr-file  /home/profmaad/ocamlbrew/ocaml-4.03.0/.opam/system/build/type_conv.113.00.02/type_conv-23898-a3fe99.err
### stdout ###
# ocamlopt.opt -o setup.exe setup.ml || ocamlopt -o setup.exe setup.ml || ocamlc -o setup.exe setup.ml
# rm -f setup.cmx setup.cmi setup.o setup.obj setup.cmo
# ./setup.exe -configure 
### stderr ###
# [...]
# Warning 3: deprecated: String.uncapitalize
# Use String.uncapitalize_ascii instead.
# W: Field 'camlp4o' is not set
# W: Field 'pkg_camlp4_quotations' is not set: When looking for findlib package camlp4.quotations, directory /home/profmaad/ocamlbrew/ocaml-4.03.0/lib/ocaml/camlp4 return doesn't exist
# W: Field 'pkg_camlp4_extend' is not set: When looking for findlib package camlp4.extend, directory /home/profmaad/ocamlbrew/ocaml-4.03.0/lib/ocaml/camlp4 return doesn't exist
# E: Cannot find external tool 'camlp4o'
# E: Cannot find findlib package camlp4.extend
# E: Cannot find findlib package camlp4.quotations
# E: Failure("3 configuration errors")
# make: *** [Makefile:51: setup.data] Error 1
ghost commented 8 years ago

That looks like a camlp4 installation problem

profmaad commented 8 years ago

You're right. Doing opam switch 4.03 fixed it.

ghost commented 7 years ago

This should be fixed