ocaml-batteries-team / batteries-included

Batteries Included project
http://ocaml-batteries-team.github.com/batteries-included/hdoc2/
Other
514 stars 106 forks source link

`make test qtest` will fail on Mac OS X 10.6.6 #122

Closed ymotongpoo closed 13 years ago

ymotongpoo commented 13 years ago

I tried to build OCaml batteries included on Mac OS X 10.6.6 with OCaml 3.11.2 and BATTERIES_NATIVE_SHLIB=false option. It worked for make all and make install but make test qtest will fail with any options.

Dependent libraries versions are as follows:

I tried same on Debian 6.0.0 environment with same libraries and it succeeded there.

http://stackoverflow.com/questions/5104406/ocaml-batteries-included-cant-be-built-on-mac-os-x-10-6-6

mdekstrand commented 13 years ago

I've looked at the makefile and can't find the problem. Could you try building the latest Git sources? The makefile has undergone some refactoring since 1.3.0, and it'd be good to know if the problem has been fixed in those changes.

ymotongpoo commented 13 years ago

Latest one did not worked neither. Here's the compile log:

[20:48:29 ymotongpoo@nsx /opt/ocaml/src/batteries-included]
 % make all BATTERIES_NATIVE_SHLIB=false                                              (git:master) 
Build mode: native
rm -f src/batteries_config.ml
ocamlbuild syntax.otarget byte.otarget src/batteries_help.cmo META native.otarget
Finished, 0 targets (0 cached) in 00:00:00.
Finished, 488 targets (488 cached) in 00:00:01.
[20:48:33 ymotongpoo@nsx /opt/ocaml/src/batteries-included]
 % make test qtest BATTERIES_NATIVE_SHLIB=false                                       (git:master) 
ocamlbuild -no-links make_suite.native
Finished, 0 targets (0 cached) in 00:00:00.
Finished, 5 targets (0 cached) in 00:00:00.
_build/build/make_suite.native src/batArg.ml > qtest/batArg_t.ml
_build/build/make_suite.native src/batArray.ml > qtest/batArray_t.ml
_build/build/make_suite.native src/batAvlTree.ml > qtest/batAvlTree_t.ml
_build/build/make_suite.native src/batBase64.ml > qtest/batBase64_t.ml
_build/build/make_suite.native src/batBig_int.ml > qtest/batBig_int_t.ml
_build/build/make_suite.native src/batBigarray.ml > qtest/batBigarray_t.ml
_build/build/make_suite.native src/batBitSet.ml > qtest/batBitSet_t.ml
_build/build/make_suite.native src/batBool.ml > qtest/batBool_t.ml
_build/build/make_suite.native src/batBuffer.ml > qtest/batBuffer_t.ml
_build/build/make_suite.native src/batCamomile.ml > qtest/batCamomile_t.ml
_build/build/make_suite.native src/batChar.ml > qtest/batChar_t.ml
_build/build/make_suite.native src/batCharEncodings.ml > qtest/batCharEncodings_t.ml
_build/build/make_suite.native src/batCharParser.ml > qtest/batCharParser_t.ml
_build/build/make_suite.native src/batComplex.ml > qtest/batComplex_t.ml
_build/build/make_suite.native src/batConcurrent.ml > qtest/batConcurrent_t.ml
_build/build/make_suite.native src/batDeque.ml > qtest/batDeque_t.ml
_build/build/make_suite.native src/batDigest.ml > qtest/batDigest_t.ml
_build/build/make_suite.native src/batDllist.ml > qtest/batDllist_t.ml
_build/build/make_suite.native src/batDynArray.ml > qtest/batDynArray_t.ml
_build/build/make_suite.native src/batEnum.ml > qtest/batEnum_t.ml
_build/build/make_suite.native src/batFile.ml > qtest/batFile_t.ml
_build/build/make_suite.native src/batFloat.ml > qtest/batFloat_t.ml
_build/build/make_suite.native src/batFormat.ml > qtest/batFormat_t.ml
_build/build/make_suite.native src/batGc.ml > qtest/batGc_t.ml
_build/build/make_suite.native src/batGenlex.ml > qtest/batGenlex_t.ml
_build/build/make_suite.native src/batGlobal.ml > qtest/batGlobal_t.ml
_build/build/make_suite.native src/batHashcons.ml > qtest/batHashcons_t.ml
_build/build/make_suite.native src/batHashtbl.ml > qtest/batHashtbl_t.ml
_build/build/make_suite.native src/batHeap.ml > qtest/batHeap_t.ml
_build/build/make_suite.native src/batIMap.ml > qtest/batIMap_t.ml
_build/build/make_suite.native src/batIO.ml > qtest/batIO_t.ml
_build/build/make_suite.native src/batISet.ml > qtest/batISet_t.ml
_build/build/make_suite.native src/batInnerIO.ml > qtest/batInnerIO_t.ml
_build/build/make_suite.native src/batInnerWeaktbl.ml > qtest/batInnerWeaktbl_t.ml
_build/build/make_suite.native src/batInt.ml > qtest/batInt_t.ml
_build/build/make_suite.native src/batInt32.ml > qtest/batInt32_t.ml
_build/build/make_suite.native src/batInt64.ml > qtest/batInt64_t.ml
_build/build/make_suite.native src/batInterfaces.ml > qtest/batInterfaces_t.ml
_build/build/make_suite.native src/batLazyList.ml > qtest/batLazyList_t.ml
_build/build/make_suite.native src/batLexing.ml > qtest/batLexing_t.ml
_build/build/make_suite.native src/batList.ml > qtest/batList_t.ml
_build/build/make_suite.native src/batLogger.ml > qtest/batLogger_t.ml
_build/build/make_suite.native src/batMap.ml > qtest/batMap_t.ml
_build/build/make_suite.native src/batMarshal.ml > qtest/batMarshal_t.ml
_build/build/make_suite.native src/batMonad.ml > qtest/batMonad_t.ml
_build/build/make_suite.native src/batMultiPMap.ml > qtest/batMultiPMap_t.ml
_build/build/make_suite.native src/batMutex.ml > qtest/batMutex_t.ml
_build/build/make_suite.native src/batNativeint.ml > qtest/batNativeint_t.ml
_build/build/make_suite.native src/batNum.ml > qtest/batNum_t.ml
_build/build/make_suite.native src/batNumber.ml > qtest/batNumber_t.ml
_build/build/make_suite.native src/batOo.ml > qtest/batOo_t.ml
_build/build/make_suite.native src/batOptParse.ml > qtest/batOptParse_t.ml
_build/build/make_suite.native src/batOption.ml > qtest/batOption_t.ml
_build/build/make_suite.native src/batPMap.ml > qtest/batPMap_t.ml
_build/build/make_suite.native src/batPSet.ml > qtest/batPSet_t.ml
_build/build/make_suite.native src/batPair.ml > qtest/batPair_t.ml
_build/build/make_suite.native src/batParserCo.ml > qtest/batParserCo_t.ml
_build/build/make_suite.native src/batPathGen.ml > qtest/batPathGen_t.ml
_build/build/make_suite.native src/batPervasives.ml > qtest/batPervasives_t.ml
_build/build/make_suite.native src/batPrint.ml > qtest/batPrint_t.ml
_build/build/make_suite.native src/batPrintexc.ml > qtest/batPrintexc_t.ml
_build/build/make_suite.native src/batPrintf.ml > qtest/batPrintf_t.ml
_build/build/make_suite.native src/batQueue.ml > qtest/batQueue_t.ml
_build/build/make_suite.native src/batRMutex.ml > qtest/batRMutex_t.ml
_build/build/make_suite.native src/batRandom.ml > qtest/batRandom_t.ml
_build/build/make_suite.native src/batRef.ml > qtest/batRef_t.ml
_build/build/make_suite.native src/batRefList.ml > qtest/batRefList_t.ml
_build/build/make_suite.native src/batResult.ml > qtest/batResult_t.ml
_build/build/make_suite.native src/batReturn.ml > qtest/batReturn_t.ml
_build/build/make_suite.native src/batRope.ml > qtest/batRope_t.ml
_build/build/make_suite.native src/batScanf.ml > qtest/batScanf_t.ml
_build/build/make_suite.native src/batSeq.ml > qtest/batSeq_t.ml
_build/build/make_suite.native src/batSet.ml > qtest/batSet_t.ml
_build/build/make_suite.native src/batSplay.ml > qtest/batSplay_t.ml
_build/build/make_suite.native src/batStack.ml > qtest/batStack_t.ml
_build/build/make_suite.native src/batStd.ml > qtest/batStd_t.ml
_build/build/make_suite.native src/batStr.ml > qtest/batStr_t.ml
_build/build/make_suite.native src/batStream.ml > qtest/batStream_t.ml
_build/build/make_suite.native src/batString.ml > qtest/batString_t.ml
_build/build/make_suite.native src/batSubstring.ml > qtest/batSubstring_t.ml
_build/build/make_suite.native src/batSys.ml > qtest/batSys_t.ml
_build/build/make_suite.native src/batTuple.ml > qtest/batTuple_t.ml
_build/build/make_suite.native src/batUChar.ml > qtest/batUChar_t.ml
_build/build/make_suite.native src/batUCharParser.ml > qtest/batUCharParser_t.ml
_build/build/make_suite.native src/batUTF8.ml > qtest/batUTF8_t.ml
_build/build/make_suite.native src/batUnit.ml > qtest/batUnit_t.ml
_build/build/make_suite.native src/batUnix.ml > qtest/batUnix_t.ml
_build/build/make_suite.native src/batUref.ml > qtest/batUref_t.ml
_build/build/make_suite.native src/batValue_printer.ml > qtest/batValue_printer_t.ml
_build/build/make_suite.native src/batVect.ml > qtest/batVect_t.ml
_build/build/make_suite.native src/batteries.ml > qtest/batteries_t.ml
_build/build/make_suite.native src/batteries_print.ml > qtest/batteries_print_t.ml
_build/build/make_suite.native src/batteries_uni.ml > qtest/batteries_uni_t.ml
_build/build/make_suite.native src/extlibcompat.ml > qtest/extlibcompat_t.ml
echo -n "Quickcheck Tests " > qtest/test_mods.mllib
echo batArg_t batArray_t batAvlTree_t batBase64_t batBig_int_t batBigarray_t batBitSet_t batBool_t batBuffer_t batCamomile_t batChar_t batCharEncodings_t batCharParser_t batComplex_t batConcurrent_t batDeque_t batDigest_t batDllist_t batDynArray_t batEnum_t batFile_t batFloat_t batFormat_t batGc_t batGenlex_t batGlobal_t batHashcons_t batHashtbl_t batHeap_t batIMap_t batIO_t batISet_t batInnerIO_t batInnerWeaktbl_t batInt_t batInt32_t batInt64_t batInterfaces_t batLazyList_t batLexing_t batList_t batLogger_t batMap_t batMarshal_t batMonad_t batMultiPMap_t batMutex_t batNativeint_t batNum_t batNumber_t batOo_t batOptParse_t batOption_t batPMap_t batPSet_t batPair_t batParserCo_t batPathGen_t batPervasives_t batPrint_t batPrintexc_t batPrintf_t batQueue_t batRMutex_t batRandom_t batRef_t batRefList_t batResult_t batReturn_t batRope_t batScanf_t batSeq_t batSet_t batSplay_t batStack_t batStd_t batStr_t batStream_t batString_t batSubstring_t batSys_t batTuple_t batUChar_t batUCharParser_t batUTF8_t batUnit_t batUnix_t batUref_t batValue_printer_t batVect_t batteries_t batteries_print_t batteries_uni_t extlibcompat_t >> qtest/test_mods.mllib
ocamlbuild syntax.otarget byte.otarget src/batteries_help.cmo META native.otarget testsuite/main.byte qtest/test_runner.byte testsuite/main.native qtest/test_runner.native
Finished, 0 targets (0 cached) in 00:00:00.
Solver failed:
  Ocamlbuild knows of no rules that apply to a target named qtest/test_mods.mly. This can happen if you ask Ocamlbuild to build a target with the wrong extension (e.g. .opt instead of .native) or if the source files live in directories that have not been specified as include directories.
Backtrace:
  - Failed to build the target qtest/test_runner.byte
      - Building qtest/test_runner.byte:
          - Building qtest/test_mods.cma:
              - Failed to build all of these:
                  - Building qtest/test_mods.cmo:
                      - Failed to build all of these:
                          - Building qtest/test_mods.ml:
                              - Failed to build all of these:
                                  - Building qtest/test_mods.mly
                                  - Building qtest/test_mods.mll
                                  - Building qtest/test_mods.mlp
                          - Building qtest/test_mods.mli:
                              - Building qtest/test_mods.mly
                          - Building qtest/test_mods.mlpack
                          - Building qtest/test_mods.mli:
                              - Building qtest/test_mods.mly
                  - Failed to build all of these:
                      - Building libs/estring/-n.cmo
                      - Building libs/estring/-n.cmo:
                          - Failed to build all of these:
                              - Building libs/estring/-n.ml:
                                  - Failed to build all of these:
                                      - Building libs/estring/-n.mly
                                      - Building libs/estring/-n.mll
                                      - Building libs/estring/-n.mlp
                              - Building libs/estring/-n.mli:
                                  - Building libs/estring/-n.mly
                              - Building libs/estring/-n.mlpack
                              - Building libs/estring/-n.mli:
                                  - Building libs/estring/-n.mly
                      - Building src/syntax/pa_comprehension/-n.cmo
                      - Building src/syntax/pa_comprehension/-n.cmo:
                          - Failed to build all of these:
                              - Building src/syntax/pa_comprehension/-n.ml:
                                  - Failed to build all of these:
                                      - Building src/syntax/pa_comprehension/-n.mly
                                      - Building src/syntax/pa_comprehension/-n.mll
                                      - Building src/syntax/pa_comprehension/-n.mlp
                              - Building src/syntax/pa_comprehension/-n.mli:
                                  - Building src/syntax/pa_comprehension/-n.mly
                              - Building src/syntax/pa_comprehension/-n.mlpack
                              - Building src/syntax/pa_comprehension/-n.mli:
                                  - Building src/syntax/pa_comprehension/-n.mly
                      - Building src/syntax/pa_strings/-n.cmo
                      - Building src/syntax/pa_strings/-n.cmo:
                          - Failed to build all of these:
                              - Building src/syntax/pa_strings/-n.ml:
                                  - Failed to build all of these:
                                      - Building src/syntax/pa_strings/-n.mly
                                      - Building src/syntax/pa_strings/-n.mll
                                      - Building src/syntax/pa_strings/-n.mlp
                              - Building src/syntax/pa_strings/-n.mli:
                                  - Building src/syntax/pa_strings/-n.mly
                              - Building src/syntax/pa_strings/-n.mlpack
                              - Building src/syntax/pa_strings/-n.mli:
                                  - Building src/syntax/pa_strings/-n.mly
                      - Building build/-n.cmo
                      - Building build/-n.cmo:
                          - Failed to build all of these:
                              - Building build/-n.ml:
                                  - Failed to build all of these:
                                      - Building build/-n.mly
                                      - Building build/-n.mll
                                      - Building build/-n.mlp
                              - Building build/-n.mli:
                                  - Building build/-n.mly
                              - Building build/-n.mlpack
                              - Building build/-n.mli:
                                  - Building build/-n.mly
                      - Building libs/-n.cmo
                      - Building libs/-n.cmo:
                          - Failed to build all of these:
                              - Building libs/-n.ml:
                                  - Failed to build all of these:
                                      - Building libs/-n.mly
                                      - Building libs/-n.mll
                                      - Building libs/-n.mlp
                              - Building libs/-n.mli:
                                  - Building libs/-n.mly
                              - Building libs/-n.mlpack
                              - Building libs/-n.mli:
                                  - Building libs/-n.mly
                      - Building src/-n.cmo
                      - Building src/-n.cmo:
                          - Failed to build all of these:
                              - Building src/-n.ml:
                                  - Failed to build all of these:
                                      - Building src/-n.mly
                                      - Building src/-n.mll
                                      - Building src/-n.mlp
                              - Building src/-n.mli:
                                  - Building src/-n.mly
                              - Building src/-n.mlpack
                              - Building src/-n.mli:
                                  - Building src/-n.mly
                      - Building testsuite/-n.cmo
                      - Building testsuite/-n.cmo:
                          - Failed to build all of these:
                              - Building testsuite/-n.ml:
                                  - Failed to build all of these:
                                      - Building testsuite/-n.mly
                                      - Building testsuite/-n.mll
                                      - Building testsuite/-n.mlp
                              - Building testsuite/-n.mli:
                                  - Building testsuite/-n.mly
                              - Building testsuite/-n.mlpack
                              - Building testsuite/-n.mli:
                                  - Building testsuite/-n.mly
                      - Building -n.cmo
                      - Building -n.cmo:
                          - Failed to build all of these:
                              - Building -n.ml:
                                  - Failed to build all of these:
                                      - Building -n.mly
                                      - Building -n.mll
                                      - Building -n.mlp
                              - Building -n.mli:
                                  - Building -n.mly
                              - Building -n.mlpack
                              - Building -n.mli:
                                  - Building -n.mly
                      - Building qtest/-n.cmo
                      - Building qtest/-n.cmo:
                          - Failed to build all of these:
                              - Building qtest/-n.ml:
                                  - Failed to build all of these:
                                      - Building qtest/-n.mly
                                      - Building qtest/-n.mll
                                      - Building qtest/-n.mlp
                              - Building qtest/-n.mli:
                                  - Building qtest/-n.mly
                              - Building qtest/-n.mlpack
                              - Building qtest/-n.mli:
                                  - Building qtest/-n.mly
Compilation unsuccessful after building 721 targets (488 cached) in 00:00:16.
make: *** [test] Error 6
thelema commented 13 years ago

very interesting... - Building libs/estring/-n.cmo -- your echo command doesn't take -n as a parameter, so you have "-n" as a dependency of the tests. Does changing line 159 of the Makefile (in the test_mods.mllib target)to /bin/echo -n "Quickcheck Tests " > $@ fix the problem?

ymotongpoo commented 13 years ago

It worked!! Thank you for your quick reply! For reference, here's my zsh's version: % zsh --version zsh 4.3.11 (i386-apple-darwin10.6.0)

thelema commented 13 years ago

Fixed wrong and then hopefully fixed right in commit da601823

ymotongpoo commented 13 years ago

I confirmed the commit works. Thanks a lot!!

thelema commented 13 years ago

Thanks for reporting the bug, keep letting us know anything that goes wrong on OSX - AFAIK, none of us test on OSX, so your bug reports are extra important.