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

graphviz: early issues - need to build from source, fix stderr #9

Open
glvnst opened this issue Apr 26, 2020 · 0 comments
Open

graphviz: early issues - need to build from source, fix stderr #9

glvnst opened this issue Apr 26, 2020 · 0 comments

Comments

@glvnst
Copy link
Contributor

glvnst commented Apr 26, 2020

STDERR getting merged into STDOUT

First, see moby/moby#725 (comment)

When running this image as I'm currently suggesting, docker melds stdout and stderr. This is bad for a common use pattern (as I'm currently using it): graphviz dot graph.dot -Tpng >out.png. I can drop the --tty flag on the run command (like I do with compose_sort, grta, jq, myip, pygmentize, vueenv but I want to understand the implications of that a bit better in this case.

Build from source

When trying to find the right layouts for a project, I'm running into the need to build graphviz with different options:

$ graphviz sfdp -Goverlap=false graph.dot
Error: remove_overlap: Graphviz not built with triangulation library

The I think the missing config arg here is --with-gts=yes

Here are all the current config options for graphviz-2.44.0

$ ./configure --help
`configure' configures graphviz 2.44.0 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/graphviz]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

X features:
  --x-includes=DIR    X include files are in DIR
  --x-libraries=DIR   X library files are in DIR

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-silent-rules   less verbose build output (undo: "make V=1")
  --disable-silent-rules  verbose build output (undo: "make V=0")
  --enable-static         build static executable
  --enable-static[=PKGS]  build static libraries [default=yes]
  --enable-shared         build shared executable
  --enable-shared[=PKGS]  build shared libraries [default=yes]
  --enable-dependency-tracking
                          do not reject slow dependency extractors
  --disable-dependency-tracking
                          speeds up one-time build
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --enable-debug          Compile the debug version (default: disabled)
  --enable-ltdl-install   install libltdl
  --enable-ltdl           support on-demand plugin loading
  --enable-swig=yes       swig-generated language bindings
  --enable-sharp=yes      C# language bindings
  --enable-d=no           d language bindings
  --enable-go=yes         go language bindings
  --enable-guile=yes      guile language bindings
  --enable-io=no          io language bindings
  --enable-java=yes       java language bindings
  --enable-javascript=no  d language bindings
  --enable-lua=yes        lua language bindings
  --enable-ocaml=yes      ocaml language bindings
  --enable-perl=yes       perl language bindings
  --enable-php=yes        php language bindings
  --enable-python=yes     python language bindings
  --enable-python2=yes    python2 language bindings
  --enable-python3=yes    python3 language bindings
  --enable-r=yes          R language bindings
  --enable-ruby=yes       ruby language bindings
  --enable-tcl=yes        tcl language bindings

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                          both]
  --with-aix-soname=aix|svr4|both
                          shared library versioning (aka "SONAME") variant to
                          provide on AIX, [default=aix].
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
                          compiler's sysroot if not specified).
  --with-tclsh=PROG       use a specific tclsh
  --with-included-ltdl    use the GNU ltdl sources included here
  --with-ltdl-include=DIR use the ltdl headers installed in DIR
  --with-ltdl-lib=DIR     use the libltdl.la installed in DIR
  --with-efence=no        use efence for debugging memory use
  --with-x                use the X Window System
  --with-javaincludedir=DIR
                          use JAVA includes from DIR
  --with-javalibdir=DIR   use JAVA libraries from DIR
  --with-extraincludedir=DIR
                          use extra includes from DIR
  --with-extralibdir=DIR  use extra libraries from DIR
  --with-expat=yes        use expat
  --with-expatincludedir=DIR
                          use EXPAT includes from DIR
  --with-expatlibdir=DIR  use EXPAT libraries from DIR
  --with-devil=yes        DevIL plugin
  --with-devilincludedir=DIR
                          use DevIL includes from DIR
  --with-devillibdir=DIR  use DevIL libraries from DIR
  --with-Xpmincludedir=DIR
                          use Xpm includes from DIR
  --with-Xpmlibdir=DIR    use Xpm libraries from DIR
  --with-Xawincludedir=DIR
                          use Xaw includes from DIR
  --with-Xawlibdir=DIR    use Xaw libraries from DIR
  --with-zincludedir=DIR  use Z includes from DIR
  --with-zlibdir=DIR      use Z libraries from DIR
  --with-webp=yes         webp library
  --with-poppler=yes      poppler library
  --with-rsvg=yes         rsvg library
  --with-ghostscript=yes  ghostscript library
  --with-visio=yes        visio library
  --with-pangocairo=yes   pangocairo library
  --with-lasi=yes         lasi library
  --with-glitz=no         glitz library
  --with-freetype2=yes    freetype2 library
  --with-fontconfig=yes   use fontconfig library
  --with-gdk=yes          gdklibrary
  --with-gdk-pixbuf=yes   gdk-pixbuf library
  --with-gtk=yes          gtk+ library
  --with-gtkgl=yes        gtkgl library
  --with-gtkglext=yes     gtkglext library
  --with-gts=yes          gts library
  --with-ann=yes          ANN library
  --with-glade=yes        glade library
  --with-ming=no          ming library (plugin for -Tswf)
  --with-qt=yes           Qt features
  --with-quartz=no        Quartz framework (Mac OS X)
  --with-platformsdkincludedir=DIR
                          use Platform SDK (Windows) includes from DIR
  --with-platformsdklibdir=DIR
                          use Platform SDK (Windows) libraries from DIR
  --with-gdiplus=no       GDI+ framework (Windows)
  --with-libgd=yes        use gd library
  --with-gdincludedir=DIR use GD includes from DIR
  --with-gdlibdir=DIR     use GD libraries from DIR
  --with-glut=yes         GLUT library
  --with-glutincludedir=DIR
                          use GLUT includes from DIR
  --with-glutlibdir=DIR   use GLUT libraries from DIR
  --with-sfdp=yes         sfdp layout engine
  --with-smyrna=yes       SMYRNA large graph viewer
  --with-ortho=yes        ORTHO features in neato layout engine
  --with-digcola=yes      DIGCOLA features in neato layout engine
  --with-ipsepcola=yes    IPSEPCOLA features in neato layout engine

Some influential environment variables:
  LIBPOSTFIX  subscript to lib, e.g. "/64" for "/usr/lib/64" on Solaris
  INTGOSIZE   integer size for go, 32 or 64
  RUBY_VER    version number of the ruby package
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  YACC        The `Yet Another Compiler Compiler' implementation to use.
              Defaults to the first program found out of: `bison -y', `byacc',
              `yacc'.
  YFLAGS      The list of arguments that will be passed by default to $YACC.
              This script will default YFLAGS to the empty string to avoid a
              default value of `-d' given by some make applications.
  LT_SYS_LIBRARY_PATH
              User-defined run-time library search path.
  CPP         C preprocessor
  PKG_CONFIG  path to pkg-config utility
  PKG_CONFIG_PATH
              directories to add to pkg-config's search path
  PKG_CONFIG_LIBDIR
              path overriding pkg-config's built-in search path
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  CXXCPP      C++ preprocessor
  OBJC        Objective C compiler command
  OBJCFLAGS   Objective C compiler flags
  XMKMF       Path to xmkmf, Makefile generator for X Window System
  XRENDER_CFLAGS
              C compiler flags for XRENDER, overriding pkg-config
  XRENDER_LIBS
              linker flags for XRENDER, overriding pkg-config
  GUILE_CFLAGS
              C compiler flags for GUILE, overriding pkg-config
  GUILE_LIBS  linker flags for GUILE, overriding pkg-config
  R_CFLAGS    C compiler flags for R, overriding pkg-config
  R_LIBS      linker flags for R, overriding pkg-config
  RUBY_CFLAGS C compiler flags for RUBY, overriding pkg-config
  RUBY_LIBS   linker flags for RUBY, overriding pkg-config
  WEBP_CFLAGS C compiler flags for WEBP, overriding pkg-config
  WEBP_LIBS   linker flags for WEBP, overriding pkg-config
  POPPLER_CFLAGS
              C compiler flags for POPPLER, overriding pkg-config
  POPPLER_LIBS
              linker flags for POPPLER, overriding pkg-config
  RSVG_CFLAGS C compiler flags for RSVG, overriding pkg-config
  RSVG_LIBS   linker flags for RSVG, overriding pkg-config
  SVG_2_36_CFLAGS
              C compiler flags for SVG_2_36, overriding pkg-config
  SVG_2_36_LIBS
              linker flags for SVG_2_36, overriding pkg-config
  PANGOCAIRO_CFLAGS
              C compiler flags for PANGOCAIRO, overriding pkg-config
  PANGOCAIRO_LIBS
              linker flags for PANGOCAIRO, overriding pkg-config
  PANGOFT2_CFLAGS
              C compiler flags for PANGOFT2, overriding pkg-config
  PANGOFT2_LIBS
              linker flags for PANGOFT2, overriding pkg-config
  LASI_CFLAGS C compiler flags for LASI, overriding pkg-config
  LASI_LIBS   linker flags for LASI, overriding pkg-config
  GLITZ_CFLAGS
              C compiler flags for GLITZ, overriding pkg-config
  GLITZ_LIBS  linker flags for GLITZ, overriding pkg-config
  FREETYPE2_CFLAGS
              C compiler flags for FREETYPE2, overriding pkg-config
  FREETYPE2_LIBS
              linker flags for FREETYPE2, overriding pkg-config
  FONTCONFIG_CFLAGS
              C compiler flags for FONTCONFIG, overriding pkg-config
  FONTCONFIG_LIBS
              linker flags for FONTCONFIG, overriding pkg-config
  GDK_CFLAGS  C compiler flags for GDK, overriding pkg-config
  GDK_LIBS    linker flags for GDK, overriding pkg-config
  GDK_PIXBUF_CFLAGS
              C compiler flags for GDK_PIXBUF, overriding pkg-config
  GDK_PIXBUF_LIBS
              linker flags for GDK_PIXBUF, overriding pkg-config
  GTK_CFLAGS  C compiler flags for GTK, overriding pkg-config
  GTK_LIBS    linker flags for GTK, overriding pkg-config
  GTKGL_CFLAGS
              C compiler flags for GTKGL, overriding pkg-config
  GTKGL_LIBS  linker flags for GTKGL, overriding pkg-config
  GTKGLEXT_CFLAGS
              C compiler flags for GTKGLEXT, overriding pkg-config
  GTKGLEXT_LIBS
              linker flags for GTKGLEXT, overriding pkg-config
  GTS_CFLAGS  C compiler flags for GTS, overriding pkg-config
  GTS_LIBS    linker flags for GTS, overriding pkg-config
  ANN_CFLAGS  C compiler flags for ANN, overriding pkg-config
  ANN_LIBS    linker flags for ANN, overriding pkg-config
  GLADE_CFLAGS
              C compiler flags for GLADE, overriding pkg-config
  GLADE_LIBS  linker flags for GLADE, overriding pkg-config
  MING_CFLAGS C compiler flags for MING, overriding pkg-config
  MING_LIBS   linker flags for MING, overriding pkg-config
  QTCORE_CFLAGS
              C compiler flags for QTCORE, overriding pkg-config
  QTCORE_LIBS linker flags for QTCORE, overriding pkg-config
  QTGUI_CFLAGS
              C compiler flags for QTGUI, overriding pkg-config
  QTGUI_LIBS  linker flags for QTGUI, overriding pkg-config

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to <http://www.graphviz.org/>.
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

1 participant