Skip to content

libcxx v15.0.7#108

Merged
isuruf merged 11 commits into
conda-forge:mainfrom
regro-cf-autotick-bot:15.0.7_hbd73a9
Feb 26, 2023
Merged

libcxx v15.0.7#108
isuruf merged 11 commits into
conda-forge:mainfrom
regro-cf-autotick-bot:15.0.7_hbd73a9

Conversation

@regro-cf-autotick-bot

@regro-cf-autotick-bot regro-cf-autotick-bot commented Jan 13, 2023

Copy link
Copy Markdown
Contributor

It is very likely that the current package version for this feedstock is out of date.

Checklist before merging this PR:

  • Dependencies have been updated if changed: see upstream
  • Tests have passed
  • Updated license if changed and license_file is packaged

Information about this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
  3. The bot will stop issuing PRs if more than 3 version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.
  4. If you want these PRs to be merged automatically, make an issue with @conda-forge-admin,please add bot automerge in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.
  5. If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

Closes: #98
Closes: #104
Closes: #106

Pending Dependency Version Updates

Here is a list of all the pending dependency version updates for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
libcxx 15.0.7 Anaconda-Server Badge

Dependency Analysis

We couldn't run dependency analysis due to an internal error in the bot. :/ Help is very welcome!

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/autotick-bot/actions/runs/3908954674, please use this URL for debugging.

@conda-forge-webservices

Copy link
Copy Markdown

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.

@h-vetinari h-vetinari mentioned this pull request Feb 8, 2023
3 tasks
@h-vetinari

Copy link
Copy Markdown
Member

@isuruf regarding your comment in #98:

Can you move this to a single build? We can assess after that is done if it does the same thing we had before.

This is now green, including the downstreams tests. Since I didn't write the old recipe I'm not sure what the intention was with (re-)building libcxx against our own libcxxabi, and so I don't know how to verify that it works as intended.

Beyond that, libcxx is now using C11 features which aren't available in glibc 2.12 (this only appeared when activating the tests, which are removed again now), which also causes problems for our target OSX sdk, since they don't fully support a C11 libc.

The upstream commit that removed the work-arounds in the LLVM 15 cycle said that a new enough compiler (clang >=12) should not need them anymore:

This change means that trying to use libc++ with an old SDK (or on an
old platform for platforms that ship system headers in /usr/include)
will require a recent Clang that supports the using_if_exists attribute.
When using an older Clang or GCC, the underlying platform has to support
a C11 standard library.

However, this doesn't seem to actually work here, so I fully reverted that commit now. This is obviously not a long-term solution, and we'll eventually have to think about bumping the glibc & MACOSX_DEPLOYMENT_TARGET here. As a sidenote, openmp 16 will also need glibc 2.17 it seems.

PS. Switching on the upstream test suite crashes on linux, and runs into a known issue on osx (because we don't seem to be picking up their skips).

@h-vetinari

Copy link
Copy Markdown
Member

@isuruf, I'm dependent on your input here w.r.t. libcxxabi and now building everything at once. I mean, it's green (incl. downstream tests), but since I don't know why it was done separately before, I don't want to break something.

@h-vetinari

Copy link
Copy Markdown
Member

@conda-forge/libcxx, this is the last piece for LLVM 15 in conda-forge (mainly because upstream removed support for the kind of stand-alone build we were using, and it's not clear to me why builds were layered in a particular way until now).

PTAL, especially if you know why we used the libcxx-libcxxabi-libcxx build sandwich on linux.

@isuruf

isuruf commented Feb 13, 2023

Copy link
Copy Markdown
Member

Runtime builds are new I think. The rebuilding needed to happen so that libc++.so and libc++abi.so did not depend on libstdc++.so on Linux.

@h-vetinari

Copy link
Copy Markdown
Member

OK cool. From what I can tell the build is now set up in a way that everything gets built together, so I think a dependence on libstdcxx is unlikely.

From the link-check:

WARNING (libcxxabi,lib/libc++abi.so.1.0): /lib64/libpthread.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?
WARNING (libcxxabi,lib/libc++abi.so.1.0): /lib64/libc.so.6 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?
WARNING (libcxxabi,lib/libc++abi.so.1.0): /lib64/ld-linux-x86-64.so.2 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?
WARNING (libcxxabi,lib/libc++abi.so.1.0): /lib64/libgcc_s.so.1 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?
   INFO: sysroot: '/home/conda/feedstock_root/build_artifacts/libcxx_and_libcxxabi_1675836509013/_build_env/x86_64-conda-linux-gnu/sysroot/' files: '['/home/conda/feedstock_root/build_artifacts/libcxx_and_libcxxabi_1675836509013/_build_env/x86_64-conda-linux-gnu/sysroot/usr/share/zoneinfo/zone.tab', '/home/conda/feedstock_root/build_artifacts/libcxx_and_libcxxabi_1675836509013/_build_env/x86_64-conda-linux-gnu/sysroot/usr/share/zoneinfo/tzdata.zi', '/home/conda/feedstock_root/build_artifacts/libcxx_and_libcxxabi_1675836509013/_build_env/x86_64-conda-linux-gnu/sysroot/usr/share/zoneinfo/right/Zulu', '/home/conda/feedstock_root/build_artifacts/libcxx_and_libcxxabi_1675836509013/_build_env/x86_64-conda-linux-gnu/sysroot/usr/share/zoneinfo/right/WET']'
   INFO (libcxx,lib/libc++.so.1.0): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libpthread.so.0 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15
   INFO (libcxx,lib/libc++.so.1.0): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15
   INFO (libcxx,lib/libc++.so.1.0): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/librt.so.1 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_15
   INFO (libcxx,lib/libc++.so.1.0): Needed DSO lib/libgcc_s.so.1 found in conda-forge::libgcc-ng-12.2.0-h65d4601_19
WARNING (libcxx,lib/libc++.so.1.0): lib/libc++abi.so.1 not found in any packages

Seems that libcxxabi isn't picking up the things from the sysroot (due to not having a compiler?), and that we might want to disambiguate libc++abi.so.1 vs. libc++abi.so.1.0.

@h-vetinari

Copy link
Copy Markdown
Member

Gentle ping @isuruf

@h-vetinari

Copy link
Copy Markdown
Member

Another gentle ping @isuruf

@isuruf isuruf merged commit 1593831 into conda-forge:main Feb 26, 2023
@isuruf

isuruf commented Feb 26, 2023

Copy link
Copy Markdown
Member

Thanks

@isuruf

isuruf commented Feb 26, 2023

Copy link
Copy Markdown
Member

I haven't had time to look at what a long term solution would look like. I'll have a look when I get the time. (Unfortunately that's not going to be soon)

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.

3 participants