[Bug 282850] cad/opencascade: bump PORTREVISION after devel/onetbb update

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 18 Nov 2024 16:27:55 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282850

            Bug ID: 282850
           Summary: cad/opencascade: bump PORTREVISION after devel/onetbb
                    update
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: jcfyecrayz@liamekaens.com
                CC: martymac@FreeBSD.org, thierry@FreeBSD.org
                CC: martymac@FreeBSD.org, thierry@FreeBSD.org

cad/opencascade installs .cmake files that have entries like so:

usr/local/lib/cmake/OpenCASCADE/OpenCASCADEDrawTargets.cmake: 
INTERFACE_LINK_LIBRARIES
"TKernel;TKG2d;TKGeomBase;TKG3d;TKMath;TKBRep;TKGeomAlgo;TKShHealing;TKMesh;TKService;TKHLR;TKTopAlgo;/usr/local/lib/libtcl86.so;/usr/local/lib/libtk86.so;X11;/usr/local/lib/libtbb.so.12.13;/usr/local/lib/libtbbmalloc.so.2.13;pthread;rt;stdc++"

cad/FreeCAD uses those files during its build.

devel/onetbb recently updated from 2021.13.0 to 2022.0.0 (ports
2e1a63a2de24a87ec52e05335006143dcf6a5a1a).  In that update, it changed some .so
lib file versions, like:

lib/libtbb.so.12.13 -> lib/libtbb.so.12.14

But cad/opencascade was not bumped, so the .cmake files did not get updated and
still refer to libtbb*.so.12.13

Either:
 - we should bump PORTREVISION for opencascade
 - or change the .cmake files to not be so specific in the .so version if the
API/ABI between minor version updates is expected to be compatible (e.g., refer
to libtbb.so.12 instead of libtbb.so.12.13).  That would require understanding
onetbb's upstreadm API/ABI guarantees on minor (or major) shared lib version
updates, which may or may not include plans for symbol versioning (at a guess,
I suspect it does not, but I have not yet looked).

The PORTREVISION bump is easiest (although not having to rebuild opencascade is
a useful goal since it is not a particularly lightweight build).

This problem results in cad/FreeCAD builds failing if you have an opencascade
installed that was built against the older devel/onetbb:

gmake[2]: *** No rule to make target '/usr/local/lib/libtbb.so.12.13', needed
by 'lib/libSMDS.so'.  Stop.

The devel/onetbb update occurred on Nov 8, 2024.
The most recent update for cad/opencascade was committed Sep 17, 2024.

Locally, I edited the cmake files manually to change the .13 -> .14.  FreeCAD
build now completes, and run-time seems to be working fine in short testing.

-- 
You are receiving this mail because:
You are the assignee for the bug.