-
-
Save stain/8335322 to your computer and use it in GitHub Desktop.
Even with --enable-static to graphvis 2.28.0, the dot_static is not very static. The second half of the gist shows how to compile it with minimal dynamic dependencies on Linux x64
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
debian5i386:~/graphviz-2.28.0/cmd/dot# ldd ./dot_static | |
linux-gate.so.1 => (0xb76ff000) | |
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb76d1000) | |
libgd.so.2 => /usr/lib/libgd.so.2 (0xb7690000) | |
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7670000) | |
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb764c000) | |
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7626000) | |
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb75fb000) | |
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7586000) | |
libz.so.1 => /usr/lib/libz.so.1 (0xb7571000) | |
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb756d000) | |
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7411000) | |
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb73f8000) | |
/lib/ld-linux.so.2 (0xb7700000) | |
debian5i386:~/graphviz-2.28.0/cmd/dot# rm dot_static ; make CCLD="echo gcc" | |
CCLD dot_static | |
gcc -g -O2 -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall -ffast-math -o dot_static dot_static-dot.o dot_static-dot_builtins.o -L/usr/local/lib ../../plugin/dot_layout/.libs/libgvplugin_dot_layout_C.a ../../plugin/neato_layout/.libs/libgvplugin_neato_layout_C.a ../../plugin/core/.libs/libgvplugin_core_C.a ../../lib/gvc/.libs/libgvc_C.a ../../lib/pathplan/.libs/libpathplan_C.a ../../lib/graph/.libs/libgraph_C.a ../../lib/xdot/.libs/libxdot_C.a ../../lib/cdt/.libs/libcdt_C.a /usr/lib/libexpat.so ../../plugin/gd/.libs/libgvplugin_gd_C.a /usr/lib/libgd.so -L/usr/lib /usr/lib/libjpeg.so -lpng12 -lm -lfontconfig /usr/lib/libfreetype.so -lpng -lz -ldl | |
debian5i386:~/graphviz-2.28.0/cmd/dot# gcc -g -O2 -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall -ffast-math -o dot_static dot_static-dot.o dot_static-dot_builtins.o -L/usr/local/lib ../../plugin/dot_layout/.libs/libgvplugin_dot_layout_C.a ../../plugin/neato_layout/.libs/libgvplugin_neato_layout_C.a ../../plugin/core/.libs/libgvplugin_core_C.a ../../lib/gvc/.libs/libgvc_C.a ../../lib/pathplan/.libs/libpathplan_C.a ../../lib/graph/.libs/libgraph_C.a ../../lib/xdot/.libs/libxdot_C.a ../../lib/cdt/.libs/libcdt_C.a /usr/lib/libexpat.a ../../plugin/gd/.libs/libgvplugin_gd_C.a /usr/lib/libgd.a -L/usr/lib /usr/lib/libjpeg.a /usr/lib/libpng.a /usr/lib/libfreetype.a /usr/lib/libz.a /usr/lib/libm.a -ldl | |
debian5i386:~/graphviz-2.28.0/cmd/dot# ldd ./dot_static | |
linux-gate.so.1 => (0xb7727000) | |
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb771b000) | |
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb75c0000) | |
/lib/ld-linux.so.2 (0xb7728000) | |
debian5i386:~/graphviz-2.28.0/cmd/dot# shasum dot_static | |
a6d0b127ff2ef4ad6de1dbecde355eadc9ec2445 dot_static |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
debian5x64:~/graphviz-2.28.0/cmd/dot# make dot_static | |
make: `dot_static' is up to date. | |
debian5x64:~/graphviz-2.28.0/cmd/dot# rm dot_static ; make dot_static | |
CCLD dot_static | |
debian5x64:~/graphviz-2.28.0/cmd/dot# ldd ./dot_static | |
linux-vdso.so.1 => (0x00007fff1afab000) | |
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f93ed9f3000) | |
libgd.so.2 => /usr/lib/libgd.so.2 (0x00007f93ed7ae000) | |
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00007f93ed58c000) | |
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00007f93ed367000) | |
libm.so.6 => /lib/libm.so.6 (0x00007f93ed0e4000) | |
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f93eceb3000) | |
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f93ecc2f000) | |
libz.so.1 => /usr/lib/libz.so.1 (0x00007f93eca18000) | |
libdl.so.2 => /lib/libdl.so.2 (0x00007f93ec814000) | |
libc.so.6 => /lib/libc.so.6 (0x00007f93ec4c1000) | |
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f93ec2a5000) | |
/lib64/ld-linux-x86-64.so.2 (0x00007f93edc1c000) | |
debian5x64:~/graphviz-2.28.0/cmd/dot# shasum dot_static | |
ce43483f11f607c8fce2984e66470c7f775a9b4b dot_static | |
debian5x64:~/graphviz-2.28.0/cmd/dot# gcc -g -O2 -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall -ffast-math -o dot_static dot_static-dot.o dot_static-dot_builtins.o -L/usr/local/lib ../../plugin/dot_layout/.libs/libgvplugin_dot_layout_C.a ../../plugin/neato_layout/.libs/libgvplugin_neato_layout_C.a ../../plugin/core/.libs/libgvplugin_core_C.a ../../lib/gvc/.libs/libgvc_C.a ../../lib/pathplan/.libs/libpathplan_C.a ../../lib/graph/.libs/libgraph_C.a ../../lib/xdot/.libs/libxdot_C.a ../../lib/cdt/.libs/libcdt_C.a -L/usr/lib64 ../../plugin/gd/.libs/libgvplugin_gd_C.a /usr/lib/libgd.a /usr/lib/libpng.a /usr/lib/libjpeg.a /usr/lib/libz.a /usr/lib/libm.a /usr/lib/libexpat.a -L/usr/lib /usr/lib/libfreetype.a -ldl | |
debian5x64:~/graphviz-2.28.0/cmd/dot# ldd ./dot_static | |
linux-vdso.so.1 => (0x00007fff463ff000) | |
libdl.so.2 => /lib/libdl.so.2 (0x00007f4302731000) | |
libc.so.6 => /lib/libc.so.6 (0x00007f43023de000) | |
/lib64/ld-linux-x86-64.so.2 (0x00007f4302935000) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment