HaskellR
HaskellR copied to clipboard
ihaskell-inline-r: unhandled ELF relocation error on initialization
when this cell from the ihaskell-inline-r tutorial notebook
import qualified H.Prelude as H
H.initialize H.defaultConfig
is executed, the kernel crashes with an unhandled ELF relocation
error.
[I 13:01:19.673 NotebookApp] Starting buffering for 40c8b7e3-1274-4d9d-848c-833849772c61:d83e18f345a24386a5fd27413041e783
ihaskell: /home/jovyan/HaskellR/.stack-work/install/x86_64-linux/lts-10.2/8.2.2/lib/x86_64-linux-ghc-8.2.2/inline-r-0.9.2-L1KdC8sOsmwVIDNVdfxkQ/libHSinline-r-0.9.2-L1KdC8sOsmwVIDNVdfxkQ.a: unhandled ELF relocation(RelA) type 42
ihaskell: /home/jovyan/HaskellR/.stack-work/install/x86_64-linux/lts-10.2/8.2.2/lib/x86_64-linux-ghc-8.2.2/inline-r-0.9.2-L1KdC8sOsmwVIDNVdfxkQ/libHSinline-r-0.9.2-L1KdC8sOsmwVIDNVdfxkQ.a: unknown symbol `isRInitialized'
ihaskell: ^^ Could not load 'inlinezmrzm0zi9zi2zmL1KdC8sOsmwVIDNVdfxkQ_LanguageziRziInstance_defaultConfig_closure', dependency unresolved. See top entry above.
ihaskell: /home/jovyan/HaskellR/.stack-work/install/x86_64-linux/lts-10.2/8.2.2/lib/x86_64-linux-ghc-8.2.2/inline-r-0.9.2-L1KdC8sOsmwVIDNVdfxkQ/libHSinline-r-0.9.2-L1KdC8sOsmwVIDNVdfxkQ.a: unhandled ELF relocation(RelA) type 42
ihaskell: /home/jovyan/HaskellR/.stack-work/install/x86_64-linux/lts-10.2/8.2.2/lib/x86_64-linux-ghc-8.2.2/inline-r-0.9.2-L1KdC8sOsmwVIDNVdfxkQ/libHSinline-r-0.9.2-L1KdC8sOsmwVIDNVdfxkQ.a: unhandled ELF relocation(RelA) type 42
ihaskell:
[I 13:01:28.076 NotebookApp] KernelRestarter: restarting kernel (1/5), keep random ports
WARNING:root:kernel b18f0a81-2092-4dbd-8bae-1b31708b8e2f restarted
reproduce
(a) build the following Dockerfile [docker build -t haskellr:latest .
]
(b) run the image [docker run -it -p 8888:8888 haskellr:latest
]
(c) open /HaskellR/IHaskell/examples/tutorial-ihaskell-inline-r.ipynb
and execute the first two cells
FROM fpco/stack-build:lts-11.17
# Install all necessary Ubuntu packages
RUN apt-get update && apt-get install -y python3-pip libgmp-dev libmagic-dev libtinfo-dev libzmq3-dev libcairo2-dev libpango1.0-dev libblas-dev liblapack-dev gcc g++ r-base r-base-core && \
rm -rf /var/lib/apt/lists/*
RUN R -e "install.packages(c('ggplot2'), repos='http://cran.rstudio.com/')"
# Install Jupyter notebook
RUN pip3 install -U jupyter
# setup the haskell environment
ENV LANG en_US.UTF-8
ENV NB_USER jovyan
ENV NB_UID 1000
ENV HOME /home/${NB_USER}
RUN adduser --disabled-password \
--gecos "Default user" \
--uid ${NB_UID} \
${NB_USER}
# Set up a working directory for HaskellR
WORKDIR ${HOME}
USER root
RUN chown -R ${NB_UID} ${HOME}
USER ${NB_UID}
RUN git clone https://github.com/tweag/HaskellR.git
WORKDIR ${HOME}/HaskellR
USER root
RUN chown -R ${NB_UID} ${HOME}
USER ${NB_UID}
RUN stack setup
RUN stack build && stack install
RUN stack exec -- ihaskell install --stack
USER root
RUN chown -R ${NB_UID} ${HOME}
USER ${NB_UID}
EXPOSE 8888
# Run the notebook
CMD ["stack", "exec", "--", "jupyter", "notebook", "--ip", "0.0.0.0"]