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

Reply via email to