ocaml / opam-repository

Main public package repository for opam, the source package manager of OCaml.
https://opam.ocaml.org
Creative Commons Zero v1.0 Universal
516 stars 1.13k forks source link

Mezzo.latest fails to compile #1959

Closed avsm closed 10 years ago

avsm commented 10 years ago

@protz, error here:

===== ERROR while installing mezzo.latest =====
# opam-version         1.1.1
# os                   linux
# command              make
# path                 /home/opam/.opam/system/build/mezzo.latest
# compiler             system (4.01.0)
# exit-code            2
# env-file             /home/opam/.opam/system/build/mezzo.latest/mezzo-4062-dc6e87.env
# stdout-file          /home/opam/.opam/system/build/mezzo.latest/mezzo-4062-dc6e87.out
# stderr-file          /home/opam/.opam/system/build/mezzo.latest/mezzo-4062-dc6e87.err
### stdout ###
# ...[truncated]
# ocamlfind ocamlopt -c -I +ocamlbuild -g -annot -bin-annot -strict-sequence -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory -I utils -I parsing -I ocamlbuild -I stdlib -I corelib -I mezzolib -I lib -I typing -I compiler -I interpreter -I tests/unit -o utils/TestUtils.cmx utils/TestUtils.ml
# ocamlfind ocamlopt -c -I +ocamlbuild -g -annot -bin-annot -strict-sequence -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory -I tests/unit -I parsing -I ocamlbuild -I stdlib -I corelib -I mezzolib -I lib -I typing -I compiler -I utils -I interpreter -o tests/unit/UnitTests.cmx tests/unit/UnitTests.ml
# ocamlfind ocamlopt -c -I +ocamlbuild -g -annot -bin-annot -strict-sequence -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory -I parsing -I ocamlbuild -I stdlib -I corelib -I mezzolib -I lib -I typing -I compiler -I utils -I interpreter -I tests/unit -o testsuite.cmx testsuite.ml
# ocamlfind ocamlopt -linkpkg str.cmxa -I +ocamlbuild ocamlbuildlib.cmxa -g -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory lib/Bash.cmx lib/InfiniteArray.cmx lib/Option.cmx lib/MzString.cmx lib/patricia.cmx parsing/Hashcons.cmx parsing/Identifier.cmx parsing/Variable.cmx utils/Utils.cmx lib/Log.cmx lib/MzList.cmx parsing/Datacon.cmx parsing/Kind.cmx parsing/Module.cmx typing/Mode.cmx typing/DataTypeFlavor.cmx parsing/SurfaceSyntax.cmx compiler/UntypedMezzo.cmx parsing/ClFlags.cmx parsing/ParserUtils.cmx parsing/grammar.cmx parsing/Keywords.cmx parsing/Lexer.cmx compiler/Mezzo2UntypedMezzo.cmx compiler/OCamlKeywords.cmx compiler/UntypedOCaml.cmx compiler/UntypedMezzo2UntypedOCaml.cmx lib/MzPprint.cmx compiler/UntypedOCamlPrinter.cmx compiler/Compile.cmx configure.cmx mezzolib/MezzoLib.cmx typing/NamespaceSignature.cmx typing/Namespace.cmx interpreter/Interpreter.cmx lib/Either.cmx lib/LazyList.cmx lib/MzMap.cmx lib/PersistentRef.cmx lib/PersistentUnionFind.cmx parsing/SurfaceSyntaxPrinter.cmx parsing/options.cmx typing/Fact.cmx typing/KindCheck.cmx typing/Mark.cmx typing/TypeCore.cmx typing/DeBruijn.cmx typing/Resugar.cmx typing/Types.cmx typing/Derivations.cmx typing/DerivationPrinter.cmx typing/Exports.cmx typing/ExpressionsCore.cmx typing/Hoist.cmx utils/Debug.cmx typing/TypeErrors.cmx typing/FactInference.cmx typing/Variance.cmx typing/Expressions.cmx typing/Permissions.cmx typing/TransSurface.cmx typing/Interfaces.cmx typing/KindPrinter.cmx typing/Merge.cmx typing/Modules.cmx typing/TypeChecker.cmx parsing/Driver.cmx utils/TestUtils.cmx tests/unit/UnitTests.cmx testsuite.cmx -o testsuite.native
# ocamlfind ocamlc -a str.cma -I +ocamlbuild ocamlbuildlib.cma -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory mezzolib/MezzoLib.cmo -o mezzolib/MezzoLib.cma
# ocamlfind ocamlopt -a -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory mezzolib/MezzoLib.cmx -o mezzolib/MezzoLib.cmxa
# /home/opam/.opam/system/build/mezzo.latest/_build/mezzo.native -boot -c corelib/magic.mz >/dev/null
# + /home/opam/.opam/system/build/mezzo.latest/_build/mezzo.native -boot -c corelib/magic.mz >/dev/null
# Fatal error: exception Not_found
# Command exited with code 2.
### stderr ###
# make: *** [all] Error 10

It would be vastly preferable if you could release stable archives onto OPAM and not git urls. Could you tag a version of mezzo and push that to OPAM? It helps when doing bulk runs that are reproducible.

protz commented 10 years ago

Hi Anil,

Can I bless a git revision in the opam description file ? (That would save me the trouble of exporting a tarball.)

I'm not having any errors here (I usually don't push broken versions). Can you give me a backtrace? (i.e. having OCAMLRUNPARAM=b in that bot's environment would definitely help.)

~ jonathan

PS: I didn't just compile my local version, I ran "opam install mezzo".

On Tue 29 Apr 2014 08:56:38 PM CEST, Anil Madhavapeddy wrote:

@protz https://github.com/protz, error here:

|===== ERROR while installing mezzo.latest =====

opam-version 1.1.1

os linux

command make

path /home/opam/.opam/system/build/mezzo.latest

compiler system (4.01.0)

exit-code 2

env-file /home/opam/.opam/system/build/mezzo.latest/mezzo-4062-dc6e87.env

stdout-file /home/opam/.opam/system/build/mezzo.latest/mezzo-4062-dc6e87.out

stderr-file /home/opam/.opam/system/build/mezzo.latest/mezzo-4062-dc6e87.err

stdout

...[truncated]

ocamlfind ocamlopt -c -I +ocamlbuild -g -annot -bin-annot -strict-sequence -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory -I utils -I parsing -I ocamlbuild -I stdlib -I corelib -I mezzolib -I lib -I typing -I compiler -I interpreter -I tests/unit -o utils/TestUtils.cmx utils/TestUtils.ml

ocamlfind ocamlopt -c -I +ocamlbuild -g -annot -bin-annot -strict-sequence -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory -I tests/unit -I parsing -I ocamlbuild -I stdlib -I corelib -I mezzolib -I lib -I typing -I compiler -I utils -I interpreter -o tests/unit/UnitTests.cmx tests/unit/UnitTests.ml

ocamlfind ocamlopt -c -I +ocamlbuild -g -annot -bin-annot -strict-sequence -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory -I parsing -I ocamlbuild -I stdlib -I corelib -I mezzolib -I lib -I typing -I compiler -I utils -I interpreter -I tests/unit -o testsuite.cmx testsuite.ml

ocamlfind ocamlopt -linkpkg str.cmxa -I +ocamlbuild ocamlbuildlib.cmxa -g -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory lib/Bash.cmx lib/InfiniteArray.cmx lib/Option.cmx lib/MzString.cmx lib/patricia.cmx parsing/Hashcons.cmx parsing/Identifier.cmx parsing/Variable.cmx utils/Utils.cmx lib/Log.cmx lib/MzList.cmx parsing/Datacon.cmx parsing/Kind.cmx parsing/Module.cmx typing/Mode.cmx typing/DataTypeFlavor.cmx parsing/SurfaceSyntax.cmx compiler/UntypedMezzo.cmx parsing/ClFlags.cmx parsing/ParserUtils.cmx parsing/grammar.cmx parsing/Keywords.cmx parsing/Lexer.cmx compiler/Mezzo2UntypedMezzo.cmx compiler/OCamlKeywords.cmx compiler/UntypedOCaml.cmx compiler/UntypedMezzo2UntypedOCaml.cmx lib/MzPprint.cmx compiler/UntypedOCamlPrinter.cmx compiler/Compile.cmx configure.cmx mezzolib/MezzoLib.cmx typing/NamespaceSignature.cmx typing/Namespace.cmx interpreter/Interpreter.cmx lib/Either.cmx lib/LazyList.cmx lib/MzMap.cmx lib/Persis

t entRef.cmx lib/PersistentUnionFind.cmx parsing/SurfaceSyntaxPrinter.cmx parsing/options.cmx typing/Fact.cmx typing/KindCheck.cmx typing/Mark.cmx typing/TypeCore.cmx typing/DeBruijn.cmx typing/Resugar.cmx typing/Types.cmx typing/Derivations.cmx typing/DerivationPrinter.cmx typing/Exports.cmx typing/ExpressionsCore.cmx typing/Hoist.cmx utils/Debug.cmx typing/TypeErrors.cmx typing/FactInference.cmx typing/Variance.cmx typing/Expressions.cmx typing/Permissions.cmx typing/TransSurface.cmx typing/Interfaces.cmx typing/KindPrinter.cmx typing/Merge.cmx typing/Modules.cmx typing/TypeChecker.cmx parsing/Driver.cmx utils/TestUtils.cmx tests/unit/UnitTests.cmx testsuite.cmx -o testsuite.native

ocamlfind ocamlc -a str.cma -I +ocamlbuild ocamlbuildlib.cma -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory mezzolib/MezzoLib.cmo -o mezzolib/MezzoLib.cma

ocamlfind ocamlopt -a -package yojson -package menhirLib -package ulex -package pprint -package fix -package unix -package functory mezzolib/MezzoLib.cmx -o mezzolib/MezzoLib.cmxa

/home/opam/.opam/system/build/mezzo.latest/_build/mezzo.native -boot -c corelib/magic.mz >/dev/null

+ /home/opam/.opam/system/build/mezzo.latest/_build/mezzo.native -boot -c corelib/magic.mz >/dev/null

Fatal error: exception Not_found

Command exited with code 2.

stderr

make: *\ [all] Error 10

It would be vastly preferable if you could release stable archives onto OPAM and not git urls. Could you tag a version of mezzo and push that to OPAM? It helps when doing bulk runs that are reproducible.

— Reply to this email directly or view it on GitHub https://github.com/ocaml/opam-repository/issues/1959.

hhugo commented 10 years ago

@protz, GitHub makes (and host) tarballs for you when you push tags. see https://github.com/protz/mezzo/releases

avsm commented 10 years ago

Can't repro anymore, but pushing a release tag to GitHub and losing the git url would be appreciated...

Installed /home/opam/.opam/system/lib/mezzo/mzmagic.cmx
Installed /home/opam/.opam/system/lib/mezzo/mznest.cmi
Installed /home/opam/.opam/system/lib/mezzo/mzpool.cmi
Installed /home/opam/.opam/system/lib/mezzo/ocamlbuild_mezzo.cmx
Installed /home/opam/.opam/system/lib/mezzo/ocamlbuild_mezzo.a
Installed /home/opam/.opam/system/lib/mezzo/ocamlbuild_mezzo.cmi
Installed /home/opam/.opam/system/lib/mezzo/ocamlbuild_mezzo.cmxa
Installed /home/opam/.opam/system/lib/mezzo/ocamlbuild_mezzo.cma
Installed /home/opam/.opam/system/lib/mezzo/MezzoStdLib.cmxa
Installed /home/opam/.opam/system/lib/mezzo/MezzoStdLib.cma
Installed /home/opam/.opam/system/lib/mezzo/MezzoCoreLib.cmxa
Installed /home/opam/.opam/system/lib/mezzo/MezzoCoreLib.cma
Installed /home/opam/.opam/system/lib/mezzo/MezzoLib.cmxa
Installed /home/opam/.opam/system/lib/mezzo/MezzoLib.cma
Installed /home/opam/.opam/system/lib/mezzo/META
Installing mezzo.latest.
avsm commented 10 years ago

(I'm getting rid of all the non-archive stragglers now, in an effort to get opam bulk builds at 100% on Debian/Ubuntu)

dbuenzli commented 10 years ago

Anil, shouldn't there simply be a policy that the opam-repository accepts only non dev packages ? Having them in the main repo poses all sorts of problems (expressing proper dependencies, no direct fine control for the user on what is installed). It's easy enough to publish your own repo if you want a dev package and it's easy enough for others to use it if they wish so. Besides with the future git pin on non existent packages you won't even have to publish a repo to advertise a dev package.

avsm commented 10 years ago

Yes there should, although since we already accepted a few (mezzo, mirage-www), need to not impose too much trouble on the maintainers retroactively. Some git:// archives are still fine (for 4.02dev things like ppx, camlp4, etc).

-anil

On 30 Apr 2014, at 11:06, Daniel Bünzli notifications@github.com wrote:

Anil, shouldn't there simply be a policy that the opam-repository accepts only non dev packages ? Having them in the main repo poses all sorts of problems (expressing proper dependencies, no direct fine control for the user on what is installed). It's easy enough to publish your own repo if you want a dev package and it's easy enough for others to use it if they wish so. Besides with the future git pin on non existent packages you won't even have to publish a repo to advertise a dev package.

— Reply to this email directly or view it on GitHub.

protz commented 10 years ago

I'll submit a pull request shortly which removes the git:// version of Mezzo.

~ jonathan

On Wed 30 Apr 2014 12:23:11 PM CEST, Anil Madhavapeddy wrote:

Yes there should, although since we already accepted a few (mezzo, mirage-www), need to not impose too much trouble on the maintainers retroactively. Some git:// archives are still fine (for 4.02dev things like ppx, camlp4, etc).

-anil

On 30 Apr 2014, at 11:06, Daniel Bünzli notifications@github.com wrote:

Anil, shouldn't there simply be a policy that the opam-repository accepts only non dev packages ? Having them in the main repo poses all sorts of problems (expressing proper dependencies, no direct fine control for the user on what is installed). It's easy enough to publish your own repo if you want a dev package and it's easy enough for others to use it if they wish so. Besides with the future git pin on non existent packages you won't even have to publish a repo to advertise a dev package.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub https://github.com/ocaml/opam-repository/issues/1959#issuecomment-41781478.

hhugo commented 10 years ago

should have been closed after https://github.com/ocaml/opam-repository/pull/1985