I'm attempting to make a completely static compile of ParaView (servers only, no QT/Gui) for deployment across various Linux machines. I've gotten it down to the following:<br><br><div style="margin-left: 40px; font-family: courier new,monospace;">
[rhand@amethyst2 bin]$ ldd pvserver<br> libhistory.so.4 => /usr/lib64/libhistory.so.4 (0x0000003792500000)<br> libXt.so.6 => /usr/X11R6/lib64/libXt.so.6 (0x0000003796800000)<br> libSM.so.6 => /usr/X11R6/lib64/libSM.so.6 (0x0000003793300000)<br>
libICE.so.6 => /usr/X11R6/lib64/libICE.so.6 (0x0000003793100000)<br> libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000003792f00000)<br> libm.so.6 => /lib64/tls/libm.so.6 (0x0000002a9557b000)<br> libdl.so.2 => /lib64/libdl.so.2 (0x0000003792700000)<br>
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003796600000)<br> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003796400000)<br> libc.so.6 => /lib64/tls/libc.so.6 (0x0000003792200000)<br> libX11.so.6 => /usr/X11R6/lib64/libX11.so.6 (0x0000003792900000)<br>
/lib64/ld-linux-x86-64.so.2 (0x0000003792000000)<br>[rhand@amethyst2 bin]$<br></div><br>I have .a versions of the X & std Clibraries, and I'm linking against a "linux-x64-static" Mesa build I made. I have BUILD_SHARED_LIBS off. I set the CMAKE_X_LIBS to reference the .a libraries, rather than the .so, as well as X11_X11_LIB and X11_Xext_LIB. But it seems it's still referencing the .so's.<br>
<br>I've tried adding "-static" to the CFLAGS options, but then I get errors related to kwProcessXML attempting to reference ld64.so (which doesn't exist). From reading around Google, it seems that error usually indicates attempting to static-ly link to a dynamic library. Is there some trick to getting a fully-static version? Is it even possible?<br clear="all">
<br>-- <br>----------------------------------------<br>Randall Hand <br>Visualization Scientist<br>ERDC MSRC-ITL