RagingTiger / Omega-Notebook

The Jupyter Docker Image for all your ML/AI/DS needs.
0 stars 0 forks source link

Candidate Package: gambit #16

Open RagingTiger opened 1 year ago

RagingTiger commented 1 year ago

References:

RagingTiger commented 1 year ago

Build Strategy:

RagingTiger commented 1 year ago

Build Dependencies:

RagingTiger commented 1 year ago

Issues in building:

$ ./configure --disable-gui
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... no
checking whether make supports nested variables... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... no
checking dependency style of gcc... none
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking for clang++... no
checking whether the compiler supports GNU C++... no
checking whether g++ accepts -g... no
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... none
checking whether we are building for a Win32 host... no
checking for srand48... yes
checking for drand48... yes
checking whether we need -std=c++11... none required
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating contrib/Makefile
config.status: creating contrib/scripts/Makefile
config.status: creating contrib/scripts/enumpoly/Makefile
config.status: executing depfiles commands
config.status: error: in `/tmp/gambit':
config.status: error: Something went wrong bootstrapping makefile fragments
    for automatic dependency tracking.  If GNU make was not used, consider
    re-running the configure script with MAKE="gmake" (or whatever is
    necessary).  You can also try re-running configure with the
    '--disable-dependency-tracking' option to at least be able to build
    the package (albeit without support for automatic dependency tracking).
See `config.log' for more details

Here is the file: config.log

RagingTiger commented 1 year ago

Succeeded in building with this Dockerfile:

FROM ubuntu as builder

RUN apt-get update && apt-get install -y \
  autoconf \
  automake \
  build-essential \
  git \
  libtool

RUN git clone https://github.com/gambitproject/gambit.git && \
  cd gambit && \
  aclocal && \
  libtoolize && \
  automake --add-missing && \
  autoconf && \
  ./configure --disable-gui && \
  make && \
  make install
RagingTiger commented 1 year ago

Version 2.0 of successful build Dockerfile:

# turns out this base image has most of the build tools for c/c++ binaries
FROM jupyter/tensorflow-notebook

# need to be root to apt-get
USER root

# get build dependencies for gambit
RUN apt-get update && apt-get install -y \
  autoconf \
  automake \
  libtool

# build and install gambit
RUN git clone https://github.com/gambitproject/gambit.git /tmp/gambit && \
  cd /tmp/gambit && \
  aclocal && \
  libtoolize && \
  automake --add-missing && \
  autoconf && \
  ./configure --disable-gui && \
  make && \
  make install && \
  make clean && \
  rm -rf /tmp/gambit

# finally install pygambit
RUN pip install pygambit