Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Caml-list] OCamlJava opam packages troubles

41 views
Skip to first unread message

Kenneth Adam Miller

unread,
Jul 18, 2015, 3:37:04 PM7/18/15
to caml users
There are duplicate ocamlfind specific opam packages:

opam search ocamlfind
..
ocamlfind-ocj -- A library manager for OCaml
ocj-ocamlfind -- A library manager for OCaml



In a second note, I have to install the library base-bytes. ocamlfind
1.5.5-ocp is required by base-bytes, when a non-ocp install of ocamlfind
was working fine. ocamlfind 1.5.5-ocp blows up with the following errors:

#=== ERROR while installing ocamlfind.1.5.5+ocp1
==============================#
# opam-version 1.2.0
# os linux
# command make all
# path
/home/kennethadammiller/.opam/ocamljava-2.0-alpha3/build/ocamlfind.1.5.5+ocp1
# compiler ocamljava-2.0-alpha3
# exit-code 2
# env-file
/home/kennethadammiller/.opam/ocamljava-2.0-alpha3/build/ocamlfind.1.5.5+ocp1/ocamlfind-12342-e7966f.env
# stdout-file
/home/kennethadammiller/.opam/ocamljava-2.0-alpha3/build/ocamlfind.1.5.5+ocp1/ocamlfind-12342-e7966f.out
# stderr-file
/home/kennethadammiller/.opam/ocamljava-2.0-alpha3/build/ocamlfind.1.5.5+ocp1/ocamlfind-12342-e7966f.err
### stdout ###
# ...[truncated]
# ocaml_args.cmo frontend.cmo
# if [ "false" = "true" ]; then \
# cp topfind.ml.in topfind.ml; \
# else \
# sed -e '/PPXOPT_BEGIN/,/PPXOPT_END/ d' topfind.ml.in \
# > topfind.ml ; \
# fi
# ocamlc -I +compiler-libs -c topfind.mli
# ocamlc -I +compiler-libs -g -c topfind.ml
# make[1]: Leaving directory
`/home/kennethadammiller/.opam/ocamljava-2.0-alpha3/build/ocamlfind.1.5.5+ocp1/src/findlib'
### stderr ###
# File "itest-aux/ppx.ml", line 1, characters 0-25:
# Error: Unbound value Toploop.preprocess_phrase
# Makefile:160: depend: No such file or directory
# File "topfind.ml", line 1:
# Error: The files
/home/kennethadammiller/.opam/ocamljava-2.0-alpha3/lib/ocaml/compiler-libs/toploop.cmi
# and
/home/kennethadammiller/.opam/ocamljava-2.0-alpha3/lib/ocaml/compiler-libs/parsetree.cmi
# make inconsistent assumptions over interface Warnings
# make[1]: *** [topfind.cmo] Error 2
# make: *** [all] Error 2


=-=- Error report
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following failed
- install ocamlfind.1.5.5+ocp1
Due to the errors, the following have been cancelled
- install base-bytes.base

--
Caml-list mailing list. Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Gabriel Scherer

unread,
Jul 18, 2015, 3:45:19 PM7/18/15
to Kenneth Adam Miller, caml users
This looks like a problem with the dependency computation algorithm.
If you have not installed an external CUDF solver such as aspcud
(which does a better job than the internal solver of OPAM), it may
solve such spurious dependency issues.
https://opam.ocaml.org/doc/Specifying_Solver_Preferences.html

(Or use the remove server farm
http://cudf-solvers.irill.org/index.html if you don't want to install
an external solver and don't mind your install requests to be sent
over the network)

On Sat, Jul 18, 2015 at 9:36 PM, Kenneth Adam Miller
<kennetha...@gmail.com> wrote:
> There are duplicate ocamlfind specific opam packages:
>
> opam search ocamlfind
> ...

Kenneth Adam Miller

unread,
Jul 18, 2015, 4:01:46 PM7/18/15
to Gabriel Scherer, caml users
Thanks for your reply!

Yeah that's possible; I was trying to update and that was giving me an
error as well.

opam update
..
[ERROR] At ~/.opam/repo/default/packages/pxp/pxp.1.2.7/opam:4:52:
Not a recognised version-control URL

I don't know what that's about either. Do you think possibly I just need
to get update to succeed in order that dependency computation move forward
correctly? I'd like to at least rule out not repeating anything or dealing
with version issues with I could be on the edge.

On Sat, Jul 18, 2015 at 3:44 PM, Gabriel Scherer <gabriel...@gmail.com>
wrote:

Kenneth Adam Miller

unread,
Jul 18, 2015, 4:04:51 PM7/18/15
to Gabriel Scherer, caml users
Yeah, in addition, I should note that ocj-ocamlfind has been updated
upstream as well, and that I can't pull that without being able to update
and upgrade.

On Sat, Jul 18, 2015 at 4:01 PM, Kenneth Adam Miller <
kennetha...@gmail.com> wrote:

> Thanks for your reply!
>
> Yeah that's possible; I was trying to update and that was giving me an
> error as well.
>
> opam update
> ...

Kenneth Adam Miller

unread,
Jul 18, 2015, 5:42:15 PM7/18/15
to caml users
Well I hunted down different paths for a solution and couldn't find
anything, even manually specifying the ocamlfind version didn't work. Cudf
remote proxy also selected the same dependent package. And all attempted
versions have identical errors.

I can't continue development using ocamljava until I can install that
package. I don't know how to continue hunting this error. Basically, the
library that I'm developing uses -package bytes in the command line, so I
presume that base.bytes is the opam package that it's talking about.

On Sat, Jul 18, 2015 at 4:04 PM, Kenneth Adam Miller <

Jeremy Yallop

unread,
Jul 18, 2015, 7:11:18 PM7/18/15
to Kenneth Adam Miller, caml users
On Sat, Jul 18, 2015 at 9:36 PM, Kenneth Adam Miller
<kennetha...@gmail.com> wrote:
> There are duplicate ocamlfind specific opam packages:
>
> opam search ocamlfind
> ...
> ocamlfind-ocj -- A library manager for OCaml
> ocj-ocamlfind -- A library manager for OCaml

It appears that ocj-ocamlfind is the one to use, since it corresponds
to a much more recent version than ocamlfind-ocj:

$ opam show ocamlfind-ocj | grep version
version: 1.4.0
installed-version:
available-version: 1.4.0
$ opam show ocj-ocamlfind | grep version
version: 1.5.5
installed-version:
available-version: 1.5.5

> I can't continue development using ocamljava until I can install that
> package. I don't know how to continue hunting this error. Basically, the
> library that I'm developing uses -package bytes in the command line, so I
> presume that base.bytes is the opam package that it's talking about.

If you have ocj-ocamlfind installed then I don't think you need
base-bytes as well, since ocj-ocamlfind automatically installs the
bytes package. (There are two notions of "package" here:
ocamlfind/findlib packages, such as "bytes", which are specified with
the "-package" flag to ocamlfind, and OPAM packages, such as
"base-bytes". There's not always a one-to-one correspondence between
the two.)

You can check whether the bytes findlib package is available by
running the following command:

ocamlfind query bytes

Here's how you might build and run a simple program using OCaml-Java,
ocj-ocamlfind and the bytes package:

$ cat test_bytes.ml
let () =
let name = Sys.argv.(0) in
Printf.printf "%s (length %d)\n" name (Bytes.length name)
$ ocamlfind java -o test_bytes.jar -package bytes test_bytes.ml
$ java -jar ./test_bytes.jar
/tmp/test_bytes.jar (length 19)

Kind regards,

Jeremy.

Louis Gesbert

unread,
Jul 22, 2015, 9:11:24 PM7/22/15
to caml...@inria.fr, Kenneth Adam Miller, Gabriel Scherer
This error about a single package could get it ignored on older opam versions, but I don't think it should ever make the full update command fail. In other words, this should be harmless unless you want to install `pxp`. What were the end of output and return code from opam ?

I'll report the error for ocamlfind+ocp1 ; you can work around it by pinning to a different version, e.g. `opam pin add ocamlfind 1.5.5`.

On the `ocamlfind-ocj` and `ocj-ocamlfind`, that should probably be cleaned up in the opam repository.

Best,
Louis Gesbert -- OCamlPro

> - Kenneth Adam Miller, 18/07/2015 16:01 -
> Thanks for your reply!
>
> Yeah that's possible; I was trying to update and that was giving me an
> error as well.
>
> opam update
> ...
signature.asc

Kenneth Adam Miller

unread,
Jul 22, 2015, 9:28:36 PM7/22/15
to Louis Gesbert, caml users, Gabriel Scherer
Thank you Louis!

I managed to work around it with Jeremy's remarks, turns out I didn't need
it. I agree that it should be resolved though.

On Mon, Jul 20, 2015 at 10:16 PM, Louis Gesbert <louis....@ocamlpro.com>
wrote:
0 new messages