On 2009/7/10 Christophe Geuzaine wrote: > Denis Barbier wrote: >> >> Package: gmsh >> Version: 2.3.1.dfsg-2 >> Severity: minor >> Tags: patch >> >> Hi Christophe, >> >> dpkg-shlibdeps prints many warnings because gmsh is linked against unused >> libs, here is a patch to trim down OpenCascade libs, you will have to run >> autotools after applying it. > > This looks wrong to me: we definitely use classes from the libs you removed.
You are right. Since Opencascade ships many libs, I usually rely on inter-library dependencies to minimize the number of -l flags, but this is poor practice. Here is an updated patch to remove only unused libs, it is based on https://buildd.debian.org/fetch.cgi?pkg=gmsh;ver=2.3.1.dfsg-2%2Bb1;arch=amd64;stamp=1243847669 dpkg-shlibdeps: warning: dependency on libTKFeat-6.3.0.so could be avoided if "debian/gmsh/usr/bin/gmsh" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libTKFillet-6.3.0.so could be avoided if "debian/gmsh/usr/bin/gmsh" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libTKHLR-6.3.0.so could be avoided if "debian/gmsh/usr/bin/gmsh" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libTKSTEP209-6.3.0.so could be avoided if "debian/gmsh/usr/bin/gmsh" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libTKBool-6.3.0.so could be avoided if "debian/gmsh/usr/bin/gmsh" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libTKOffset-6.3.0.so could be avoided if "debian/gmsh/usr/bin/gmsh" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libTKAdvTools-6.3.0.so could be avoided if "debian/gmsh/usr/bin/gmsh" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libTKSTEPAttr-6.3.0.so could be avoided if "debian/gmsh/usr/bin/gmsh" were not uselessly linked against it (they use none of its symbols). dpkg-shlibdeps: warning: dependency on libTKSTEPBase-6.3.0.so could be avoided if "debian/gmsh/usr/bin/gmsh" were not uselessly linked against it (they use none of its symbols). Denis
--- gmsh-2.3.1.dfsg.orig/configure.in +++ gmsh-2.3.1.dfsg/configure.in @@ -516,14 +516,13 @@ if test "x$enable_occ" = "xyes"; then AC_CHECK_LIB(TKernel,main,OCC="yes") if test "x${OCC}" = "xyes"; then # DataExchange (subset; see occ/ros/adm/make/Makefile for more info) - OCC_LIBS="-lTKSTEP -lTKSTEP209 -lTKSTEPAttr -lTKSTEPBase -lTKIGES -lTKXSBase" + OCC_LIBS="-lTKSTEP -lTKIGES -lTKXSBase" # ModelingAlgorithms - OCC_LIBS="${OCC_LIBS} -lTKOffset -lTKFeat -lTKFillet -lTKBool -lTKShHealing" - OCC_LIBS="${OCC_LIBS} -lTKMesh -lTKHLR -lTKBO -lTKPrim -lTKTopAlgo -lTKGeomAlgo" + OCC_LIBS="${OCC_LIBS} -lTKShHealing -lTKMesh -lTKBO -lTKPrim -lTKTopAlgo -lTKGeomAlgo" # ModelingData OCC_LIBS="${OCC_LIBS} -lTKBRep -lTKGeomBase -lTKG3d -lTKG2d" # FoundationClasses - OCC_LIBS="${OCC_LIBS} -lTKAdvTools -lTKMath -lTKernel" + OCC_LIBS="${OCC_LIBS} -lTKMath -lTKernel" AC_DEFINE(HAVE_OCC) BO="${BO} Occ" if test "x${OCC_PREFIX}" = "x"; then