GithubHelp home page GithubHelp logo

Comments (17)

protz avatar protz commented on August 29, 2024

Can you check in the system properties dialog that all the OCAML*
environment variables are set up properly?

~ jonathan

On Fri 25 Oct 2013 06:06:03 AM CEST, Derek Perkins wrote:

I've can't fix this error that I'm getting when running a make file.

|make[2]: Entering directory '/cygdrive/c/pfff/external/ocamlgraph'
ocamlc -c -I src -I lib -g -dtypes src/sig.mli

Fatal error: cannot open implicit module "Pervasives"
Fatal error: exception Misc.Fatal_error
Makefile:493: recipe for target 'src/sig.cmi' failed
|

It seems to be an error that other people are having, though the fix
suggested by the following StackOverflow page doesn't work for me.
http://stackoverflow.com/questions/15712618/why-cant-pervasives-cmi-be-opened

|export OCAMLLIB=C:\OCaml\lib|

I am running Cygwin (installed with the OCaml installer) on Windows
8.1 as an administrator, and I ran chmod 777 -R /cygdrive/c/OCaml so I
don't think it's a permissions issue, and I ran a make depend that
worked, so I think the paths should be set up. Here's my path.

|$ echo $PATH
/usr/local/bin:/usr/bin:/cygdrive/c/OCaml/bin:/cygdrive/c/Ruby200/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Common Files/Intuit/QBPOSSDKRuntime:/cygdrive/c/Program Files/nodejs:/cygdrive/c/ProgramData/Composer/bin:/cygdrive/c/dos2unix/bin:/cygdrive/c/Program Files (x86)/Git/cmd:/cygdrive/c/opscode/chef/bin:/cygdrive/c/opscode/chef/embedded/bin:/cygdrive/c/Program Files (x86)/MySQL/MySQL Utilities 1.3.4:/cygdrive/c/HashiCorp/Vagrant/bin:/cygdrive/c/php:/cygdrive/c/php/pear:/cygdrive/c/Program Files/TortoiseGit/bin:/cygdrive/c/Users/Derek/AppData/Roaming/npm:/cygdrive/c/Program Files/Oracle/VirtualBox
|

At the end of the day, I am trying to compile and run
https://github.com/facebook/pfff.


Reply to this email directly or view it on GitHub
#26.

from ocaml-installer.

derekperkins avatar derekperkins commented on August 29, 2024

I think they are correct.

image

from ocaml-installer.

protz avatar protz commented on August 29, 2024

Can you open the findlib.conf file and check that its contents are also
ok?

Thanks,

~ jonathan

On Fri 25 Oct 2013 09:38:36 AM CEST, Derek Perkins wrote:

I think they are correct.

image
https://f.cloud.github.com/assets/3588778/1406062/662170de-3d48-11e3-9532-7caaa1a8bc8c.png


Reply to this email directly or view it on GitHub
#26 (comment).

from ocaml-installer.

derekperkins avatar derekperkins commented on August 29, 2024

It appears to be fine, but this is my first time using OCaml, so I don't know for sure.

destdir="C:\\OCaml\\lib\\site-lib"
path="C:\\OCaml\\lib\\site-lib"
stdlib="C:\\OCaml\\lib"
ldconf="C:\\OCaml\\lib\\ld.conf"
ocamlc="ocamlc.opt"
ocamlopt="ocamlopt.opt"
ocamldep="ocamldep.opt"
ocamldoc="ocamldoc.opt"

from ocaml-installer.

protz avatar protz commented on August 29, 2024

Are you using the cygwin terminal? What is the output of "which
ocamlc"? Are you sure that Make is launched with the right environment
and the right variables? What does echo $OCAMLLIB and echo
$OCAMLFIND_CONF output?

Thanks,

~ jonathan

On Fri 25 Oct 2013 09:49:40 AM CEST, Derek Perkins wrote:

It appears to be fine, but this is my first time using OCaml, so I
don't know for sure.

|destdir="C:\OCaml\lib\site-lib"
path="C:\OCaml\lib\site-lib"
stdlib="C:\OCaml\lib"
ldconf="C:\OCaml\lib\ld.conf"
ocamlc="ocamlc.opt"
ocamlopt="ocamlopt.opt"
ocamldep="ocamldep.opt"
ocamldoc="ocamldoc.opt"
|


Reply to this email directly or view it on GitHub
#26 (comment).

from ocaml-installer.

derekperkins avatar derekperkins commented on August 29, 2024

I appreciate your help very much. Here's the output from those commands:

Derek@Derek /cygdrive/c/pfff
$ make
make rec
make[1]: Entering directory '/cygdrive/c/pfff'
make -C commons
make[2]: Entering directory '/cygdrive/c/pfff/commons'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/cygdrive/c/pfff/commons'
make all -C external/ocamlgraph && make graph -C commons
make[2]: Entering directory '/cygdrive/c/pfff/external/ocamlgraph'
ocamlc -c -I src -I lib -g -dtypes src/sig.mli
>> Fatal error: cannot open implicit module "Pervasives"
Fatal error: exception Misc.Fatal_error
Makefile:493: recipe for target 'src/sig.cmi' failed
make[2]: *** [src/sig.cmi] Error 2
make[2]: Leaving directory '/cygdrive/c/pfff/external/ocamlgraph'
Makefile:297: recipe for target 'rec' failed
make[1]: *** [rec] Error 2
make[1]: Leaving directory '/cygdrive/c/pfff'
Makefile:288: recipe for target 'all' failed
make: *** [all] Error 2

Derek@Derek /cygdrive/c/pfff
$ which ocamlc
/cygdrive/c/OCaml/bin/ocamlc

Derek@Derek /cygdrive/c/pfff
$ echo $OCAMLLIB
C:\OCaml\lib

Derek@Derek /cygdrive/c/pfff
$ echo $OCAMLFIND_CONF
C:\OCaml\etc\findlib.conf

image

from ocaml-installer.

protz avatar protz commented on August 29, 2024

Can you run the regular ocaml toplevel?

~ jonathan

On Fri 25 Oct 2013 10:04:42 AM CEST, Derek Perkins wrote:

I appreciate your help very much. Here's the output from those commands:

|Derek@Derek /cygdrive/c/pfff
$ make
make rec
make[1]: Entering directory '/cygdrive/c/pfff'
make -C commons
make[2]: Entering directory '/cygdrive/c/pfff/commons'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/cygdrive/c/pfff/commons'
make all -C external/ocamlgraph && make graph -C commons
make[2]: Entering directory '/cygdrive/c/pfff/external/ocamlgraph'
ocamlc -c -I src -I lib -g -dtypes src/sig.mli

Fatal error: cannot open implicit module "Pervasives"
Fatal error: exception Misc.Fatal_error
Makefile:493: recipe for target 'src/sig.cmi' failed
make[2]: *** [src/sig.cmi] Error 2
make[2]: Leaving directory '/cygdrive/c/pfff/external/ocamlgraph'
Makefile:297: recipe for target 'rec' failed
make[1]: *** [rec] Error 2
make[1]: Leaving directory '/cygdrive/c/pfff'
Makefile:288: recipe for target 'all' failed
make: *** [all] Error 2

Derek@Derek /cygdrive/c/pfff
$ which ocamlc
/cygdrive/c/OCaml/bin/ocamlc

Derek@Derek /cygdrive/c/pfff
$ echo $OCAMLLIB
C:\OCaml\lib

Derek@Derek /cygdrive/c/pfff
$ echo $OCAMLFIND_CONF
C:\OCaml\etc\findlib.conf

|
|

image
https://f.cloud.github.com/assets/3588778/1406194/032a717a-3d4c-11e3-929f-836414561e1c.png


Reply to this email directly or view it on GitHub
#26 (comment).

from ocaml-installer.

derekperkins avatar derekperkins commented on August 29, 2024

Just this little bit?
image

from ocaml-installer.

protz avatar protz commented on August 29, 2024

Yes. So it means that ocaml is working fine when launched from your
terminal.

Can you check that ocamlc also works fine?

echo print_endline "hello" > test.ml
ocamlc test.ml

If ocamlc also works fine, then there's something wrong in the way make
calls ocamlc. Maybe make is a windows program that hasn't picked up on
the environment changes. Maybe you need to restart the computer? The
bug is becoming really tricky at this stage...

~ jonathan

On Fri 25 Oct 2013 10:22:18 AM CEST, Derek Perkins wrote:

Just this little bit?
image
https://f.cloud.github.com/assets/3588778/1406300/8db56456-3d4e-11e3-98f8-cc9ef00cf64c.png


Reply to this email directly or view it on GitHub
#26 (comment).

from ocaml-installer.

derekperkins avatar derekperkins commented on August 29, 2024

Ok, I found something wrong this time, even after I rebooted my computer.

Derek@Derek /cygdrive/c
$ echo print_endline \"hello\" > test.ml

Derek@Derek /cygdrive/c
$ ocamlc test.ml
File "test.ml", line 1:
Error: I/O error: camlprog.exe: Permission denied

image

from ocaml-installer.

protz avatar protz commented on August 29, 2024

Maybe you don't have write permission for the current working directory?

~ jonathan

On Fri 25 Oct 2013 10:45:25 AM CEST, Derek Perkins wrote:

Ok, I found something wrong this time.

|Derek@Derek /cygdrive/c
$ echo print_endline "hello" > test.ml

Derek@Derek /cygdrive/c
$ ocamlc test.ml
File "test.ml", line 1:
Error: I/O error: camlprog.exe: Permission denied
|

image
https://f.cloud.github.com/assets/3588778/1406434/b0a34e6c-3d51-11e3-9934-8d253efda267.png


Reply to this email directly or view it on GitHub
#26 (comment).

from ocaml-installer.

derekperkins avatar derekperkins commented on August 29, 2024

I just checked and I don't have camlprog.exe at all in my OCaml directory.

from ocaml-installer.

protz avatar protz commented on August 29, 2024

camlprog.exe is the name of the output of ocamlc; looks like ocamlc is
trying to write the generated executable into camlprog.exe and it can't.

~ jonathan

On Fri 25 Oct 2013 10:51:33 AM CEST, Derek Perkins wrote:

I just checked and I don't have camlprog.exe at all in my OCaml directory.


Reply to this email directly or view it on GitHub
#26 (comment).

from ocaml-installer.

derekperkins avatar derekperkins commented on August 29, 2024

Ok, I had run chmod 777 on that directory, thinking that was enough. After changing the security settings through Windows, the last command ran fine.

I still can't compile this however. Could you see if your machine compiles it, to see if it's something with my install of OCaml or Cygwin? If you have issues, then maybe it just wasn't meant to work in Windows...
https://github.com/facebook/pfff/wiki/Main

from ocaml-installer.

protz avatar protz commented on August 29, 2024
  • pfff doesn't detect my gtk+ setup properly,
  • I had to modify the configure script to make it call the right cpp
  • it still isn't getting the dependencies right and it's trying to
    create a .cmo without a .cmi

This is on the latest -master.

I suspect something is wrong in the build system of pfff...

If you're positive you're using the native windows ocaml build (i.e.
this installer), then unfortunately I have no clue as to what's going
on...

~ jonathan

On Fri 25 Oct 2013 11:03:04 AM CEST, Derek Perkins wrote:

Ok, I had run chmod 777 on that directory, thinking that was enough.
After changing the security settings through Windows, the last command
ran fine.

I still can't compile this however. Could you see if your machine
compiles it, to see if it's something with my install of OCaml or
Cygwin? If you have issues, then maybe it just wasn't meant to work in
Windows...
https://github.com/facebook/pfff/wiki/Main


Reply to this email directly or view it on GitHub
#26 (comment).

from ocaml-installer.

derekperkins avatar derekperkins commented on August 29, 2024

I really appreciate your help. Too bad it doesn't work correctly. Thanks for all your hard work you've put into this installer.

from ocaml-installer.

camlspotter avatar camlspotter commented on August 29, 2024

I have just got the same symptom at building ocamlspot:

$ make
ocamlc -annot -bin-annot -I dir1 -I dir2 -c open_in_mli.mli

Fatal error: cannot open implicit module "Pervasives"
Fatal error: exception Misc.Fatal_error
Makefile:68: recipe for target 'open_in_mli.cmi' failed
make: *** [open_in_mli.cmi] Error 2

Executing the command ocamlc -annot -bin-annot -I dir1 -I dir2 -c open_in_mli.mli in the terminal works fine.

After investigating my Makefile I found:

OCAMLLIB = $(LIBDIR)

So, if I run make, then Makefile resets OCAMLLIB, this caused my problem. You may want to check OCAMLLIB is overridden or not in your build script.

from ocaml-installer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.