Skip to content
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

Build instructions from README result in errors #26

Open
jlokimlin opened this issue Mar 16, 2023 · 4 comments
Open

Build instructions from README result in errors #26

jlokimlin opened this issue Mar 16, 2023 · 4 comments

Comments

@jlokimlin
Copy link

I'm trying to build tumorcode by following the instructions in the README, but they are out of date. Specifically, some of the repositories have moved and I cannot get past several dependency issues. To make things easier to reproduce I'm using Docker.

You can try out my Dockerfile by saving the snippet below as Dockerfile in the source folder then running docker build .

Do you see anything that I’m missing? Thanks. Jon.

# syntax=docker/dockerfile:1
FROM ubuntu:18.04
MAINTAINER sofija
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN echo $SHELL
RUN yes | apt-get install git
RUN yes | apt-get update && yes | apt-get install build-essential cmake trilinos-dev libtbb-dev cimg-dev libboost-dev libhdf5-openmpi-dev
RUN yes | apt-get install cmake gfortran libblas-dev liblapack-dev python2.7-dev libboost-dev libboost-python-dev libboost-numpy-dev python-numpy python-matplotlib libboost-program-options-dev libpng16-16=1.6.34-1  libtbb-dev libeigen3-dev python-h5py python-scipy povray mpi-default-dev libmumps-dev libsuperlu-dev libhdf5-openmpi-dev libptscotch-dev binutils-dev libiberty-dev libtrilinos-* python3-numpy libhdf5-dev libboost-date-time-dev libboost-system-dev libboost-serialization-dev
RUN yes | mkdir /root/.ssh
RUN eval "$(ssh-agent -s)"
RUN ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa
RUN exec ssh-agent bash
RUN echo '''[url "https://github.com/"]    insteadOf = <ssh://[email protected]>''' ~/.gitconfig
RUN yes | ssh-keyscan -t rsa github.com >> /root/.ssh/known_hosts
RUN yes | git clone https://github.com/thierry3000/numpycpp.git
RUN find / -name "numpy.hpp"
RUN cd numpycpp && mkdir build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ . && make && make all
RUN ls -alR numpycpp
RUN yes | apt-get install cython python-mpi4py python-pkgconfig
RUN yes | git clone https://github.com/jacob-evarts/tumorcode.git
RUN yes | apt-get install libboost-thread-dev libboost-filesystem-dev libpng-dev libboost-random-dev
RUN echo "cmake \
    -DCMAKE_INSTALL_PREFIX=/localdisk/tc_install \
    -DCMAKE_BUILD_TYPE=Release \
    -DPYTHON_NUMPY_INCLUDE_DIR=/usr/include/python2.7/numpy \
    -DADDITIONAL_INCLUDE_DIRS="/usr/local/bin" \
    -DADDITIONAL_LIBRARY_DIRS="" \
    -DHDF5_INCLUDE_DIRS="/usr/include/hdf5/openmpi" \
    $1" > configure.sh
RUN chmod +x configure.sh && cd tumorcode && ../configure.sh .
RUN yes | apt-get install cimg-dev libopenmpi-dev
RUN cd tumorcode && make
CMD ["echo", "Hello World"]

For me that command will fail with the following error

#0 9.787 [  4%] Building CXX object src/mwlib/CMakeFiles/mwlib.dir/field.cpp.o
#0 10.01 In file included from /usr/include/hdf5/openmpi/hdf5.h:24:0,
#0 10.01                  from /usr/include/hdf5/serial/H5Include.h:17,
#0 10.01                  from /usr/include/hdf5/serial/H5Cpp.h:20,
#0 10.01                  from /tumorcode/src/common/hdfio.h:30,
#0 10.01                  from /tumorcode/src/mwlib/lattice-data.h:27,
#0 10.01                  from /tumorcode/src/mwlib/field.h:33,
#0 10.01                  from /tumorcode/src/mwlib/field.cpp:21:
#0 10.01 /usr/include/hdf5/openmpi/H5public.h:61:13: fatal error: mpi.h: No such file or directory
#0 10.01  #   include <mpi.h>
#0 10.01              ^~~~~~~
#0 10.01 compilation terminated.
@thierry3000
Copy link
Owner

Dear jlokimlin,

I am delighted seeing you working with the code. Back when I used and maintained the code, virtualization was not yet supported by our computational clusters at the university.
Today, of course, docker provides the perfect environment reliving the you from demanding build issues. I still try to maintain tumorcode and support interested scientist. However, I do not get paid for it anymore and therefore have to fulfill higher ranked obligations.
I set the docker issue for my next spare time, I see the benefits, too.

Kind regards,
Thierry

@thierry3000
Copy link
Owner

Dear @jlokimlin

with the recent commits (e4ef8ad , 3a52386) , I include in basic docker support. Please feel free to test the file.

Kind regards,
Thierry

@newbthenewbd
Copy link

Ahoy!

It has come to my attention that someone apparently cares very much to get this working perfectly, up to and including the supplementary material at https://www.biorxiv.org/content/10.1101/216903v2.supplementary-material, and they've posted a bounty over at Upwork: https://www.upwork.com/jobs/~01d3e6038576cbd3c0

I've submitted a proposal and have since gotten quite a bit of perhaps interesting progress looking through the repo - an Ubuntu 22.04, Python 3 port of submitVesselgeneration just finished its run on my PC right now, although plotVessels.py is still broken so far... as it seemed to also be under Python 2 :-)

But since it appears that nobody had heard back from that offer's poster so far, maybe they might be waiting for a ready-made solution? So let me (and hopefully the Upwork ToS lets me) also place a little general PSA here that with these kinds of postings, it might be a good idea to talk to folks even if they don't claim to have a solution yet, for instance to avoid duplication of labor - and the proposal posters are not even able to follow up by themselves, actually! 🙂

@jlokimlin
Copy link
Author

jlokimlin commented Apr 8, 2023

@thierry3000 Thanks so much. I was able to run ./submitVesselgeneration, but the python visualization plotVessels.py still has some dependency issues. I suspect pinning unum to version 4.1.4 will get us past them. I'll report back soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants