Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use cmake to obtain correct soname #70

Closed
wants to merge 15 commits into from

Conversation

jaimergp
Copy link
Member

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

See #69 for more details

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@jaimergp
Copy link
Member Author

@conda-forge-admin, please rerender

conda-forge-webservices[bot] and others added 2 commits June 10, 2022 10:39
@jaimergp jaimergp marked this pull request as ready for review June 10, 2022 11:18
recipe/build.sh Outdated
if [[ $MAJOR_VERSION == 3 ]]; then
SONAME_BASE=13
else
echo "MAJOR_VERSION $MAJOR_VERSION not recognized. Update build.sh to specify its SONAME_BASE"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm assuming we won't need any repo patching or rebuilds, right? This ensure the old packages built with this will work.

I'm just concern of the sustainability of this else but I guess this is better than causing more churn in the ecosystem.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Existing packages should work on Linux, but there's no workaround on macOS :(

See this comment

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also I'd say we should only add the symlinks in this transition PR. Next release (e.g. 3.6) should not add the buggy sonames and just stick to upstream conventions (should be so.19 by then).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm OK with that. Let's wait for some else to comment before merging just so we have third opinion.

@jakirkham you are the only other maintainer here BTW 😬

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If possible I'd like to wait til next core call to discuss it with the team. We might need to rebuild libmamba on osx among others.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah not sure about this else either

Also feel a little weird about mucking with the SONAME like this generally. Have we tried raising an issue with upstream?

Copy link
Member Author

@jaimergp jaimergp Jun 16, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my opinion the autoconf workflow has a bug. The expected so names are single integers according to their own docs:

It's unclear to me why we ended up with these weird 13.5.2 so names. Looks like 13 + the minor.patch version, string-concatenated, instead of arithmetically summed. CMake does produce 18.

There have been some similar issues in other distros, in which they couldn't agree on the soname version, but all of them use single integers:

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@jaimergp
Copy link
Member Author

@ocefpaf, this is probably going to become a bigger issue when libmamba becomes default, and I am seeing reports of the defaults<->conda-forge incompatibility in more and more places:

As a result I'd like to move forward with this PR. I've added symlinks to ensure backwards compatibility with the previous builds and a "release bomb" for 3.8 so we remove them. We'll also need to backport this to the 3.6 and 3.5 branches.

If it doesn't work, well, I'll mark them as broken and go back to the drawing board 😬

@jaimergp jaimergp linked an issue Sep 18, 2023 that may be closed by this pull request
1 task
@JeanChristopheMorinPerso

Hi @jaimergp I did a quick check with defaults and I see that we build with -DENABLE_OPENSSL=TRUE on unix systems (except for osx-64 where we don't build with OpenSSL, but I don't know why). Is it something that should be replicated here too? See https://github.com/AnacondaRecipes/libarchive-feedstock/blob/master/recipe/build.sh#L12-L16.

@jaimergp
Copy link
Member Author

@JeanChristopheMorinPerso - True, good catch! I missed that line in configure. Added it now. Thanks!

@JeanChristopheMorinPerso

Np. But you know what, it's actually the default. I didn't realize it is the default. Anyway, it doesn't hurt to be explicit! Thanks for making the modification!

@jaimergp
Copy link
Member Author

Hm, @isuruf pointed me to this list of items to check when making this precise change (autotools -> CMake), and it might be trickier than expected (or not possible at all). I'll report later.

@jaimergp
Copy link
Member Author

Closing here as we won't be able to fix it this way. Check the issue for more details on the strategy going forward.

@jaimergp jaimergp closed this Sep 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SONAMEs follow different scheme than upstream (e.g. so.13.5.2 vs so.18)
5 participants