astro-informatics / purify

Next-generation radio interferometric imaging.
https://astro-informatics.github.io/purify
GNU General Public License v2.0
17 stars 13 forks source link

Port build system improvements from sopt #304

Closed tkoskela closed 1 year ago

tkoskela commented 2 years ago

Mostly the things that have been done in https://github.com/astro-informatics/sopt/pull/280

tkoskela commented 2 years ago

Hi @SJaffa, could you quickly review this so I could merge it into your sj/conan-build branch and play with the CI?

SJaffa commented 1 year ago

When trying to conan create the SOPT package I get an error:

ERROR: The file is a broken symlink, verify that you are packaging the needed destination files:
 '/home/sarah/.conan/data/sopt/4.0.0/_/_/export_source/cpp/docs/README.md'.
You can skip this check adjusting the 'general.skip_broken_symlinks_check' at the conan.conf file.

Did you get that @tkoskela?

Update: Found the bit in the CMake action that sets the skip, so I'll try that for now.

SJaffa commented 1 year ago

I get a couple of version conflicts:

WARN: sopt/4.0.0: requirement catch2/2.13.7 overridden by purify/3.0.1 to catch2/2.13.9 
ERROR: Conflict in libtiff/4.3.0:
    'libtiff/4.3.0' requires 'zlib/1.2.12' while 'boost/1.78.0' requires 'zlib/1.2.11'.
    To fix this conflict you need to override the package 'zlib' in your root package.
tkoskela commented 1 year ago

I get a couple of version conflicts:

WARN: sopt/4.0.0: requirement catch2/2.13.7 overridden by purify/3.0.1 to catch2/2.13.9 
ERROR: Conflict in libtiff/4.3.0:
    'libtiff/4.3.0' requires 'zlib/1.2.12' while 'boost/1.78.0' requires 'zlib/1.2.11'.
    To fix this conflict you need to override the package 'zlib' in your root package.

Didn't we update libtiff to 4.4.0 in sopt to get rid of the zlib issue. Although here it looks like boost requires an older zlib, so maybe we need to update boost in purify. Might be a good idea anyways, it could bring performance improvements.

We should probably unify the catch version used in sopt and purify, since they're just two minor versions apart I don't expect that to cause too much problems