Giter VIP home page Giter VIP logo

Comments (6)

MattClarkson avatar MattClarkson commented on August 15, 2024

These are my standard Ubuntu build script for getting a Ubuntu 16.04 VM building NifTK.

mkdir build install
sudo apt install doxygen
sudo apt install cmake
sudo apt install git
sudo apt install cmake-curses-gui
sudo apt-get install libbz2-dev
sudo apt-get install libncurses-dev
sudo apt-get install libxt-dev
sudo apt-get install libtiff-dev
sudo apt-get install libwrap0-dev
sudo apt-get install libxext-dev
sudo apt-get install libssl-dev
sudo apt-get install mesa-common-dev
sudo apt-get install libglib2.0-dev
sudo apt-get install libxrender-dev
sudo apt-get install libfontconfig1-dev
sudo apt-get install libxcursor-dev
sudo apt-get install libxft-dev
sudo apt-get install libxi-dev
sudo apt-get install libxrandr-dev
sudo apt-get install libgl-dev
sudo apt-get install libglu-dev
sudo apt-get install qtcreator
sudo apt-get install g++-4.8
sudo apt-get install '^libxcb.*-dev'
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
sudo apt-get install gfortran
sudo apt-get install valgrind
sudo apt-get install python-pip
sudo apt-get install tensorflow
sudo apt-get install niftynet
cd build
cp ~/Downloads/qt-everywhere-opensource-src-4.8.7.tar.gz .
tar -zxvf qt-everywhere-opensource-src-4.8.7.tar.gz
cd qt-everywhere-opensource-src-4.8.7
./configure -prefix /home/niftk/install/qt-4.8.7 -opensource -confirm-license -release -shared -script -openssl -no-phonon -no-phonon-backend -nomake examples -nomake demos -nomake tests
make -j 4
make install
cd ..
echo '# Added for NifTK' >> ~/.bashrc
echo 'export PATH=/home/niftk/install/qt-4.8.7/bin:$PATH' >> ~/.bashrc

So, if we are building just a C++ project, we could use these instructions to setup the Travis Ubuntu host machine.

If we are building wheels on manylinux, then we would need something equivalent inside the docker image, which from memory is Centos based.

from cmakecatchtemplate.

MattClarkson avatar MattClarkson commented on August 15, 2024

So - for Mian - can we configure a new docker image, maybe starting from the opencv one, as opencv is one of the packages we are interested in.

from cmakecatchtemplate.

mianasbat avatar mianasbat commented on August 15, 2024

@MattClarkson what is your requirement after opencv. Do you want to have all of the above packages in that image?
Following are couple of famous docker images based on open-cv.
jjanzic/docker-python3-opencv image containing Python 3.7 and opencv 4.0.0
valian/docker-python-opencv-ffmpeg image containing ffmpeg, opencv3 and python2/3, based on Ubuntu 16.04 LTS .

from cmakecatchtemplate.

MattClarkson avatar MattClarkson commented on August 15, 2024

Specifically, I think we need a manylinux docker image, so we should start with this one: DOCKER_IMAGE=quay.io/skvark/manylinux1_$PLAT

then we should add those above packages and see if VTK/PCL compile. If not, then we debug, and go from there.

from cmakecatchtemplate.

mianasbat avatar mianasbat commented on August 15, 2024

I got the above image and ran it on system. It is based on Centos 5.9 which is very old now and it would be a bit difficult to find packages for it. Is there any specific reason for using this image? Would it be fine, if we use Centos 7.4 stable version as base image and your mentioned packages on top of it and then compile VTK/PCL on it.

from cmakecatchtemplate.

MattClarkson avatar MattClarkson commented on August 15, 2024

For now, i've tested VTK, PCL and OpenCV builds with various minimal build options, as part of Issue #51 . So, I think we can leave this for now. At the end of the day, users will have to make their own decision if they are doing python, and want python wheels, and then decide which version of docker to use.

Furthermore, most of the above dependencies are for graphics. So, if you are just doing a library of algorithms you don't need them.

from cmakecatchtemplate.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.