Open rlpowell opened 7 years ago
OK, tested my repro a bit more, just to be sure. Dockerfile:
FROM fedora:24
# Initial Setup, Basic Package Installs
RUN dnf -y update
RUN dnf -y reinstall shadow-utils # needed for man pages, dunno why
RUN dnf -y install vim sudo tmux zsh moreutils make moreutils sudo dos2unix \
strace git the_silver_searcher procps-ng openssh-server initscripts openssh \
man-db ncurses-compat-libs wget curl libcurl-devel pcre-devel bzip2-devel \
rsync zlib-devel pkgconfig w3m openssl-devel gcc rubygem-rake fpaste bzip2 \
glibc-static
COPY stack.repo /etc/yum.repos.d/stack.repo
RUN dnf install -y stack
# All the freaking libraries the various things need
RUN dnf install -y DevIL-devel cairo-devel expat-devel file-devel \
fontconfig-devel gcc-c++ gd-devel ghc-pcap gnutls-devel \
gobject-introspection-devel gtk+-devel gtk2-devel gtk3-devel \
leveldb-devel libbsd-devel libgsasl-devel libmarkdown-devel \
libnotify-devel libpcap-devel libpng-devel libxml2-devel mysql-devel \
pango-devel postgresql-devel readline-devel sqlite-devel \
taglib-devel alsa-lib-devel mesa-libGLU-devel libfreenect-devel \
gtksourceview3-devel GeoIP-devel libsndfile-devel hidapi-devel \
SDL2-devel fftw-devel blas64-devel lapack64-devel gsl-devel \
webkitgtk3-devel zeromq-devel
script:
sudo docker kill mw_pather
sudo docker rm mw_pather
sudo docker build -t rlpowell/mw_pather .
sudo docker run --name mw_pather -v /var/run/docker.sock:/var/run/docker.sock -p 0.0.0.0:2225:22 -p 0.0.0.0:8085:8085 -p 0.0.0.0:24601:24601 -t -i rlpowell/mw_pather /bin/bash
What to run:
cd /tmp/
git clone https://github.com/valderman/haste-compiler.git
cd haste-compiler/
stack setup
stack install
stack exec haste-boot -- --force --local
I believe the stack exec
part is what kills it. What happens if you run haste-boot
without it? Also, a cabal update
might be necessary before running haste-boot
. (That should really be included in the booting process though...) IIRC, stack installs binaries to ~/.local/bin
by default, so it shouldn't be necessary to run haste-boot
from within stack's environment.
Apart from this (probable) workaround, I'd say that the long term fix is to get Haste support into cabal and stack proper.
As you can see from my first post on this topic, things go considerably better with the stack-exec than without; please compare the two really big blobs in my original post.
It seems that running haste-boot
before booting solves the issue. From 1ad17717958f9b4a97f302d013d39a03892f5027, haste-boot
does this automatically. However, to properly resolve this when faced with possibly incompatible cabal versions, haste-cabal
should also have its own config directory. This commit fixes this, but hasn't been pushed to the binary repo used by haste-boot
yet. You can still use it with the --build-haste-cabal
option to haste-boot
.
as a data point, I ran "cabal update" then "stack exec -- haste-boot --force --local" worked ok.
This may be related to https://github.com/valderman/haste-compiler/issues/395
After "stack install" on the master branch, haste-boot fails in a catastrophic "cabal is broken" sort of way.
Here's the output:
Running "stack exec haste-boot -- --force --local" does better, but still fails:
And to repro this we have:
The Dockerfile I used, sort of; this is actually an unrolling of several stacked Dockerfiles, but it should be close enough, as everything else is personal environment tweaking:
stack.repo there is:
The docker is being run like so:
And then once that was up my entire history is: