Trouble installing dependencies

to be honest: no clue

can you try spago --version -v (-v for verbose output)?

same output:

24-06-23 12:02:30 /home/mik/Dev/purescript/purescript-book/exercises/chapter2
mik@labo $ spago --version -v    
Abort

I saw when I install from pkg a dependency to libxslt, so I tried to install this lib and then install spago from npm. I hoped the problem come from this missing dependency but got the same “Abort” message.

Maybe @f-f did see this before

Personally I’d try to manually delete the installed files from npm and/or try a local install (not -g)

I will try. Now I am going to dive in the book. I haven’t got round to reading it yet because of installation problems. For now just for learning, I can deal with this with a VM.

I’m really sorry for your problems and I hope you’ll still enjoy this great language. Let me know if I can help you out with anything coming up (the book sadly might not be 100% adapted to the current compiler versions)

1 Like

don’t be sorry. I’m used to the possibility of things not working right away on FreeBSD.
There’s a lot of specificity compared to Linux or Mac.
And the fact that Spago is undergoing a major update should make things even more difficult.

I’ve known the language for a while and I have no doubts about its qualities.

2 Likes

Oops sorry about the ‘tag’ thing, I didn’t check & it seems not to be in spago@next yet. I’m also not sure about all the npm stuff so can’t really help there.

But, if it’s still of any use, purs 0.15.8 is the version available in (FreeBSD) pkg Quarterly which is what I’m using. If you are using Latest in pkg you might get purs 0.15.9. Also if your using ports you’ll get 0.15.9. Tho short of changing to Quarterly, if you’re using Latest, I’m not sure how to change that.

Oh yes indeed. You’re right. I didn’t try this option. Thank you.

the repos can be configured in /usr/local/etc/pkg/repos

This is mine:

$ cat /usr/local/etc/pkg/repos/FreeBSD.conf                                                                                        
local: { priority: 10, url: "file:///usr/local/poudriere/data/packages/CURx64-default" }
FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }

I am not sure it’s a good idea to change latest for quaterly, however. I am on current. Someone says me that’s package are completely unrelated to the kernel version. But I am not sure if it’s a good idea to mix package from multiple repos/branches.

[edit]

Ok I tried:

local: { priority: 10, url: "file:///usr/local/poudriere/data/packages/CURx64-default" }
stable: {
  url: "pkg+http://pkg.FreeBSD.org/FreeBSD:13:amd64/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

(the main repository is configured in /etc/FreeBSD.conf so I don’t need to keep it here)

Sadly is doesn’t work:

$ sudo pkg install --repository stable hs-purescript  
Updating stable repository catalogue...
Fetching meta.conf: 100%    163 B   0.2kB/s    00:01    
Fetching packagesite.pkg: 100%    7 MiB   2.3MB/s    00:03    
Processing entries:   0%
pkg: wrong architecture: FreeBSD:13:amd64 instead of FreeBSD:14:amd64
pkg: repository stable contains packages with wrong ABI: FreeBSD:13:amd64
Processing entries: 100%
Unable to update repository stable
Error updating repositories!

Hm, these config details are a bit beyond me. I just stick to the defaults for all this stuff so I’m using the RELEASE version. If you want to follow this up you could try the forums, think Ports & Packages would be the right sub-forum.

Just one thing: like I said I’m using 13.1-RELEASE, but I think your last error message says its failing because you’re already using version 14 and that version of Purescript is made for version 13, though I don’t know how to get around that.

Posting in case this is useful to anyone. I was experiencing this same error, and when I included the --verbose flag when running spago install, I got this extra error included in the output:

error: pathspec 'v1.0.0-rc2' did not match any file(s) known to git

I had a malformed version in my packages.dhall when specifying a dependency (it was supposed to be "rc.2" instead of "rc2").

1 Like

I have the same issue with purescript 0.15.15 and spago 0.21 with nix (via easy-purescript-nix) and NixOS.

Is there any workaround?

Is there a reason you’re on the 0.21 series of Spago instead of the 0.90 series? I believe this no longer happens in the new spago. I’m not sure whether easy-purescript-nix provides it, but purescript-overlay does.