* Erlang development in GNU Guix environment
@ 2021-06-18 10:38 Zelphir Kaltstahl
0 siblings, 0 replies; only message in thread
From: Zelphir Kaltstahl @ 2021-06-18 10:38 UTC (permalink / raw)
To: help-guix
Hello Guix User!
Today I decided to start a second attempt at getting Erlang and Emacs to work in
a GNU Guix environment.
I hit an error installing the emacs-erlang package.
In the following I protocol the steps I took and the resulting error.
In my project directory I have the following files:
~~~~
.
├── guix-env
│ ├── channels.scm
│ ├── env.sh
│ ├── manifest.scm
│ └── start-emacs.sh
~~~~
The content of the files is:
channels.scm, which was created as follows using a guix pulled just a few
minutes ago:
~~~~
guix pull
guix describe --format=channels > channels.scm
~~~~
channels.scm looks as follows:
~~~~
(list (channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(commit
"d4b86bac974fe133af629f5de25955339173f9ab")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
(openpgp-fingerprint
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))
~~~~
Next we have manifest.scm:
~~~~
(specifications->manifest
'("erlang"
"emacs"
"emacs-org"
"emacs-erlang"
"emacs-ob-erlang"))
~~~~
There is org babel erlang (ob-erlang) in there, because I intend to make use of
org mode and source blocks of erlang code, if possible.
Next is env.sh, a simple script that allows me to use guix time machine from
anywhere to spawn the guix environment's shell:
~~~~
#!/usr/bin/env bash
set -Eeuxo pipefail
DIR=$(dirname "$(readlink -f "${0}")")
guix time-machine \
--channels="${DIR}/channels.scm" -- \
environment \
--manifest="${DIR}/manifest.scm"
~~~~
I also have another, not yet used file there, start-emacs.sh:
~~~~
#!/usr/bin/env bash
set -Eeuxo pipefail
emacs --no-init-file --no-desktop --maximized
~~~~
With all this in place, I run the command:
~~~~
bash guix-env/env.sh
~~~~
Which will start creating the guix environment, which shall be used in the
spawned shell. However, I get an error:
~~~~
(lots of output above)
building /gnu/store/x0kjb6h125x75biz1fgwfskvwarrb789-emacs-erlang-23.2.1.drv...
/ 'install' phasebuilder for `/gnu/store/x0kjb6h125x75biz1fgwfskvwarrb789-emacs-erlang-23.2.1.drv' failed with exit code 1
build of /gnu/store/x0kjb6h125x75biz1fgwfskvwarrb789-emacs-erlang-23.2.1.drv failed
View build log at '/var/log/guix/drvs/x0/kjb6h125x75biz1fgwfskvwarrb789-emacs-erlang-23.2.1.drv.bz2'.
cannot build derivation `/gnu/store/q8986a2hjxv8bnvin1kq9p3mls2anggv-profile.drv': 1 dependencies couldn't be built
guix environment: error: build of `/gnu/store/q8986a2hjxv8bnvin1kq9p3mls2anggv-profile.drv' failed
~~~~
I copy the log file to my current directory and decompress it:
~~~~
cp /var/log/guix/drvs/x0/kjb6h125x75biz1fgwfskvwarrb789-emacs-erlang-23.2.1.drv.bz2 .
bzip2 --decompress kjb6h125x75biz1fgwfskvwarrb789-emacs-erlang-23.2.1.drv.bz2
~~~~
It contains as an error at the bottom of the file:
~~~~
## WARNING: phase `install' returned `#f'. Return values other than #t
## are deprecated. Please migrate this package so that its phase
## procedures report errors by raising an exception, and otherwise
## always return #t.
~~~~
Above that there are loooads of lines looking like the following:
~~~~
info: considering installing .............
~~~~
Where there are many things and files listed in place of the dots. The last few
of those lines are:
~~~~
info: considering installing bin/.gitignore
info: considering installing HOWTO/BENCHMARKS.md
info: considering installing HOWTO/BOOTSTRAP.md
info: considering installing HOWTO/DEPRECATE.md
info: considering installing HOWTO/DTRACE.md
info: considering installing HOWTO/INSTALL-ANDROID.md
info: considering installing HOWTO/INSTALL-CROSS.md
info: considering installing HOWTO/INSTALL-RASPBERRYPI3.md
info: considering installing HOWTO/INSTALL-WIN32-OLD.md
info: considering installing HOWTO/INSTALL-WIN32.md
info: considering installing HOWTO/INSTALL.md
info: considering installing HOWTO/MARKDOWN.md
info: considering installing HOWTO/OTP-PATCH-APPLY.md
info: considering installing HOWTO/SYSTEMTAP.md
info: considering installing HOWTO/TESTING.md
info: considering installing .github/workflows/main.yaml
info: considering installing .github/workflows/update-base.yaml
info: considering installing .github/dockerfiles/Dockerfile.32-bit
info: considering installing .github/dockerfiles/Dockerfile.64-bit
info: considering installing .github/dockerfiles/Dockerfile.cross-compile
info: considering installing .github/dockerfiles/Dockerfile.debian-base
info: considering installing .github/dockerfiles/Dockerfile.documentation
info: considering installing .github/dockerfiles/Dockerfile.ubuntu-base
phase `install' failed after 3.3 seconds
## WARNING: phase `install' returned `#f'. Return values other than #t
## are deprecated. Please migrate this package so that its phase
## procedures report errors by raising an exception, and otherwise
## always return #t.
~~~~
When I scroll very far upwards in that file, holding page up down for 5s or so,
I get to lines, which do not start with "info: ..." and there seems to be
something going on:
~~~~
phase `patch-source-shebangs' succeeded after 0.6 seconds
starting phase `patch-generated-file-shebangs'
patch-shebang: ./erts/emulator/utils/beam_emu_vars: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./erts/emulator/utils/beam_makeops: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./erts/emulator/utils/beam_strip: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./erts/emulator/utils/find_cross_ycf: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./erts/emulator/utils/make_alloc_types: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./erts/emulator/utils/make_compiler_flags: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./erts/emulator/utils/make_driver_tab: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./erts/emulator/utils/make_preload: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./erts/emulator/utils/make_tables: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./erts/emulator/utils/make_version: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./erts/etc/unix/gcov-gen-html: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./erts/lib_src/utils/make_atomics_api: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/compiler/scripts/smoke: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/diameter/bin/diameterc: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/erl_docgen/priv/bin/codeline_preprocessing.escript: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/erl_docgen/priv/bin/github_link.escript: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/erl_docgen/priv/bin/validate_links.escript: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/erl_docgen/priv/bin/xml_from_edoc.escript: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/erl_docgen/priv/bin/xref_mod_app.escript: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/kernel/test/esock_ttest/esock-ttest: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/public_key/priv/convert.escript: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/reltool/bin/reltool.escript: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/reltool/examples/mnesia_core_dump_viewer: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/scripts/update_deprecations: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/arg_overflow: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/bad_io_server: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/compile_error: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/emulator_flags: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/factorial: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/factorial_compile: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/factorial_compile_main: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/factorial_epp: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/factorial_warning: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/filesize: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/linebuf_overflow: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/lint_error: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/strange.name: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/tail_rec: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/test_script_name: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/trap_exit: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/two_lines: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/unicode1: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/unicode2: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/unicode3: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/unicode4: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/unicode5: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./lib/stdlib/test/escript_SUITE_data/unicode6: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./make/fixup_development_runtime_dependencies: warning: no binary for interpreter `perl' found in $PATH
patch-shebang: ./make/make_emakefile.in: warning: no binary for interpreter `@PERL@' found in $PATH
patch-shebang: ./make/verify_runtime_dependencies: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./scripts/diffable: warning: no binary for interpreter `escript' found in $PATH
patch-shebang: ./scripts/otp_html_check: warning: no binary for interpreter `perl' found in $PATH
patch-makefile-SHELL: ./lib/hipe/Makefile: changing `SHELL' from `/bin/sh' to `/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh'
patch-makefile-SHELL: ./lib/hipe/doc/Makefile: changing `SHELL' from `/bin/sh' to `/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh'
phase `patch-generated-file-shebangs' succeeded after 0.2 seconds
starting phase `check'
test suite not run
phase `check' succeeded after 0.0 seconds
starting phase `install'
error: No files found to install.
info: considering installing .dir-locals.el
info: .dir-locals.el included as it matches "^[^/]*\.el$"
info: .dir-locals.el excluded as it matches "^\.dir-locals\.el$"
info: considering installing .gitattributes
~~~~
Could that be something about some emacs lisp script or about some erlang script?
Not sure that has anything to do with the final error I get, but it does say:
~~~~
starting phase `install'
error: No files found to install.
~~~~
Then after that it "considers" a lot of things to install but probably does not.
And then it fails.
How can I fix the issues or work around it?
Best regards,
Zelphir
--
repositories: https://notabug.org/ZelphirKaltstahl
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-06-18 10:39 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-18 10:38 Erlang development in GNU Guix environment Zelphir Kaltstahl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).