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

Static compilation #45

Open
tbaudier opened this issue Jan 13, 2017 · 9 comments
Open

Static compilation #45

tbaudier opened this issue Jan 13, 2017 · 9 comments

Comments

@tbaudier
Copy link
Contributor

tbaudier commented Jan 13, 2017

The static compilation fails.

[ 98%] Built target vvLib
vv/CMakeFiles/vv.dir/build.make:317: * target pattern contains no '%'. Arrêt.
CMakeFiles/Makefile2:98: recipe for target 'vv/CMakeFiles/vv.dir/all’ failed
make1: [vv/CMakeFiles/vv.dir/all] Error 2
make1: Attente des tâches non terminées....
[ 99%] Built target clitkDicomRTStruct2Image
[ 99%] Built target clitkAffineRegistration
Makefile:149: recipe for target 'all’ failed
make: * [all] Error 2

And into vv/CMakeFiles/vv.dir/build.make:317
bin/vv: Qt5::UiPlugin-NOTFOUND

vv.pro.zip

@tbaudier
Copy link
Contributor Author

tbaudier commented Jan 13, 2017

With a .pro (attached file) file, vv compile and works correctly using the compilation instructions on:
https://www.creatis.insa-lyon.fr/rio/vv-static
vv.pro.zip

Some libraries are still loaded at runtime:
linux-vdso.so.1 (0x00007ffc78051000)
libpng16.so.16 ⇒ /usr/lib64/libpng16.so.16 (0x00007f068e54b000)
libXt.so.6 ⇒ /usr/lib64/libXt.so.6 (0x00007f068e08a000)
*libXi.so.6 ⇒ /usr/lib64/libXi.so.6 (0x00007f068de7a000)
libSM.so.6 ⇒ /usr/lib64/libSM.so.6 (0x00007f068dc72000)
libICE.so.6 ⇒ /usr/lib64/libICE.so.6 (0x00007f068da54000)
libX11-xcb.so.1 ⇒ /usr/lib64/libX11-xcb.so.1 (0x00007f068d852000)
libxcb.so.1 ⇒ /usr/lib64/libxcb.so.1 (0x00007f068d632000)
libfontconfig.so.1 ⇒ /usr/lib64/libfontconfig.so.1 (0x00007f068d3f3000)
libfreetype.so.6 ⇒ /usr/lib64/libfreetype.so.6 (0x00007f068d15d000)
libXrender.so.1 ⇒ /usr/lib64/libXrender.so.1 (0x00007f068cf53000)
libXext.so.6 ⇒ /usr/lib64/libXext.so.6 (0x00007f068cd40000)
libX11.so.6 ⇒ /usr/lib64/libX11.so.6 (0x00007f068ca02000)
*libEGL.so.1 ⇒ /usr/lib64/libEGL.so.1 (0x00007f068c585000)
libz.so.1 ⇒ /lib64/libz.so.1 (0x00007f068c36f000)
libdl.so.2 ⇒ /lib64/libdl.so.2 (0x00007f068b543000)
libgthread-2.0.so.0 ⇒ /usr/lib64/libgthread-2.0.so.0 (0x00007f068b341000)
libglib-2.0.so.0 ⇒ /usr/lib64/libglib-2.0.so.0 (0x00007f068b033000)
librt.so.1 ⇒ /lib64/librt.so.1 (0x00007f068ae2a000)
libGL.so.1 ⇒ /usr/lib64/libGL.so.1 (0x00007f068ab9a000)
libpthread.so.0 ⇒ /lib64/libpthread.so.0 (0x00007f068a97d000)
libm.so.6 ⇒ /lib64/libm.so.6 (0x00007f068a67b000)
libc.so.6 ⇒ /lib64/libc.so.6 (0x00007f068a2d3000)
/lib64/ld-linux-x86-64.so.2 (0x00007f068e7aa000)
libuuid.so.1 ⇒ /usr/lib64/libuuid.so.1 (0x00007f0689eb0000)
libXau.so.6 ⇒ /usr/lib64/libXau.so.6 (0x00007f0689cac000)
libexpat.so.1 ⇒ /usr/lib64/libexpat.so.1 (0x00007f0689a82000)
libxcb-dri2.so.0 ⇒ /usr/lib64/libxcb-dri2.so.0 (0x00007f068987c000)
*libxcb-xfixes.so.0 ⇒ /usr/lib64/libxcb-xfixes.so.0 (0x00007f0689675000)
*libgbm.so.1 ⇒ /usr/lib64/libgbm.so.1 (0x00007f0689467000)
*libwayland-client.so.0 ⇒ /usr/lib64/libwayland-client.so.0 (0x00007f0689258000)
*libwayland-server.so.0 ⇒ /usr/lib64/libwayland-server.so.0 (0x00007f0689046000)
libdrm.so.2 ⇒ /usr/lib64/libdrm.so.2 (0x00007f0688e3a000)
libpcre.so.1 ⇒ /usr/lib64/libpcre.so.1 (0x00007f06886af000)
libglapi.so.0 ⇒ /usr/lib64/libglapi.so.0 (0x00007f0688485000)
libXdamage.so.1 ⇒ /usr/lib64/libXdamage.so.1 (0x00007f0688282000)
libXfixes.so.3 ⇒ /usr/lib64/libXfixes.so.3 (0x00007f068807c000)
libxcb-glx.so.0 ⇒ /usr/lib64/libxcb-glx.so.0 (0x00007f0687e63000)
libxcb-dri3.so.0 ⇒ /usr/lib64/libxcb-dri3.so.0 (0x00007f0687c60000)
libxcb-present.so.0 ⇒ /usr/lib64/libxcb-present.so.0 (0x00007f0687a5d000)
libxcb-sync.so.1 ⇒ /usr/lib64/libxcb-sync.so.1 (0x00007f0687856000)
libxshmfence.so.1 ⇒ /usr/lib64/libxshmfence.so.1 (0x00007f0687653000)
libXxf86vm.so.1 ⇒ /usr/lib64/libXxf86vm.so.1 (0x00007f068744d000)
libffi.so.4 ⇒ /usr/lib64/libffi.so.4 (0x00007f0687244000)

The libraries with a * are new libraries (compare to the binary available on the vv website).

With some qt options you can remove the following libraries:
QT: -no-harfbuzz:
*libharfbuzz.so.0 ⇒ /usr/lib64/libharfbuzz.so.0 (0x00007f068e2f1000)
*libgraphite2.so.3 ⇒ /usr/lib64/libgraphite2.so.3 (0x00007f068a0b6000)
QT: -qt-pcre:
*libpcre16.so.0 ⇒ /usr/lib64/libpcre16.so.0 (0x00007f068b748000)
QT: -no-icu:
*libicui18n.so.53.1 ⇒ /usr/lib64/libicui18n.so.53.1 (0x00007f068bf2c000)
*libicuuc.so.53.1 ⇒ /usr/lib64/libicuuc.so.53.1 (0x00007f068bba9000)
*libicudata.so.53.1 ⇒ /usr/lib64/libicudata.so.53.1 (0x00007f068b9a8000)
libstdc++.so.6 ⇒ /usr/lib64/libstdc++.so.6 (0x00007f0688b31000)
libgcc_s.so.1 ⇒ /lib64/libgcc_s.so.1 (0x00007f068891a000)
With the following comment:
*libjpeg.so.62 ⇒ /usr/lib64/libjpeg.so.62 (0x00007f068c7ae000)

The following libraries are loaded by the previous binary but are not present here:
libGLU.so.1 ⇒ /usr/lib64/libGLU.so.1 (0x00007efecb160000)
libgobject-2.0.so.0 ⇒ /usr/lib64/libgobject-2.0.so.0 (0x00007efec952b000)
libgomp.so.1 ⇒ /usr/lib64/libgomp.so.1 (0x00007efec8457000)

The new vv size is 72 Mo before strip and 55 Mo after (to compare, the previous one was 54 Mo)

@tbaudier
Copy link
Contributor Author

vv.pro.zip

@tbaudier
Copy link
Contributor Author

The 64bits Linux binary works with:

  • OpenSuse 13.2
  • Fedora 23 (Adrien)
  • Debian (Zenjie)
  • Ubuntu (Cath)

It doesn’t work with:

  • Red hat Enterprise Client Release 5.10 - Tikanga (NM) (libX11-xcb.so.1 is missing)

@tbaudier
Copy link
Contributor Author

*You can remove the libjpeg dependency:
1/ Compile libjpeg from source staticaly (be sure to have the .a file)
2/ Compile Qt5 with -system-libpng -system-libjpeg tags
3/ Comile VTK and ITK with USE_SYSTEM_PNG and USE_SYSTEM_JPEG to ON and set the path to the previous .a file
4/ Compile vv with qmake && make.
5/ The last line during the vv compilation seems to be the following:

g++ -Wl,-O1 -o vv vv.o vvToolMedianFilter.o vvToolRigidReg.o vvToolCropImage.o vvToolBinarize.o vvToolImageArithm.o vvToolResample.o vvToolMIP.o vvToolConvert.o vvToolROIManager.o vvToolSegmentation.o vvToolProfile.o vvInfoPanel.o vvMainWindow.o vvLinkPanel.o vvOverlayPanel.o vvLandmarksPanel.o vvProgressDialog.o vvSegmentationDialog.o vvSurfaceViewerDialog.o vvDeformationDialog.o vvStructSelector.o vvIntensityValueSlider.o vvLabelImageLoaderWidget.o vvToolWidgetBase.o vvToolSimpleInputSelectorWidget.o vvToolInputSelectorWidget.o vvRegisterForm.o vvQProgressDialogITKCommand.o vvQDicomSeriesSelector.o QTreePushButton.o vvMainWindowBase.o vvImageWarp.o vvDeformableRegistration.o vtkVOXImageWriter.o vvInteractorStyleNavigator.o vvSlicer.o vvLandmarks.o vvLandmarksGlyph.o vvClipPolyData.o vvGlyphSource.o vvGlyph2D.o vvSlicerManager.o vvSlicerManagerCommand.o vvUtils.o vvMesh.o vvMeshActor.o vvMeshReader.o vvMidPosition.o vvImageContour.o vvBinaryImageOverlayActor.o vvStructureSetActor.o vvSaveState.o vvReadState.o vvROIActor.o vvBlendImageActor.o vvToolManager.o vvToolCreatorBase.o vvToolBaseBase.o clitkCommon.o clitkListOfPair.o clitkTimer.o clitkImageCommon.o clitkTransformUtilities.o clitkIO.o clitkGateAsciiImageIO.o clitkGateAsciiImageIOFactory.o clitkVoxImageIO.o clitkVoxImageIOFactory.o clitkVfImageIO.o clitkVfImageIOFactory.o clitkXdrImageIOReader.o clitkXdrImageIOWriter.o clitkXdrImageIOFactory.o rtkHisImageIO.o rtkHisImageIOFactory.o rtkHndImageIO.o rtkHndImageIOFactory.o rtkEdfImageIO.o rtkEdfImageIOFactory.o rtkXRadImageIO.o rtkXRadImageIOFactory.o rtkImagXImageIO.o rtkImagXImageIOFactory.o rtkImagXXMLFileReader.o clitkEsrfHstImageIO.o clitkEsrfHstImageIOFactory.o clitkEsrfHstXMLFileReader.o clitkDicomRTDoseIO.o clitkDicomRTDoseIOFactory.o clitkOrientation.o clitkImageToImageGenericFilterBase.o clitkExceptionObject.o clitkFilterBase.o clitkMemoryUsage.o clitkMatrix.o vvImage.o vvImageReader.o vvImageWriter.o clitkDicomRTStruct2ImageFilter.o clitkDicomRT_ROI.o clitkDicomRT_StructureSet.o clitkDicomRT_Contour.o clitkProfileImageGenericFilter.o clitkMedianImageGenericFilter.o clitkCropImageGenericFilter.o clitkBinarizeImageGenericFilter.o clitkResampleImageGenericFilter.o clitkMIPGenericFilter.o clitkImageArithmGenericFilter.o clitkImageConvertGenericFilter.o clitkMedianImageFilter_ggo.o clitkCropImage_ggo.o clitkBinarizeImage_ggo.o clitkResampleImage_ggo.o clitkMIP_ggo.o clitkImageArithm_ggo.o clitkRegionGrowing_ggo.o clitkProfileImage_ggo.o clitkConnectedComponentLabeling_ggo.o vv_plugin_import.o qrc_vvIcons.o moc_vvMainWindowBase.o moc_QTreePushButton.o moc_vvDocumentation.o moc_vvHelpDialog.o moc_vvQDicomSeriesSelector.o moc_vvSlicerManager.o moc_vvSlicer.o moc_vvStructureSetActor.o moc_vvROIActor.o moc_vvToolCreatorBase.o moc_vvToolMedianFilter.o moc_vvToolRigidReg.o moc_vvToolCropImage.o moc_vvToolBinarize.o moc_vvToolImageArithm.o moc_vvToolResample.o moc_vvToolMIP.o moc_vvToolConvert.o moc_vvToolROIManager.o moc_vvToolSegmentation.o moc_vvToolProfile.o moc_vvInfoPanel.o moc_vvMainWindow.o moc_vvLinkPanel.o moc_vvOverlayPanel.o moc_vvLandmarksPanel.o moc_vvProgressDialog.o moc_vvSegmentationDialog.o moc_vvSurfaceViewerDialog.o moc_vvDeformationDialog.o moc_vvStructSelector.o moc_vvIntensityValueSlider.o moc_vvLabelImageLoaderWidget.o moc_vvToolWidgetBase.o moc_vvToolSimpleInputSelectorWidget.o moc_vvToolInputSelectorWidget.o moc_vvRegisterForm.o -static-libgcc -static-libstdc++ -L/home/tbaudier/vv/vv_static/ITK/ITK_bin/lib/ -L/home/tbaudier/vv/vv_static/VTK/VTK_bin/lib/ -lvtkInteractionImage-6.3 -lvtkInteractionStyle-6.3 -lvtkViewsContext2D-6.3 -lvtkViewsCore-6.3 -lvtkFiltersGeneral-6.3 -lvtkViewsQt-6.3 -lvtkRenderingContextOpenGL-6.3 -lvtkRenderingAnnotation-6.3 -lvtkRenderingFreeType-6.3 -lvtkRenderingQt-6.3 -lvtkGUISupportQtSQL-6.3 -lvtkGUISupportQtOpenGL-6.3 -lvtkChartsCore-6.3 -lvtkRenderingOpenGL-6.3 -lvtkRenderingCore-6.3 -lvtkmetaio-6.3 -lvtkIOLegacy-6.3 -lvtkIOImage-6.3 -lvtkexpat-6.3 -lvtkGeovisCore-6.3 -lvtkFiltersExtraction-6.3 -lvtkFiltersSMP-6.3 -lvtkFiltersProgrammable-6.3 -lvtkFiltersTexture-6.3 -lvtkFiltersHybrid-6.3 -lvtkFiltersCore-6.3 -lvtkImagingMath-6.3 -lvtkCommonExecutionModel-6.3 -lvtkImagingStatistics-6.3 -lvtkRenderingGL2PS-6.3 -lvtkRenderingContext2D-6.3 -lvtkIOSQL-6.3 -lvtkImagingStencil-6.3 -lvtkImagingCore-6.3 -lvtkverdict-6.3 -lvtkInfovisLayout-6.3 -lvtkCommonDataModel-6.3 -lvtktiff-6.3 -lvtkzlib-6.3 -lvtkproj4-6.3 -lvtkNetCDF_cxx-6.3 -lvtkRenderingLOD-6.3 -lvtkhdf5_hl-6.3 -lvtkCommonTransforms-6.3 -lvtkCommonCore-6.3 -lvtkjpeg-6.3 -lvtkFiltersStatistics-6.3 -lvtklibxml2-6.3 -lvtkIOXML-6.3 -lvtkFiltersHyperTree-6.3 -lvtkIOLSDyna-6.3 -lvtkIOXMLParser-6.3 -lvtkImagingMorphological-6.3 -lvtkCommonComputationalGeometry-6.3 -lvtkCommonSystem-6.3 -lvtkCommonMisc-6.3 -lvtkIOImport-6.3 -lvtkInfovisCore-6.3 -lvtkhdf5-6.3 -lvtkexoIIc-6.3 -lvtkIOParallelXML-6.3 -lvtkIOMovie-6.3 -lvtkImagingFourier-6.3 -lvtkgl2ps-6.3 -lvtkRenderingVolumeOpenGL-6.3 -lvtkpng-6.3 -lvtkalglib-6.3 -lvtkFiltersParallel-6.3 -lvtkCommonMath-6.3 -lvtkFiltersImaging-6.3 -lvtksqlite-6.3 -lvtkParallelCore-6.3 -lvtkIOExodus-6.3 -lvtkRenderingLabel-6.3 -lvtkIOExport-6.3 -lvtkIOGeometry-6.3 -lvtkjsoncpp-6.3 -lvtkImagingHybrid-6.3 -lvtkFiltersSources-6.3 -lvtkRenderingImage-6.3 -lvtkDomainsChemistry-6.3 -lvtkIOMINC-6.3 -lvtkoggtheora-6.3 -lvtkIOCore-6.3 -lvtkDICOMParser-6.3 -lvtkCommonColor-6.3 -lvtkRenderingLIC-6.3 -lvtkImagingSources-6.3 -lvtkViewsInfovis-6.3 -lvtkNetCDF-6.3 -lvtkFiltersGeometry-6.3 -lvtkFiltersGeneric-6.3 -lvtkRenderingVolume-6.3 -lvtkIONetCDF-6.3 -lvtksys-6.3 -lvtkIOPLY-6.3 -lvtkftgl-6.3 -lvtkfreetype-6.3 -lvtkImagingGeneral-6.3 -lvtkFiltersParallelImaging-6.3 -lvtkIOAMR-6.3 -lvtkFiltersFlowPaths-6.3 -lvtkImagingColor-6.3 -lvtkFiltersAMR-6.3 -lvtkInteractionWidgets-6.3 -lvtkIOInfovis-6.3 -lvtkFiltersVerdict-6.3 -lvtkFiltersSelection-6.3 -lvtkIOParallel-6.3 -lvtkIOEnSight-6.3 -lvtkFiltersModeling-6.3 -lvtkIOVideo-6.3 -lvtkGUISupportQt-6.3 -litktestlib-4.9 -lITKIOMeta-4.9 -lITKIOGDCM-4.9 -lITKCommon-4.9 -lITKPolynomials-4.9 -lITKOptimizers-4.9 -lITKVNLInstantiation-4.9 -lITKNrrdIO-4.9 -litkhdf5_cpp-4.9 -lITKIOCSV-4.9 -lITKLabelMap-4.9 -lITKIOGIPL-4.9 -lITKIOPNG-4.9 -lITKIOMRC-4.9 -lITKBioCell-4.9 -lITKIOTransformInsightLegacy-4.9 -lITKIONIFTI-4.9 -lITKVTK-4.9 -lITKPath-4.9 -lITKIONRRD-4.9 -litkdouble-conversion-4.9 -lITKKLMRegionGrowing-4.9 -lITKIOTIFF-4.9 -lITKMesh-4.9 -lITKIOIPL-4.9 -lITKOptimizersv4-4.9 -lITKReview-4.9 -lITKniftiio-4.9 -lITKIOJPEG-4.9 -lITKIOTransformBase-4.9 -lITKgiftiio-4.9 -lITKznz-4.9 -lITKIOLSM-4.9 -lITKSpatialObjects-4.9 -lITKWatersheds-4.9 -lITKStatistics-4.9 -lITKIOBMP-4.9 -lITKIOSpatialObjects-4.9 -litkvnl_algo-4.9 -lITKIOVTK-4.9 -litkopenjpeg-4.9 -lITKIOGE-4.9 -lITKBiasCorrection-4.9 -litkv3p_lsqr-4.9 -lITKTransform-4.9 -litkzlib-4.9 -lITKIOStimulate-4.9 -lITKIOMesh-4.9 -litkv3p_netlib-4.9 -lITKVideoIO-4.9 -lITKIOTransformHDF5-4.9 -lITKDICOMParser-4.9 -lITKIOImageBase-4.9 -litkjpeg-4.9 -lITKIOXML-4.9 -litkNetlibSlatec-4.9 -lITKIOBioRad-4.9 -lITKIOTransformMatlab-4.9 -litkvcl-4.9 -litktiff-4.9 -litkpng-4.9 -lITKFEM-4.9 -lITKVideoCore-4.9 -lITKMetaIO-4.9 -litkhdf5-4.9 -lITKQuadEdgeMesh-4.9 -lITKIOHDF5-4.9 -lITKVtkGlue-4.9 -lITKIOSiemens-4.9 -litkvnl-4.9 -lITKEXPAT-4.9 -litksys-4.9 -litkgdcmMSFF-4.9 -litkgdcmopenjpeg-4.9 -litkgdcmjpeg16-4.9 -litkgdcmDICT-4.9 -litkgdcmjpeg12-4.9 -litkgdcmsocketxx-4.9 -litkgdcmuuid-4.9 -litkgdcmcharls-4.9 -litkgdcmDSED-4.9 -litkgdcmjpeg8-4.9 -litkgdcmMEXD-4.9 -litkgdcmCommon-4.9 -litkgdcmIOD-4.9 -L/usr/X11R6/lib -L/usr/lib64 -L/home/tbaudier/vv/vv_static/Qt/lib/ -lXt -L/home/tbaudier/vv/vv_static/Qt/bin/qtbase/lib -lQt5Widgets -L/home/tbaudier/vv/vv_static/Qt/bin/qtbase/plugins/platforms -lqxcb -L/home/tbaudier/vv/vv_static/Qt/bin/qtbase/src/plugins/platforms/xcb/xcb-static -L/home/tbaudier/vv/vv_static/Qt/bin/qtbase/plugins/xcbglintegrations -lqxcb-egl-integration -L/home/tbaudier/vv/vv_static/Qt/bin/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_egl/xcb-static -lqxcb-glx-integration -L/home/tbaudier/vv/vv_static/Qt/bin/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/xcb-static -lQt5XcbQpa -lXi -lSM -lICE -lxcb-static -L/home/tbaudier/vv/vv_static/Qt/bin/qtbase/plugins/imageformats -lqico -L/home/tbaudier/vv/vv_static/Qt/bin/qtbase/plugins/egldeviceintegrations -lqeglfs-x11-integration -lX11-xcb -lxcb -lQt5EglDeviceIntegration -lQt5PlatformSupport -lfontconfig -lfreetype -lXrender -lXext -lX11 -lQt5Gui /home/tbaudier/vv/vv_static/libjpeg6/jpeg-6b/libjpeg.a -lpng -lEGL -L/home/tbaudier/vv/vv_static/Qt/bin/qtbase/plugins/bearer -lqconnmanbearer -lqgenericbearer -lqnmbearer -lQt5Network -lQt5DBus -lQt5Core -lz -lqtpcre -lm -ldl -lgthread-2.0 -pthread -lglib-2.0 -lrt -lGL -lpthread

Copy it and change -ljpeg with the path to the .a file and execute it.

*You can remove libtiff & libmng dependencies:
1/Compile vv with qmake
2/Before make, remove in file vv_plugin_import.cpp the lines: qt_static_plugin_QMngPlugin() & qt_static_plugin_QTiffPlugin()
3/make
4/redo the previous g++ line compilation removing -ljpeg, -ltiff and -lmng
Libtiff and libmng have dependencies with libjpeg. But we can’t remove during Qt5 compilation anymore.

@tbaudier
Copy link
Contributor Author

The static compilation with Qt4 works with the CMAKE file.
The runtime loaded libraries are:
linux-vdso.so.1 (0x00007ffc6c5fa000)
libstatgrab.so.6 ⇒ /usr/lib64/libstatgrab.so.6 (0x00007f3b65823000)
libXt.so.6 ⇒ /usr/lib64/libXt.so.6 (0x00007f3b655bb000)
libGLU.so.1 ⇒ /usr/lib64/libGLU.so.1 (0x00007f3b6533c000)
libGL.so.1 ⇒ /usr/lib64/libGL.so.1 (0x00007f3b650ac000)
libtiff.so.5 ⇒ /usr/lib64/libtiff.so.5 (0x00007f3b64e36000)
libmng.so.2 ⇒ /usr/lib64/libmng.so.2 (0x00007f3b64bb4000)
libSM.so.6 ⇒ /usr/lib64/libSM.so.6 (0x00007f3b649ac000)
libICE.so.6 ⇒ /usr/lib64/libICE.so.6 (0x00007f3b6478e000)
libXrender.so.1 ⇒ /usr/lib64/libXrender.so.1 (0x00007f3b64584000)
libfontconfig.so.1 ⇒ /usr/lib64/libfontconfig.so.1 (0x00007f3b64346000)
libfreetype.so.6 ⇒ /usr/lib64/libfreetype.so.6 (0x00007f3b640af000)
libX11.so.6 ⇒ /usr/lib64/libX11.so.6 (0x00007f3b63d71000)
libXext.so.6 ⇒ /usr/lib64/libXext.so.6 (0x00007f3b63b5f000)
libz.so.1 ⇒ /lib64/libz.so.1 (0x00007f3b63948000)
libgthread-2.0.so.0 ⇒ /usr/lib64/libgthread-2.0.so.0 (0x00007f3b63746000)
libglib-2.0.so.0 ⇒ /usr/lib64/libglib-2.0.so.0 (0x00007f3b63438000)
libgobject-2.0.so.0 ⇒ /usr/lib64/libgobject-2.0.so.0 (0x00007f3b631e6000)
librt.so.1 ⇒ /lib64/librt.so.1 (0x00007f3b62fde000)
libjpeg.so.8 ⇒ /usr/lib64/libjpeg.so.8 (0x00007f3b62d89000)
libdl.so.2 ⇒ /lib64/libdl.so.2 (0x00007f3b62b84000)
libm.so.6 ⇒ /lib64/libm.so.6 (0x00007f3b62883000)
libpthread.so.0 ⇒ /lib64/libpthread.so.0 (0x00007f3b62666000)
libstdc++.so.6 ⇒ /usr/lib64/libstdc++.so.6 (0x00007f3b6235d000)
libgomp.so.1 ⇒ /usr/lib64/libgomp.so.1 (0x00007f3b6214e000)
libgcc_s.so.1 ⇒ /lib64/libgcc_s.so.1 (0x00007f3b61f37000)
libc.so.6 ⇒ /lib64/libc.so.6 (0x00007f3b61b8e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3b65a50000)
libexpat.so.1 ⇒ /usr/lib64/libexpat.so.1 (0x00007f3b61964000)
libglapi.so.0 ⇒ /usr/lib64/libglapi.so.0 (0x00007f3b6173a000)
libXdamage.so.1 ⇒ /usr/lib64/libXdamage.so.1 (0x00007f3b61536000)
libXfixes.so.3 ⇒ /usr/lib64/libXfixes.so.3 (0x00007f3b61330000)
libX11-xcb.so.1 ⇒ /usr/lib64/libX11-xcb.so.1 (0x00007f3b6112e000)
libxcb-glx.so.0 ⇒ /usr/lib64/libxcb-glx.so.0 (0x00007f3b60f15000)
libxcb-dri2.so.0 ⇒ /usr/lib64/libxcb-dri2.so.0 (0x00007f3b60d10000)
libxcb-dri3.so.0 ⇒ /usr/lib64/libxcb-dri3.so.0 (0x00007f3b60b0d000)
libxcb-present.so.0 ⇒ /usr/lib64/libxcb-present.so.0 (0x00007f3b60909000)
libxcb-sync.so.1 ⇒ /usr/lib64/libxcb-sync.so.1 (0x00007f3b60703000)
libxcb.so.1 ⇒ /usr/lib64/libxcb.so.1 (0x00007f3b604e3000)
libxshmfence.so.1 ⇒ /usr/lib64/libxshmfence.so.1 (0x00007f3b602df000)
libXxf86vm.so.1 ⇒ /usr/lib64/libXxf86vm.so.1 (0x00007f3b600d9000)
libdrm.so.2 ⇒ /usr/lib64/libdrm.so.2 (0x00007f3b5fecd000)
liblzma.so.5 ⇒ /usr/lib64/liblzma.so.5 (0x00007f3b5fca6000)
libjbig.so.2 ⇒ /usr/lib64/libjbig.so.2 (0x00007f3b5fa9a000)
liblcms2.so.2 ⇒ /usr/lib64/liblcms2.so.2 (0x00007f3b5f843000)
libuuid.so.1 ⇒ /usr/lib64/libuuid.so.1 (0x00007f3b5f63d000)
libpng16.so.16 ⇒ /usr/lib/libpng16.so.16 (0x00007f3b5f40b000)
libpcre.so.1 ⇒ /usr/lib64/libpcre.so.1 (0x00007f3b5f1a0000)
libffi.so.4 ⇒ /usr/lib64/libffi.so.4 (0x00007f3b5ef98000)
libXau.so.6 ⇒ /usr/lib64/libXau.so.6 (0x00007f3b5ed93000)

@tbaudier
Copy link
Contributor Author

With Qt4:

linux-vdso.so.1 (0x00007ffcdfbef000)
libstatgrab.so.6 ⇒ /usr/lib64/libstatgrab.so.6 (0x00007f4b097e4000)
libXt.so.6 ⇒ /usr/lib64/libXt.so.6 (0x00007f4b0957c000)
libGLU.so.1 ⇒ /usr/lib64/libGLU.so.1 (0x00007f4b092fd000)
libGL.so.1 ⇒ /usr/lib64/libGL.so.1 (0x00007f4b0906d000)
libSM.so.6 ⇒ /usr/lib64/libSM.so.6 (0x00007f4b08e64000)
libICE.so.6 ⇒ /usr/lib64/libICE.so.6 (0x00007f4b08c47000)
libXrender.so.1 ⇒ /usr/lib64/libXrender.so.1 (0x00007f4b08a3d000)
libfontconfig.so.1 ⇒ /usr/lib64/libfontconfig.so.1 (0x00007f4b087fe000)
libfreetype.so.6 ⇒ /usr/lib64/libfreetype.so.6 (0x00007f4b08568000)
libX11.so.6 ⇒ /usr/lib64/libX11.so.6 (0x00007f4b0822a000)
libXext.so.6 ⇒ /usr/lib64/libXext.so.6 (0x00007f4b08017000)
libgthread-2.0.so.0 ⇒ /usr/lib64/libgthread-2.0.so.0 (0x00007f4b07e15000)
libglib-2.0.so.0 ⇒ /usr/lib64/libglib-2.0.so.0 (0x00007f4b07b07000)
libgobject-2.0.so.0 ⇒ /usr/lib64/libgobject-2.0.so.0 (0x00007f4b078b5000)
librt.so.1 ⇒ /lib64/librt.so.1 (0x00007f4b076ad000)
libpng16.so.16 ⇒ /usr/lib/libpng16.so.16 (0x00007f4b0747b000)
libz.so.1 ⇒ /lib64/libz.so.1 (0x00007f4b07264000)
libdl.so.2 ⇒ /lib64/libdl.so.2 (0x00007f4b07060000)
libm.so.6 ⇒ /lib64/libm.so.6 (0x00007f4b06d5f000)
libpthread.so.0 ⇒ /lib64/libpthread.so.0 (0x00007f4b06b41000)
libstdc++.so.6 ⇒ /usr/lib64/libstdc++.so.6 (0x00007f4b06839000)
libgomp.so.1 ⇒ /usr/lib64/libgomp.so.1 (0x00007f4b0662a000)
libgcc_s.so.1 ⇒ /lib64/libgcc_s.so.1 (0x00007f4b06412000)
libc.so.6 ⇒ /lib64/libc.so.6 (0x00007f4b0606a000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4b09a14000)
libexpat.so.1 ⇒ /usr/lib64/libexpat.so.1 (0x00007f4b05e40000)
libglapi.so.0 ⇒ /usr/lib64/libglapi.so.0 (0x00007f4b05c15000)
libXdamage.so.1 ⇒ /usr/lib64/libXdamage.so.1 (0x00007f4b05a12000)
libXfixes.so.3 ⇒ /usr/lib64/libXfixes.so.3 (0x00007f4b0580c000)
libX11-xcb.so.1 ⇒ /usr/lib64/libX11-xcb.so.1 (0x00007f4b05609000)
libxcb-glx.so.0 ⇒ /usr/lib64/libxcb-glx.so.0 (0x00007f4b053f1000)
libxcb-dri2.so.0 ⇒ /usr/lib64/libxcb-dri2.so.0 (0x00007f4b051ec000)
libxcb-dri3.so.0 ⇒ /usr/lib64/libxcb-dri3.so.0 (0x00007f4b04fe8000)
libxcb-present.so.0 ⇒ /usr/lib64/libxcb-present.so.0 (0x00007f4b04de5000)
libxcb-sync.so.1 ⇒ /usr/lib64/libxcb-sync.so.1 (0x00007f4b04bdf000)
libxcb.so.1 ⇒ /usr/lib64/libxcb.so.1 (0x00007f4b049be000)
libxshmfence.so.1 ⇒ /usr/lib64/libxshmfence.so.1 (0x00007f4b047bb000)
libXxf86vm.so.1 ⇒ /usr/lib64/libXxf86vm.so.1 (0x00007f4b045b5000)
libdrm.so.2 ⇒ /usr/lib64/libdrm.so.2 (0x00007f4b043a8000)
libuuid.so.1 ⇒ /usr/lib64/libuuid.so.1 (0x00007f4b041a3000)
libpcre.so.1 ⇒ /usr/lib64/libpcre.so.1 (0x00007f4b03f38000)
libffi.so.4 ⇒ /usr/lib64/libffi.so.4 (0x00007f4b03d30000)
libXau.so.6 ⇒ /usr/lib64/libXau.so.6 (0x00007f4b03b2b000)

The libraries with a * are new libraries (compare to the binary available on the vv website).

With some qt options you can remove the following libraries:
QT: -no-libtiff -no-libmng:
libjpeg.so.8 ⇒ /usr/lib64/libjpeg.so.8 (0x00007f3b62d89000)
libmng.so.2 ⇒ /usr/lib64/libmng.so.2 (0x00007f3b64bb4000)
libtiff.so.5 ⇒ /usr/lib64/libtiff.so.5 (0x00007f3b64e36000)
liblzma.so.5 ⇒ /usr/lib64/liblzma.so.5 (0x00007f3b5fca6000)
libjbig.so.2 ⇒ /usr/lib64/libjbig.so.2 (0x00007f3b5fa9a000)
liblcms2.so.2 ⇒ /usr/lib64/liblcms2.so.2 (0x00007f3b5f843000)

@tbaudier
Copy link
Contributor Author

With Windows (Visual Studio 12 2013), I had this error: (32bit)
(QtGui.lib) error LNK2005: png_get_uint_31 already defined in itkpng-4.9.lib

https://msdn.microsoft.com/fr-fr/library/72zdcz6f.aspx
https://msdn.microsoft.com/fr-fr/library/70abkas3.aspx

On Visual Studio, into propertyManager: right click on vv / Properties / Linker / Command Line
Add in Additional Options : /FORCE:MULTIPLE

@tbaudier
Copy link
Contributor Author

tbaudier commented Jan 25, 2017

I remove the libstatgrab dependency with the last static build:
linux-vdso.so.1 (0x00007ffcb3bd5000)
libGLU.so.1 => /usr/lib64/libGLU.so.1 (0x00007fe4f815c000)
libXt.so.6 => /usr/lib64/libXt.so.6 (0x00007fe4f7ef4000)
libm.so.6 => /lib64/libm.so.6 (0x00007fe4f7bf3000)
libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007fe4f7963000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007fe4f7730000)
libSM.so.6 => /usr/lib64/libSM.so.6 (0x00007fe4f7528000)
libICE.so.6 => /usr/lib64/libICE.so.6 (0x00007fe4f730b000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fe4f7100000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007fe4f6ec2000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fe4f6c2c000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fe4f6a19000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fe4f66db000)
libz.so.1 => /lib64/libz.so.1 (0x00007fe4f64c5000)
libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007fe4f62c2000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fe4f5fb4000)
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007fe4f5d63000)
librt.so.1 => /lib64/librt.so.1 (0x00007fe4f5b5a000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fe4f5956000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe4f5739000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fe4f5429000)
libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x00007fe4f5212000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fe4f4ffb000)
libc.so.6 => /lib64/libc.so.6 (0x00007fe4f4c52000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe4f8412000)
libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007fe4f4a28000)
libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007fe4f47fe000)
libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007fe4f45fa000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007fe4f43f4000)
libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007fe4f41f2000)
libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 (0x00007fe4f3fd9000)
libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x00007fe4f3dd4000)
libxcb-dri3.so.0 => /usr/lib64/libxcb-dri3.so.0 (0x00007fe4f3bd1000)
libxcb-present.so.0 => /usr/lib64/libxcb-present.so.0 (0x00007fe4f39cd000)
libxcb-sync.so.1 => /usr/lib64/libxcb-sync.so.1 (0x00007fe4f37c7000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fe4f35a7000)
libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1 (0x00007fe4f33a3000)
libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007fe4f319d000)
libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007fe4f2f91000)
libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007fe4f2d8b000)
libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007fe4f2b21000)
libffi.so.4 => /usr/lib64/libffi.so.4 (0x00007fe4f2918000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fe4f2714000)

New one (19/03/2018)
libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007fd95a496000)

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