On Fri, Mar 22, 2024 at 05:55:22PM +0100, Antoine Jacoutot wrote:

> On Fri, Mar 22, 2024 at 01:54:13PM +0100, Otto Moerbeek wrote:
> > Hi,
> > 
> > at PowerDNS we are starting to use meson builds and I hit upon a snag
> > wrt boost.
> > 
> > When searching for libs, only .a's are found, all boost .so's are
> > skipped. I tracked it down to line 608 in
> > 
> > ./mesonbuild/dependencies/boost.py:filter_libraries:
> > 
> >     libs = [x for x in libs if x.version_matches(lib_vers)]
> > 
> > Here lib_vers is set to the boost version 1_84, but presumably the .so
> > version is used to compare against. On other systems that is the
> > convention, but on OpenBSD that does not match.
> > 
> > Disabling this line makes things work.
> > 
> > So there seem to be two possible solutions: make the so version match
> > the boost version, or just skip the test.
> > 
> > I think the latter is preferred. If that's ok, I'll prep a diff.
> 
> Agreed.
> Otherwise we defeat the purpose of SHARED_LIBS.
> It would be nice to have this discussed / pushed upstream if you could.
> https://github.com/mesonbuild/meson
> 
> Thanks.
> 
> -- 
> Antoine

How about this? If you think it's ok, I'll try to see what upstream thinks

        -Otto

Index: Makefile
===================================================================
RCS file: /home/cvs/ports/devel/meson/Makefile,v
diff -u -p -r1.132 Makefile
--- Makefile    14 Feb 2024 11:11:04 -0000      1.132
+++ Makefile    22 Mar 2024 19:10:08 -0000
@@ -5,6 +5,7 @@ GH_ACCOUNT=             mesonbuild
 GH_PROJECT=            meson
 GH_TAGNAME=            1.3.2
 EPOCH=                 0
+REVISION=              0
 
 CATEGORIES=            devel
 
Index: patches/patch-mesonbuild_dependencies_boost_py
===================================================================
RCS file: patches/patch-mesonbuild_dependencies_boost_py
diff -N patches/patch-mesonbuild_dependencies_boost_py
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-mesonbuild_dependencies_boost_py      22 Mar 2024 19:10:08 
-0000
@@ -0,0 +1,13 @@
+Index: mesonbuild/dependencies/boost.py
+--- mesonbuild/dependencies/boost.py.orig
++++ mesonbuild/dependencies/boost.py
+@@ -609,7 +609,8 @@ class BoostDependency(SystemDependency):
+         mlog.debug(f'Static {len(libs)}')
+         libs = [x for x in libs if x.mt == self.multithreading]
+         mlog.debug(f'MT {len(libs)}')
+-        libs = [x for x in libs if x.version_matches(lib_vers)]
++        if not mesonlib.is_openbsd():
++            libs = [x for x in libs if x.version_matches(lib_vers)]
+         mlog.debug(f'Vers {len(libs)} {lib_vers}')
+         libs = [x for x in libs if x.arch_matches(self.arch)]
+         mlog.debug(f'Arch {len(libs)}')

Reply via email to