SimulaVR / Simula

Linux VR Desktop
MIT License
2.95k stars 87 forks source link

Fails to build with Stack >=1.10 #57

Closed elypter closed 5 years ago

elypter commented 5 years ago

everything up until the last step

make run # this should take a while also

appeared to have worked but when executing it i get this error

user@raziel:~/Simula$ make run cd addons/godot-haskell-plugin && make run ; cd - make[1]: Verzeichnis „/home/niemand/Simula/addons/godot-haskell-plugin“ wird betreten make[1]: stack: Command not found make[1]: stack: Command not found make[1]: stack: Command not found stack --verbosity=error build godot-haskell-plugin $TELEMETRY /bin/sh: 1: stack: not found Makefile:9: recipe for target 'run' failed make[1]: *** [run] Error 127 make[1]: Verzeichnis „/home/niemand/Simula/addons/godot-haskell-plugin“ wird verlassen /home/niemand/Simula

lboklin commented 5 years ago

Hi,

The build script currently assumes you have stack installed (#50). Try this:

source utils/UbuntuHelpers.sh
installUbuntuDependencies
installStack
upgradeStack
elypter commented 5 years ago

thanks. stack now works and it compiled for a while. then i got this error

niemand@raziel:~/Simula$ make run cd addons/godot-haskell-plugin && make run ; cd - make[1]: Verzeichnis „/home/niemand/Simula/addons/godot-haskell-plugin“ wird betreten stack --verbosity=error build godot-haskell-plugin $TELEMETRY Progress 2/3

-- While building custom Setup.hs for package simula-wayland-0.0.0 using: /home/niemand/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_2.2.0.1_ghc-8.4.3 --builddir=.stack-work/dist/x86_64-linux/Cabal-2.2.0.1 configure --with-ghc=/home/niemand/.stack/programs/x86_64-linux/ghc-8.4.3/bin/ghc --with-ghc-pkg=/home/niemand/.stack/programs/x86_64-linux/ghc-8.4.3/bin/ghc-pkg --user --package-db=clear --package-db=global --package-db=/home/niemand/.stack/snapshots/x86_64-linux/nightly-2018-07-26/8.4.3/pkgdb --package-db=/home/niemand/Simula/addons/godot-haskell-plugin/.stack-work/install/x86_64-linux/nightly-2018-07-26/8.4.3/pkgdb --libdir=/home/niemand/Simula/addons/godot-haskell-plugin/.stack-work/install/x86_64-linux/nightly-2018-07-26/8.4.3/lib --bindir=/home/niemand/Simula/addons/godot-haskell-plugin/.stack-work/install/x86_64-linux/nightly-2018-07-26/8.4.3/bin --datadir=/home/niemand/Simula/addons/godot-haskell-plugin/.stack-work/install/x86_64-linux/nightly-2018-07-26/8.4.3/share --libexecdir=/home/niemand/Simula/addons/godot-haskell-plugin/.stack-work/install/x86_64-linux/nightly-2018-07-26/8.4.3/libexec --sysconfdir=/home/niemand/Simula/addons/godot-haskell-plugin/.stack-work/install/x86_64-linux/nightly-2018-07-26/8.4.3/etc --docdir=/home/niemand/Simula/addons/godot-haskell-plugin/.stack-work/install/x86_64-linux/nightly-2018-07-26/8.4.3/doc/simula-wayland-0.0.0 --htmldir=/home/niemand/Simula/addons/godot-haskell-plugin/.stack-work/install/x86_64-linux/nightly-2018-07-26/8.4.3/doc/simula-wayland-0.0.0 --haddockdir=/home/niemand/Simula/addons/godot-haskell-plugin/.stack-work/install/x86_64-linux/nightly-2018-07-26/8.4.3/doc/simula-wayland-0.0.0 --dependency=base=base-4.11.1.0 --dependency=containers=containers-0.5.11.0 --dependency=inline-c=inline-c-0.6.1.0-1vBfce7IyC97KXTTOq58O1 --dependency=linear=linear-1.20.8-E6E6lS1rbp63mdODzk3qSx --dependency=unix=unix-2.7.2.2 --enable-tests --enable-benchmarks Process exited with code: ExitFailure 1 Logs have been written to: /home/niemand/Simula/addons/godot-haskell-plugin/.stack-work/logs/simula-wayland-0.0.0.log

Configuring simula-wayland-0.0.0...
Cabal-simple_mPHDZzAJ_2.2.0.1_ghc-8.4.3: parsing output of pkg-config
--modversion failed

Makefile:9: recipe for target 'run' failed make[1]: *** [run] Error 1 make[1]: Verzeichnis „/home/niemand/Simula/addons/godot-haskell-plugin“ wird verlassen /home/niemand/Simula

lboklin commented 5 years ago

What does stack --version show? Stack >=1.8 is now required (since 05a292f), so if it's a stack version issue it should be more obvious now.

elypter commented 5 years ago

it shows 1.7.1 how do i install a newer version? i ran curl -sSL https://get.haskellstack.org/ | sh , stack upgrade and stack upgrade --git i then got Version 1.7.1, Git revision 681c800873816c022739ca7ed14755e85a579565 (5807 commits) x86_64 hpack-0.28.2 the last one created a binary in ~/.local/bin and installGodot does that now too. that version is Version 1.10.0, Git revision 7574e33f119125f7d2517a13e26489b89696f0ed x86_64 hpack-0.30.0 how do i install that to the system? sudo stack upgrade --git gives me this warning: You are not the owner of '/home/niemand/.stack/'. Aborting to protect file permissions. Retry with '--allow-different-user' to disable this precaution.

lboklin commented 5 years ago

1.10 is good. It's ok to keep that in ~/.local/bin, just add that to your PATH env variable. You can do this temporarily (per shell session) with export PATH=$HOME/.local/bin:$PATH or more permanently by adding that to your ~/.bashrc (or ~/.zshrc if you use zsh etc).

You are not the owner of '/home/niemand/.stack/'

sudo chown -R me:mygroup ~/.stack

elypter commented 5 years ago

i dont quite get what i have to do with simula-godot. do i have to clone it to the addon folder and isnt then only simula-godot that gets built? i tried 'make' in all the addon subdirectories and the downloaded simula-godot folder but i always get errors like this Error in $.packages[1]: failed to parse field 'packages': expected Text, encountered Object

lboklin commented 5 years ago

No need to clone anything anywhere aside from the initial clone of this repo.

git clone https://github.com/SimulaVR/Simula && cd Simula then perform all if any necessary steps documented in the readme before simply running make and let it build. make run to test it out (make sure to launch SteamVR first if you have it).

elypter commented 5 years ago

this is what i get when i try:

`niemand@raziel:~/Simula$ stack --version Version 1.10.0, Git revision 7574e33f119125f7d2517a13e26489b89696f0ed x86_64 hpack-0.30.0 niemand@raziel:~/Simula$ make Message from Simula Contributors.

In order to show project funders that Simula is useful, we anonymously collect the following data:

Do you consent to data tracking? [Y/n] n /bin/sh: 1: [: n: unexpected operator cd addons/godot-haskell-plugin && make ; cd - make[1]: Verzeichnis „/home/niemand/Simula/addons/godot-haskell-plugin“ wird betreten Could not parse '/home/niemand/Simula/addons/godot-haskell-plugin/stack.yaml': Aeson exception: Error in $.packages[1]: failed to parse field 'packages': expected Text, encountered Object See http://docs.haskellstack.org/en/stable/yaml_configuration/ Could not parse '/home/niemand/Simula/addons/godot-haskell-plugin/stack.yaml': Aeson exception: Error in $.packages[1]: failed to parse field 'packages': expected Text, encountered Object See http://docs.haskellstack.org/en/stable/yaml_configuration/ stack clean godot-haskell-plugin simula-wayland Could not parse '/home/niemand/Simula/addons/godot-haskell-plugin/stack.yaml': Aeson exception: Error in $.packages[1]: failed to parse field 'packages': expected Text, encountered Object See http://docs.haskellstack.org/en/stable/yaml_configuration/ Makefile:5: recipe for target 'all' failed make[1]: *** [all] Error 1 make[1]: Verzeichnis „/home/niemand/Simula/addons/godot-haskell-plugin“ wird verlassen /home/niemand/Simula`

lboklin commented 5 years ago

The error doesn't make any sense to me and I can't reproduce the issue. All I can recommend at this point is to make sure you have pulled in the latest commits from master (so stack will complain about version if it's somehow still the cause).

KaneTW commented 5 years ago

I found this: https://github.com/commercialhaskell/stack/blob/master/doc/yaml_configuration.md#packages

Legacy syntax Prior to Stack 1.11, it was possible to specify dependencies in your packages configuration value as well. This support has been removed to simplify the file format. Instead, these values should be moved to extra-deps. As a concrete example, you would convert:

packages:
- .
- location:
    git: https://github.com/bitemyapp/esqueleto.git
    commit: 08c9b4cdf977d5bcd1baba046a007940c1940758
  extra-dep: true
- location:
    git: https://github.com/yesodweb/wai.git
    commit: 6bf765e000c6fd14e09ebdea6c4c5b1510ff5376
    subdirs:
      - wai-extra
  extra-dep: true

extra-deps:
  - streaming-commons-0.2.0.0
  - time-1.9.1
  - yesod-colonnade-1.3.0.1
  - yesod-elements-1.1
into

packages:
- .

extra-deps:
  - streaming-commons-0.2.0.0
  - time-1.9.1
  - yesod-colonnade-1.3.0.1
  - yesod-elements-1.1
  - git: https://github.com/bitemyapp/esqueleto.git
    commit: 08c9b4cdf977d5bcd1baba046a007940c1940758
  - git: https://github.com/yesodweb/wai.git
    commit: 6bf765e000c6fd14e09ebdea6c4c5b1510ff5376
    subdirs:
      - wai-extra
And, in fact, the packages value could be left off entirely since it's using the default value.
elypter commented 5 years ago

thanks for the help. i will give up for now but i will try this again either on another distro or if there is a .deb package in the future

lboklin commented 5 years ago

We're working on this. We're currently having trouble with godot-haskell not successfully building when moved to extra-deps (ie managed by Pantry), so we're unfortunately unable to support Stack >=1.10 at this time.

We should probably set the version bounds to reflect this in the meantime.

elypter commented 5 years ago

i tried it again one last time with stack version 1.9.1 and now i get the --modversion failed error again

georgewsinger commented 5 years ago

I was able to build Simula on Ubuntu with

$ stack --version
Version 1.10.0, Git revision aa22f3d113ecd64445d12d8bf0b8745de15982e2 x86_64 hpack-0.31.0
lboklin commented 5 years ago

I can build with 1.10 as well, so I'm closing this.