-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error Adding Package to spin. #73
Comments
Hi @idkjs, thanks for the issue. I believe the issue is that For now, you can either remove Base (by removing it from |
If I remove ❯ grep -R 'base' .
./README.md:`(libraries base)`
./README.md:`(libraries base console.lib pastel.lib)`
./README.md:(libraries base console.lib pastel.lib cmdliner)
./README.md:(libraries base console.lib pastel.lib cmdliner luv)
./README.md:5 | (libraries base console.lib pastel.lib cmdliner luv)
./.git/hooks/pre-rebase.sample:# The "pre-rebase" hook is run just before "git rebase" starts doing
./.git/hooks/pre-rebase.sample:# $2 -- the branch being rebased (or empty when rebasing the current branch).
./.git/hooks/pre-rebase.sample:# merged to 'next' branch from getting rebased, because allowing it
./.git/hooks/pre-rebase.sample:basebranch="$1"
./.git/hooks/pre-rebase.sample:# Now we are dealing with a topic branch being rebased
./.git/hooks/pre-rebase.sample:# on top of master. Is it OK to rebase it?
./.git/hooks/pre-rebase.sample: merged into other branches can be easily rebased without
./.git/hooks/pre-rebase.sample:We would want to allow C to be rebased, refuse A, and encourage
Binary file ./.git/index matches Then run Error: exception Sys_error("luv-cli.opam: Operation not permitted")
Raised by primitive operation at file "stdlib.ml", line 324, characters 29-55
Called from file "src/stdune/io.ml", line 173, characters 8-126
Re-raised at file "src/stdune/io.ml", line 178, characters 8-23
Called from file "src/dune/artifact_substitution.ml", line 407, characters
15-48
Called from file "src/fiber/fiber.ml", line 229, characters 16-19
Called from file "src/dune/build_system.ml", line 1588, characters 8-1023
Called from file "src/fiber/fiber.ml", line 114, characters 10-15
Re-raised at file "src/stdune/exn.ml" (inlined), line 37, characters 27-56
Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters
33-71
Called from file "src/fiber/fiber.ml", line 85, characters 10-17
Re-raised at file "src/stdune/exn.ml" (inlined), line 37, characters 27-56
Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters
33-71
Called from file "src/fiber/fiber.ml", line 85, characters 10-17
Re-raised at file "src/stdune/exn.ml" (inlined), line 37, characters 27-56
Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters
33-71
Called from file "src/fiber/fiber.ml", line 85, characters 10-17
Re-raised at file "src/stdune/exn.ml" (inlined), line 37, characters 27-56
Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters
33-71
Called from file "src/fiber/fiber.ml", line 85, characters 10-17
Re-raised at file "src/stdune/exn.ml" (inlined), line 37, characters 27-56
Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters
33-71
Called from file "src/fiber/fiber.ml", line 85, characters 10-17
Re-raised at file "src/stdune/exn.ml" (inlined), line 37, characters 27-56
Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters
33-71
Called from file "src/fiber/fiber.ml", line 85, characters 10-17
Re-raised at file "src/stdune/exn.ml" (inlined), line 37, characters 27-56
Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters
33-71
Called from file "src/fiber/fiber.ml", line 85, characters 10-17
I must not crash. Uncertainty is the mind-killer. Exceptions are the
little-death that brings total obliteration. I will fully express my cases.
Execution will pass over me and through me. And when it has gone past, I
will unwind the stack along its path. Where the cases are handled there will
be nothing. Only I will remain.
error: command failed: 'refmterr' 'dune' 'build' '--root' '.' '--only-package' 'luv-cli' (exited with 1)
esy-build-package: exiting with errors above...
error: build failed with exit code: 1
esy: exiting due to errors above Then ❯ grep -R --exclude-dir=_esy 'base' .
./test/.merlin:B /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__seq-opam__c__base-5760452b/lib/seq
./test/.merlin:S /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__seq-opam__c__base-5760452b/lib/seq
./bin/.merlin:B /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__base-opam__c__v0.13.1-fdb7b8b8/lib/base
./bin/.merlin:B /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__base-opam__c__v0.13.1-fdb7b8b8/lib/base/base_internalhash_types
./bin/.merlin:B /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__base-opam__c__v0.13.1-fdb7b8b8/lib/base/caml
./bin/.merlin:B /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__base-opam__c__v0.13.1-fdb7b8b8/lib/base/shadow_stdlib
./bin/.merlin:B /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__seq-opam__c__base-5760452b/lib/seq
./bin/.merlin:S /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__base-opam__c__v0.13.1-fdb7b8b8/lib/base
./bin/.merlin:S /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__base-opam__c__v0.13.1-fdb7b8b8/lib/base/base_internalhash_types
./bin/.merlin:S /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__base-opam__c__v0.13.1-fdb7b8b8/lib/base/caml
./bin/.merlin:S /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__base-opam__c__v0.13.1-fdb7b8b8/lib/base/shadow_stdlib
./bin/.merlin:S /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__seq-opam__c__base-5760452b/lib/seq
./esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/files/ocamlbuild-0.14.0.patch: try Array.iter (fun x -> if x = basename then raise Exit) a; false
./esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/files/findlib-1.8.1.patch:--- ./src/findlib/fl_package_base.ml
./esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/files/findlib-1.8.1.patch:+++ ./src/findlib/fl_package_base.ml
./esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/files/findlib-1.8.1.patch: ~base ~explicit:true
./esy.lock/opam/dune.2.5.1/opam: "base-unix"
./esy.lock/opam/dune.2.5.1/opam: "base-threads"
./esy.lock/opam/ocplib-endian.1.1/opam: "base-bytes"
./esy.lock/opam/astring.0.8.3/opam: "base-bytes"
./esy.lock/opam/cmdliner.1.0.4/opam:[1]: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html
./esy.lock/opam/base.v0.13.1/opam:homepage: "https://github.com/janestreet/base"
./esy.lock/opam/base.v0.13.1/opam:bug-reports: "https://github.com/janestreet/base/issues"
./esy.lock/opam/base.v0.13.1/opam:dev-repo: "git+https://github.com/janestreet/base.git"
./esy.lock/opam/base.v0.13.1/opam:doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/base/index.html"
./esy.lock/opam/base.v0.13.1/opam: src: "https://github.com/janestreet/base/archive/v0.13.1.tar.gz"
./esy.lock/opam/bos.0.2.0/opam: "base-unix"
./esy.lock/opam/cppo.1.6.6/opam: "base-unix"
./esy.lock/opam/lwt.5.2.0/opam: "base-threads"
./esy.lock/opam/lwt.5.2.0/opam: "base-unix"
./esy.lock/opam/ctypes.0.17.1/opam: [make "XEN=%{mirage-xen:enable}%" "ctypes-base" "ctypes-stubs"]
./esy.lock/opam/zed.2.0.7/opam: "base-bytes"
./esy.lock/opam/ocamlbuild.0.14.0/opam: "base-ocamlbuild"
./esy.lock/opam/opam-core.2.0.6/opam: "base-unix"
./esy.lock/opam/opam-core.2.0.6/opam: "base-bigarray"
./esy.lock/opam/fmt.0.8.8/opam:depopts: [ "base-unix" "cmdliner" ]
./esy.lock/opam/fmt.0.8.8/opam: "--with-base-unix" "%{base-unix:installed}%"
./esy.lock/opam/luv.0.5.1/opam: "base-unix" {build}
./esy.lock/opam/luv.0.5.1/opam: "base-unix" {with-test}
./esy.lock/opam/logs.0.7.0/opam: "base-threads"
./esy.lock/opam/logs.0.7.0/opam: "--with-base-threads" "%{base-threads:installed}%"
./esy.lock/opam/logs.0.7.0/opam:A few optional log reporters are distributed with the base library and
./esy.lock/opam/sexplib0.v0.13.0/opam:synopsis: "Library containing the definition of S-expressions and some base converters"
./esy.lock/opam/stdio.v0.13.0/opam: "base" {>= "v0.13" & < "v0.14"}
./esy.lock/opam/utop.2.4.3/opam: "base-unix"
./esy.lock/opam/utop.2.4.3/opam: "base-threads"
./esy.lock/index.json: "@opam/base-bytes@opam:base@19d0c2ff",
./esy.lock/index.json: "@opam/base-bytes@opam:base@19d0c2ff"
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/base-threads@opam:base@36803084",
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/base-threads@opam:base@36803084"
./esy.lock/index.json: "@opam/seq@opam:base@d8d7de1d", "@opam/re@opam:1.9.0@d4d5e13d",
./esy.lock/index.json: "@opam/seq@opam:base@d8d7de1d", "@opam/re@opam:1.9.0@d4d5e13d",
./esy.lock/index.json: "@opam/base@opam:v0.13.1@7d937ed0",
./esy.lock/index.json: "@opam/base@opam:v0.13.1@7d937ed0"
./esy.lock/index.json: "@opam/seq@opam:base@d8d7de1d": {
./esy.lock/index.json: "id": "@opam/seq@opam:base@d8d7de1d",
./esy.lock/index.json: "version": "opam:base",
./esy.lock/index.json: "version": "base",
./esy.lock/index.json: "path": "esy.lock/opam/seq.base"
./esy.lock/index.json: "ocaml@4.9.0@d41d8cd9", "@opam/seq@opam:base@d8d7de1d",
./esy.lock/index.json: "ocaml@4.9.0@d41d8cd9", "@opam/seq@opam:base@d8d7de1d",
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/base-bigarray@opam:base@b03491b0",
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/base-bigarray@opam:base@b03491b0"
./esy.lock/index.json: "@opam/base-bytes@opam:base@19d0c2ff",
./esy.lock/index.json: "@opam/base-bytes@opam:base@19d0c2ff"
./esy.lock/index.json: "ocaml@4.9.0@d41d8cd9", "@opam/seq@opam:base@d8d7de1d",
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/base-threads@opam:base@36803084",
./esy.lock/index.json: "ocaml@4.9.0@d41d8cd9", "@opam/seq@opam:base@d8d7de1d",
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb"
./esy.lock/index.json: "@opam/base-threads@opam:base@36803084",
./esy.lock/index.json: "@opam/seq@opam:base@d8d7de1d",
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/seq@opam:base@d8d7de1d"
./esy.lock/index.json: "ocaml@4.9.0@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/base-threads@opam:base@36803084",
./esy.lock/index.json: "ocaml@4.9.0@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/base-threads@opam:base@36803084"
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb"
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "@opam/base-unix@opam:base@87d0b2eb": {
./esy.lock/index.json: "id": "@opam/base-unix@opam:base@87d0b2eb",
./esy.lock/index.json: "name": "@opam/base-unix",
./esy.lock/index.json: "version": "opam:base",
./esy.lock/index.json: "name": "base-unix",
./esy.lock/index.json: "version": "base",
./esy.lock/index.json: "path": "esy.lock/opam/base-unix.base"
./esy.lock/index.json: "@opam/base-threads@opam:base@36803084": {
./esy.lock/index.json: "id": "@opam/base-threads@opam:base@36803084",
./esy.lock/index.json: "name": "@opam/base-threads",
./esy.lock/index.json: "version": "opam:base",
./esy.lock/index.json: "name": "base-threads",
./esy.lock/index.json: "version": "base",
./esy.lock/index.json: "path": "esy.lock/opam/base-threads.base"
./esy.lock/index.json: "@opam/base-bytes@opam:base@19d0c2ff": {
./esy.lock/index.json: "id": "@opam/base-bytes@opam:base@19d0c2ff",
./esy.lock/index.json: "name": "@opam/base-bytes",
./esy.lock/index.json: "version": "opam:base",
./esy.lock/index.json: "name": "base-bytes",
./esy.lock/index.json: "version": "base",
./esy.lock/index.json: "path": "esy.lock/opam/base-bytes.base"
./esy.lock/index.json: "@opam/base-bigarray@opam:base@b03491b0": {
./esy.lock/index.json: "id": "@opam/base-bigarray@opam:base@b03491b0",
./esy.lock/index.json: "name": "@opam/base-bigarray",
./esy.lock/index.json: "version": "opam:base",
./esy.lock/index.json: "name": "base-bigarray",
./esy.lock/index.json: "version": "base",
./esy.lock/index.json: "path": "esy.lock/opam/base-bigarray.base"
./esy.lock/index.json: "@opam/base@opam:v0.13.1@7d937ed0": {
./esy.lock/index.json: "id": "@opam/base@opam:v0.13.1@7d937ed0",
./esy.lock/index.json: "name": "@opam/base",
./esy.lock/index.json: "archive:https://github.com/janestreet/base/archive/v0.13.1.tar.gz#md5:296457416f9a8b75e6edfc3b1140e384"
./esy.lock/index.json: "name": "base",
./esy.lock/index.json: "path": "esy.lock/opam/base.v0.13.1"
./esy.lock/index.json: "@opam/base-bytes@opam:base@19d0c2ff",
./esy.lock/index.json: "ocaml@4.9.0@d41d8cd9", "@opam/base-bytes@opam:base@19d0c2ff"
./README.md:`(libraries base)`
./README.md:`(libraries base console.lib pastel.lib)`
./README.md:(libraries base console.lib pastel.lib cmdliner)
./README.md:(libraries base console.lib pastel.lib cmdliner luv)
./README.md:5 | (libraries base console.lib pastel.lib cmdliner luv)
./lib/.merlin:B /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__seq-opam__c__base-5760452b/lib/seq
./lib/.merlin:S /Users/mandalarian/.esy/3_____________________________________________________________/i/opam__s__seq-opam__c__base-5760452b/lib/seq
./.git/hooks/pre-rebase.sample:# The "pre-rebase" hook is run just before "git rebase" starts doing
./.git/hooks/pre-rebase.sample:# $2 -- the branch being rebased (or empty when rebasing the current branch).
./.git/hooks/pre-rebase.sample:# merged to 'next' branch from getting rebased, because allowing it
./.git/hooks/pre-rebase.sample:basebranch="$1"
./.git/hooks/pre-rebase.sample:# Now we are dealing with a topic branch being rebased
./.git/hooks/pre-rebase.sample:# on top of master. Is it OK to rebase it?
./.git/hooks/pre-rebase.sample: merged into other branches can be easily rebased without
./.git/hooks/pre-rebase.sample:We would want to allow C to be rebased, refuse A, and encourage
Binary file ./.git/index matches
I read the tmattio/spin-templates#10 and the related issues so I see you are concerned about friction so this is my contribution. I don't need this to work right now. Im coding in the open on dev.to so i'd like to be able to explain to myself and other how to resolve this. I would think just removing the library would do it. Maybe I am rebuilding incorrectly. The answer might simply be to wait for pull/10 to land. Ideas? As a side note, reinstalling does not update the I hope this information is useful to you and thanks for sharing your work. |
Having Base present in the lock file is to be expected since a lot of libraries depend on it. I read the blog post and it pains me to see that you're having more trouble with Spin than with other tools when the exact goal of Spin is to make it straight forward to start new projects. So let's get to the bottom of it 🙂 I've read the doc more carefully and I think there is no alternative to If that doesn't work, would you mind creating a repo that reproduces the error so that I can try and investigate the problem with the code? Thanks again for taking the time to report the issue and to bear with Spin even with the friction points. Hopefully, we'll manage to remove them 😄 |
My brother! Reproduction is here: https://github.com/idkjs/luv-cli. master work before adding Blows up on add-luv branch. Thanks in advance. There must be a simple way to say, hey, lets not use this and change out the deps. I feel your pain. But this is the work we go through to get to where you want to get. I hope my ignorance serves you well. |
I've tried the branch and it works fine! I see that there were two issues in your comment:
Let me know if this fixes your issue! |
I've opened an issue in Esy related to this: esy/esy#1085 |
I was not able to resolve running the Luv example. My point was basically that it was difficult to remove the base dependency and recompile at all. Still can't do it in a
That error was new to me. Tried guessing around, unsuccessfully. Your chasing that down is a win! Thanks. |
Just ran your fork, still crashes. Maybe its my machine some kind of way. If i understood you correctly, you were able to run that successfully?
|
You did though. Base is not a dependency in the project you linked. As mentioned previously, having Base present in the lock file is to be expected since a lot of libraries depend on it.
Have you tried running |
I confirm it works with calling
So the take away, is that we found a bug and in the meantime by posting this issue, you, the graceful maintainer has directed the user to a temporary work around. That sound about right? Like I said in the post, the work flow is nice. Thanks for the work you put in here! |
I am trying to add aantron/luv to a project and I am getting the error below.
Here is the working project before you add
luv
. https://github.com/idkjs/luv-cliAs soon as you add luv, the build breaks with the above error.
luv
requiresocaml 4.08+.*
or higher.spin
bootstrapped with4.09.0
so I dont know if that should be an issue. I though maybe add@opam/result
to fix but you still get the error.I added
luv
andresult
tolib/dune
also:I though maybe add
result
andluv
todune_project
because they were not added after runningesy install
andesy build
, same error.Any guidance would be greatly appreciated. Thank you.
I was able to add it to a
pesy
generated project without issue as seen idkjs/luv-with-pesyHere is the full error output:
The text was updated successfully, but these errors were encountered: