msgpack / msgpack-ocaml

MessagePack implementation for OCaml / msgpack.org[OCaml]
45 stars 19 forks source link

Compile fails with --enable-conv (both HEAD and from OPAM) #4

Open xgp opened 11 years ago

xgp commented 11 years ago

I am seeing the following compile error from both OPAM and HEAD when the --enable-conv flag is set (which happens automatically in OPAM when you have meta_conv installed):

[garth@xxx]$ make build
ocaml setup.ml -build
Finished, 1 target (0 cached) in 00:00:00.
+ ocamlfind ocamlc -c -g -I lib/core -w +a -annot -package num -package meta_conv -package extlib -I lib/conv -I lib/core -o lib/conv/msgpack_conv.cmo lib/conv/msgpack_conv.ml
File "lib/conv/msgpack_conv.ml", line 3, characters 29-1010:
Error: Signature mismatch:
       ...
       In module Constr:
       Values do not match:
         val variant : string -> Encode.t list -> Encode.t
       is not included in
         val variant : string -> string -> target list -> target
       File "lib/conv/msgpack_conv.ml", line 14, characters 8-15:
         Actual declaration
Command exited with code 2.
Compilation unsuccessful after building 42 targets (0 cached) in 00:00:01.
E: Failure("Command ''/usr/local/bin/ocamlbuild' lib/core/msgpack.cma lib/core/msgpack.cmxa lib/core/msgpack.a lib/core/msgpack.cmxs lib/conv/msgpack_conv.cma lib/conv/msgpack_conv.cmxa lib/conv/msgpack_conv.a lib/conv/msgpack_conv.cmxs test/core/main.native test/conv/main.native -tag debug' terminated with error code 10")
make: *** [build] Error 1

My configure output looks like this:

[garth@xxx]$ ./configure --enable-tests --enable-core --enable-conv

Configuration:
ocamlfind: ........................................... /Users/garth/.opam/system/bin/ocamlfind
ocamlc: .............................................. /usr/local/bin/ocamlc.opt
ocamlopt: ............................................ /usr/local/bin/ocamlopt.opt
ocamlbuild: .......................................... /usr/local/bin/ocamlbuild
Package name: ........................................ msgpack
Package version: ..................................... 1.0.0
os_type: ............................................. Unix
system: .............................................. macosx
architecture: ........................................ amd64
ccomp_type: .......................................... cc
ocaml_version: ....................................... 4.00.1
standard_library_default: ............................ /usr/local/lib/ocaml
standard_library: .................................... /usr/local/lib/ocaml
standard_runtime: .................................... /usr/local/bin/ocamlrun
bytecomp_c_compiler: ................................. cc -fno-defer-pop -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT
native_c_compiler: ................................... cc -D_FILE_OFFSET_BITS=64 -D_REENTRANT
model: ............................................... default
ext_obj: ............................................. .o
ext_asm: ............................................. .s
ext_lib: ............................................. .a
ext_dll: ............................................. .so
default_executable_name: ............................. a.out
systhread_supported: ................................. true
Install architecture-independent files dir: .......... /usr/local
Install architecture-dependent files in dir: ......... $prefix
User executables: .................................... $exec_prefix/bin
System admin executables: ............................ $exec_prefix/sbin
Program executables: ................................. $exec_prefix/libexec
Read-only single-machine data: ....................... $prefix/etc
Modifiable architecture-independent data: ............ $prefix/com
Modifiable single-machine data: ...................... $prefix/var
Object code libraries: ............................... $exec_prefix/lib
Read-only arch-independent data root: ................ $prefix/share
Read-only architecture-independent data: ............. $datarootdir
Info documentation: .................................. $datarootdir/info
Locale-dependent data: ............................... $datarootdir/locale
Man documentation: ................................... $datarootdir/man
Documentation root: .................................. $datarootdir/doc/$pkg_name
HTML documentation: .................................. $docdir
DVI documentation: ................................... $docdir
PDF documentation: ................................... $docdir
PS documentation: .................................... $docdir
findlib_version: ..................................... 1.3.3
is_native: ........................................... true
suffix_program: ......................................
Remove a file.: ...................................... rm -f
Remove a directory.: ................................. rm -rf
Turn ocaml debug flag on: ............................ true
Turn ocaml profile flag on: .......................... false
Compiler support generation of .cmxs.: ............... true
OCamlbuild additional flags: .........................
build and install everything: ........................ false
Build the core library: .............................. true
Build the meta_conv library: ......................... true
Create documentations: ............................... true
Compile tests executable and library and run them: ... true
camlp4: .............................................. /usr/local/bin/camlp4
pkg_extlib: .......................................... /Users/garth/.opam/system/lib/extlib
pkg_num: ............................................. /Users/garth/.opam/system/lib/num
pkg_meta_conv: ....................................... /Users/garth/.opam/system/lib/meta_conv
pkg_ounit: ........................................... /Users/garth/.opam/system/lib/oUnit
pkg_meta_conv_syntax: ................................ /Users/garth/.opam/system/lib/meta_conv
cosmo0920 commented 8 years ago

It's strange.... In my environment, msgpack with meta_conv installation succeeded. (Already installed without meta_conv msgpack in my environment.)

With opam

$ opam install meta_conv
The following actions will be performed:
  ∗  install   camlp4    4.02+system          [required by type_conv]
  ∗  install   omake     0.9.8.6-0.rc1        [required by meta_conv]
  ∗  install   type_conv 112.01.01            [required by meta_conv]
  ∗  install   meta_conv 1.1.5        
  ↻  recompile msgpack   1.1.1                [uses meta_conv]
===== ∗  4   ↻  1 =====
Do you want to continue ? [Y/n] y

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  🐫 
[msgpack] Archive in cache
[default] https://opam.ocaml.org/archives/type_conv.112.01.01+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/meta_conv.1.1.5+opam.tar.gz downloaded
[default] https://opam.ocaml.org/archives/omake.0.9.8.6-0.rc1+opam.tar.gz downloaded

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  🐫 
∗  installed camlp4.4.02+system
⊘  removed   msgpack.1.1.1
∗  installed type_conv.112.01.01
∗  installed omake.0.9.8.6-0.rc1
∗  installed meta_conv.1.1.5
∗  installed msgpack.1.1.1
Done.

HEAD

$ make
ocaml setup.ml -configure 

Configuration: 
ocamlfind: ........................................... /Users/hhatake/.opam/system/bin/ocamlfind
ocamlc: .............................................. /usr/local/bin/ocamlc.opt
ocamlopt: ............................................ /usr/local/bin/ocamlopt.opt
ocamlbuild: .......................................... /usr/local/bin/ocamlbuild
Package name: ........................................ msgpack
Package version: ..................................... 1.0.0
os_type: ............................................. Unix
system: .............................................. macosx
architecture: ........................................ amd64
ccomp_type: .......................................... cc
ocaml_version: ....................................... 4.02.1
standard_library_default: ............................ /usr/local/lib/ocaml
standard_library: .................................... /usr/local/lib/ocaml
standard_runtime: .................................... /usr/local/bin/ocamlrun
bytecomp_c_compiler: ................................. clang  -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT 
native_c_compiler: ................................... clang  -D_FILE_OFFSET_BITS=64 -D_REENTRANT
model: ............................................... default
ext_obj: ............................................. .o
ext_asm: ............................................. .s
ext_lib: ............................................. .a
ext_dll: ............................................. .so
default_executable_name: ............................. a.out
systhread_supported: ................................. true
Install architecture-independent files dir: .......... /usr/local
Install architecture-dependent files in dir: ......... $prefix
User executables: .................................... $exec_prefix/bin
System admin executables: ............................ $exec_prefix/sbin
Program executables: ................................. $exec_prefix/libexec
Read-only single-machine data: ....................... $prefix/etc
Modifiable architecture-independent data: ............ $prefix/com
Modifiable single-machine data: ...................... $prefix/var
Object code libraries: ............................... $exec_prefix/lib
Read-only arch-independent data root: ................ $prefix/share
Read-only architecture-independent data: ............. $datarootdir
Info documentation: .................................. $datarootdir/info
Locale-dependent data: ............................... $datarootdir/locale
Man documentation: ................................... $datarootdir/man
Documentation root: .................................. $datarootdir/doc/$pkg_name
HTML documentation: .................................. $docdir
DVI documentation: ................................... $docdir
PDF documentation: ................................... $docdir
PS documentation: .................................... $docdir
findlib_version: ..................................... 1.5.5
is_native: ........................................... true
suffix_program: ...................................... 
Remove a file.: ...................................... rm -f
Remove a directory.: ................................. rm -rf
Turn ocaml debug flag on: ............................ true
Turn ocaml profile flag on: .......................... false
Compiler support generation of .cmxs.: ............... true
OCamlbuild additional flags: ......................... 
build and install everything: ........................ false
Build the core library: .............................. true
Build the meta_conv library: ......................... false
Create documentations: ............................... true
Compile tests executable and library and run them: ... false
camlp4: .............................................. /usr/local/bin/camlp4
pkg_num: ............................................. /Users/hhatake/.opam/system/lib/num

ocaml setup.ml -build 
Finished, 1 target (0 cached) in 00:00:00.
...
Warning 3: deprecated: String.set
Use Bytes.set instead.
Finished, 32 targets (0 cached) in 00:00:01.

Could you confirm it again?