reason-cli icon indicating copy to clipboard operation
reason-cli copied to clipboard

Creating Releases Requires m4.

Open fortes opened this issue 7 years ago • 4 comments

I'm having issues install on the latest debian, here's my terminal output:

localhost:~/reason npm install -g git://github.com/reasonml/reason-cli.git
/home/fortes/.local/bin/ocamlmerlin-reason -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/ocamlmerlin-reason
/home/fortes/.local/bin/ocamlopt -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/ocamlopt
/home/fortes/.local/bin/ocaml -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/ocaml
/home/fortes/.local/bin/utop -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/utop
/home/fortes/.local/bin/reopt -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/reopt
/home/fortes/.local/bin/rebuild -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/rebuild
/home/fortes/.local/bin/refmttype -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/refmttype
/home/fortes/.local/bin/reactjs_jsx_ppx -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/reactjs_jsx_ppx
/home/fortes/.local/bin/berror -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/berror
/home/fortes/.local/bin/ocamlmerlin -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/ocamlmerlin
/home/fortes/.local/bin/rtop -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/rtop
/home/fortes/.local/bin/ocamlc -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/ocamlc
/home/fortes/.local/bin/ocamlrun -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/ocamlrun
/home/fortes/.local/bin/refmt -> /home/fortes/.local/lib/node_modules/reason-cli/.bin/refmt

> [email protected] postinstall /home/fortes/.local/lib/node_modules/reason-cli/node_modules/fastreplacestring
> g++ -Ofast -o ./.bin/fastreplacestring.exe ./fastreplacestring.cpp


> [email protected] postinstall /home/fortes/.local/lib/node_modules/reason-cli
> ./scripts/performActualInstallAndFixLinks.sh

esy install v0.21.0-0
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 0/33(node:15122) DeprecationWarning: crypto.createCredentials is deprecated. Use tls.createSecureContext instead.
(node:15122) DeprecationWarning: crypto.Credentials is deprecated. Use tls.SecureContext instead.
[3/4] Linking dependencies...
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
[4/4] Building fresh packages...
(node:15122) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
success Saved lockfile.
Done in 11.87s.
 ◯ opam-installer-bin: building from source...
 ◯ substs: building from source...
 ◉ substs: build complete
 ◉ opam-installer-bin: build complete
 ◯ ocaml: building from source...
 ◉ ocaml: build complete
 ◯ @opam-alpha/base-threads: building from source...
 ◯ @opam-alpha/base-unix: building from source...
 ◯ @opam-alpha/conf-m4: building from source...
 ◯ @opam-alpha/result: building from source...
 ◯ @opam-alpha/conf-which: building from source...
 ◉ @opam-alpha/base-unix: build complete
 ◉ @opam-alpha/base-threads: build complete
 ◌ @opam-alpha/conf-m4: build failed, see:

  /home/fortes/.esy/store-3.x.x/_build/opam_alpha__slash__conf_m4-1.0.0-3a9f448f76d89787ff52bef5066967867a8d723f/_esy/build.log

for details
/home/fortes/dotfiles/symlinks/local/lib/node_modules/reason-cli/actualInstall/node_modules/.cache/_esy/build-eject/Makefile:183: recipe for target '@opam-alpha/conf-m4.build' failed
make: *** [@opam-alpha/conf-m4.build] Error 1
make: *** Waiting for unfinished jobs....
 ◉ @opam-alpha/conf-which: build complete
 ◉ @opam-alpha/result: build complete
./node_modules/.cache/_esy/build-eject:
bin  env  findlib.conf.in  Makefile  node_modules  sandbox.sb.in

./node_modules/.cache/_esy/store:
_build  _install  _insttmp
FAILED TO BUILD
npm ERR! Linux 3.14.0
npm ERR! argv "/home/fortes/dotfiles/symlinks/local/bin/node" "/home/fortes/.local/bin/npm" "install" "-g" "git://github.com/reasonml/reason-cli.git"
npm ERR! node v7.9.0
npm ERR! npm  v4.2.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1

npm ERR! [email protected] postinstall: `./scripts/performActualInstallAndFixLinks.sh`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script './scripts/performActualInstallAndFixLinks.sh'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the reason-cli package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ./scripts/performActualInstallAndFixLinks.sh
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs reason-cli
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls reason-cli
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/fortes/.cache/npm/_logs/2017-05-09T19_27_42_363Z-debug.log

fortes avatar May 09 '17 19:05 fortes

Looks like this is caused by not having m4 installed, I installed it manually and it worked.

fortes avatar May 09 '17 19:05 fortes

This has been a problem with OCaml in general for quite a long time, even when installing from dpkg or repositories! I wonder if maybe there's some arcane reason that m4 can't just be added to a dependencies list somewhere...

chrismamo1 avatar Oct 31 '17 02:10 chrismamo1

We can easily add it as a dependency. It's a very easy task, if anyone wants to help. @andreypopp I think we can just add a package.json to the repo that you already created here correct? Then we can make it a dependency of the ocaml compiler. Is it windows compatible?

jordwalke avatar Oct 31 '17 03:10 jordwalke

Changed the title to reflect that m4 is now no longer required to install, but is required to release or build on the fly. We still might want to make m3 an esy package dependency to remove one more thing that can go wrong.

jordwalke avatar Oct 31 '17 03:10 jordwalke