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

nodejs v17.1.0 #221

Merged
merged 11 commits into from
Nov 27, 2021
Merged

Conversation

regro-cf-autotick-bot
Copy link
Contributor

It is very likely that the current package version for this feedstock is out of date.
Notes for merging 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.
    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

Note that 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.

NEW: 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 new bot automerge feature to your feedstock!

Closes: #217

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.

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. If you would like a local version of this bot, you might consider using rever. Rever is a tool for automating software releases and forms the backbone of the bot's conda-forge PRing capability. Rever is both conda (conda install -c conda-forge rever) and pip (pip install re-ver) installable.
Finally, 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/1441384389, please use this URL for debugging

Here is a list of all the pending dependencies (and their versions) for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
icu 2021-10-25 Anaconda-Server Badge

Dependency Analysis

Please note that this analysis is highly experimental. The aim here is to make maintenance easier by inspecting the package's dependencies. Importantly this analysis does not support optional dependencies, please double check those before making changes. If you do not want hinting of this kind ever please add bot: inspection: false to your conda-forge.yml. If you encounter issues with this feature please ping the bot team conda-forge/bot.

Analysis of the source code shows a discrepancy between the library's imports and the package's stated requirements in the meta.yaml.

Packages found by inspection but not in the meta.yaml:

  • tabulate
  • python-clang
  • aiida-core
  • jinja2
  • mock
  • numpy
  • matplotlib
  • rust
  • markupsafe
  • coverage
  • lark

@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.

@minrk
Copy link
Member

minrk commented Nov 24, 2021

@conda-forge-admin please rerender

@minrk
Copy link
Member

minrk commented Nov 24, 2021

The mac builds are all failing during the build of bundled openssl, which is weird because we are asking it not to build the bundled openssl. The linux builds are correctly linking the openssl dependency.

@minrk
Copy link
Member

minrk commented Nov 25, 2021

Everything working now except ppc/aarch64. aarch64 appears to just be running out of time, while ppc is failing with:

FAILED: obj.host/deps/v8/src/execution/ppc/v8_base_without_compiler.simulator-ppc.o 
$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -MMD -MF obj.host/deps/v8/src/execution/ppc/v8_base_without_compiler.simulator-ppc.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DV8_GYP_BUILD -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -D__STDC_FORMAT_MACROS -DV8_TARGET_ARCH_PPC64 -DV8_TARGET_ARCH_PPC_LE -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX '-DV8_EMBEDDER_STRING="-node.13"' -DENABLE_DISASSEMBLER -DV8_PROMISE_INTERNAL_FIELD_COUNT=1 -DENABLE_MINOR_MC -DOBJECT_PRINT -DV8_INTL_SUPPORT -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_USE_SIPHASH -DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_SNAPSHOT_COMPRESSION -DV8_ENABLE_WEBASSEMBLY -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -I$PREFIX/include -I../../deps/v8 -I../../deps/v8/include -Iobj.host/gen/inspector-generated-output-root -I../../deps/v8/third_party/inspector_protocol -Iobj.host/gen -Iobj.host/gen/generate-bytecode-output-root -I../../deps/v8/third_party/zlib -I../../deps/v8/third_party/zlib/google -pthread -Wno-unused-parameter -m64  -fPIC -Wno-return-type -ffp-contract=off -fno-strict-aliasing -m64 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++17  -c ../../deps/v8/src/execution/ppc/simulator-ppc.cc -o obj.host/deps/v8/src/execution/ppc/v8_base_without_compiler.simulator-ppc.o
../../deps/v8/src/execution/ppc/simulator-ppc.cc: In member function 'void v8::internal::Simulator::ExecuteGeneric(v8::internal::Instruction*)':
../../deps/v8/src/execution/ppc/simulator-ppc.cc:4754:11: error: 'issignaling' was not declared in this scope
       if (issignaling(f)) {
           ^~~~~~~~~~~
../../deps/v8/src/execution/ppc/simulator-ppc.cc:4767:11: error: 'issignaling' was not declared in this scope
       if (issignaling(b_val)) {
           ^~~~~~~~~~~
[1689/2862] CXX obj.host/deps/v8/src/regexp/ppc/v8_base_without_compiler.regexp-macro-assembler-ppc.o
ninja: build stopped: subcommand failed.

@minrk
Copy link
Member

minrk commented Nov 25, 2021

Some Googling (a bit out of my depth) suggests that issignaling is an optional extension in glibc. It's unclear if the patch is missing a required condition, or if we should have an extra define in CXXFLAGS to enable the extension.

@xhochy
Copy link
Member

xhochy commented Nov 26, 2021

aarch64 is running in QEMU, we should also switch it to cross-compilation.

@minrk
Copy link
Member

minrk commented Nov 26, 2021

@conda-forge-admin please rerender

@xhochy
Copy link
Member

xhochy commented Nov 26, 2021

Using this works locally for me:

diff --git a/deps/v8/src/execution/ppc/simulator-ppc.cc b/deps/v8/src/execution/ppc/simulator-ppc.cc
index 97e47bc0..3ac0cff8 100644
--- a/deps/v8/src/execution/ppc/simulator-ppc.cc
+++ b/deps/v8/src/execution/ppc/simulator-ppc.cc
@@ -4751,7 +4751,8 @@ void Simulator::ExecuteGeneric(Instruction* instr) {
           bit_cast<float, uint32_t>(static_cast<uint32_t>(double_bits >> 32));
       double_bits = bit_cast<uint64_t, double>(static_cast<double>(f));
       // Preserve snan.
-      if (issignaling(f)) {
+      float snan = std::numeric_limits<float>::signaling_NaN();
+      if (std::memcmp(&snan, &f, sizeof(float)) == 0) {
         double_bits &= 0xFFF7FFFFFFFFFFFFU;  // Clear bit 51.
       }
       set_d_register(t, double_bits);
@@ -4764,7 +4765,8 @@ void Simulator::ExecuteGeneric(Instruction* instr) {
       uint64_t float_bits = static_cast<uint64_t>(
           bit_cast<uint32_t, float>(static_cast<float>(b_val)));
       // Preserve snan.
-      if (issignaling(b_val)) {
+      double snan = std::numeric_limits<double>::signaling_NaN();
+      if (std::memcmp(&snan, &b_val, sizeof(double)) == 0) {
         float_bits &= 0xFFBFFFFFU;  // Clear bit 22.
       }
       // fp result is placed in both 32bit halfs of the dst.

@minrk
Copy link
Member

minrk commented Nov 26, 2021

@xhochy awesome! I'll apply that patch if the _WANT_SNAN doesn't work out.

I can't find any adequate documentation for what flags should ensure issignaling is available and/or where it's a reasonable expectation, so I don't know if it's a bug in v8 to be missing a check, a missing define (for us, node, or v8), or an unsupported toolchain. _WANT_SNAN came from here.

@xhochy
Copy link
Member

xhochy commented Nov 26, 2021

I would guess it is an unsupported toolchain. Looking at the glibc sources, it seems like issignaling was added around 2017 to it. We use CentOS 7 which has a glibc from 2014.

@minrk
Copy link
Member

minrk commented Nov 26, 2021

Ah, ok. I thought I found it in the changelog for 2.18 from 2013, so figured it was probably there.

@xhochy
Copy link
Member

xhochy commented Nov 26, 2021

Ah, ok. I thought I found it in the changelog for 2.18 from 2013, so figured it was probably there.

Ah, could be that it was already there. We're on 2.17 though :(

@minrk
Copy link
Member

minrk commented Nov 27, 2021

Success!

@xhochy xhochy merged commit 8111831 into conda-forge:master Nov 27, 2021
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the 17.1.0_h425536 branch November 27, 2021 12:34
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.

4 participants