Skip to content

Conversation

@regro-cf-autotick-bot
Copy link
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.

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/cf-scripts/actions/runs/18777272011 - please use this URL for debugging.

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Oct 24, 2025

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/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/18842847813. Examine the logs at this URL for more detail.

@h-vetinari
Copy link
Member

Same as in #1664:

[87/1004] Building CXX object src/arrow/CMakeFiles/arrow_util.dir/util/byte_stream_split_internal.cc.o
FAILED: [code=1] src/arrow/CMakeFiles/arrow_util.dir/util/byte_stream_split_internal.cc.o 
$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DGFLAGS_IS_A_DLL=0 -DGLOG_USE_GFLAGS -DGLOG_USE_GLOG_EXPORT -DOPENTELEMETRY_ABI_VERSION_NO=1 -DPROTOBUF_USE_DLLS -DURI_STATIC_BUILD -I$SRC_DIR/cpp/build/src -I$SRC_DIR/cpp/src -I$SRC_DIR/cpp/src/generated -Wno-noexcept-type -Wno-self-move -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/apache-arrow-22.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fdiagnostics-color=always -fuse-ld=gold  -Wall -fno-semantic-interposition -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/apache-arrow-22.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -DNDEBUG -O2 -ftree-vectorize  -std=c++17 -flto=auto -fno-fat-lto-objects -fPIC -pthread -MD -MT src/arrow/CMakeFiles/arrow_util.dir/util/byte_stream_split_internal.cc.o -MF src/arrow/CMakeFiles/arrow_util.dir/util/byte_stream_split_internal.cc.o.d -o src/arrow/CMakeFiles/arrow_util.dir/util/byte_stream_split_internal.cc.o -c $SRC_DIR/cpp/src/arrow/util/byte_stream_split_internal.cc
$SRC_DIR/cpp/src/arrow/util/byte_stream_split_internal.cc: In static member function 'static constexpr auto arrow::util::internal::ByteStreamSplitDecodeDynamic<kNumStreams>::implementations()':
$SRC_DIR/cpp/src/arrow/util/byte_stream_split_internal.cc:55:16: error: 'ByteStreamSplitDecodeSimd' was not declared in this scope; did you mean 'ByteStreamSplitDecode'?
   55 |               &ByteStreamSplitDecodeSimd<xsimd::avx2, kNumStreams>,
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                ByteStreamSplitDecode
$SRC_DIR/cpp/src/arrow/util/byte_stream_split_internal.cc:55:42: error: 'xsimd' was not declared in this scope
   55 |               &ByteStreamSplitDecodeSimd<xsimd::avx2, kNumStreams>,
      |                                          ^~~~~

No idea why xsimd doesn't get found anymore, it's definitely present in $PREFIX:

CC @raulcd @pitrou @kou @jorisvandenbossche

@pitrou
Copy link
Member

pitrou commented Oct 24, 2025

--   ARROW_SIMD_LEVEL=NONE [default=DEFAULT|NONE|SSE4_2|AVX2|AVX512|NEON|SVE|SVE128|SVE256|SVE512]
--       Compile-time SIMD optimization level
--   ARROW_RUNTIME_SIMD_LEVEL=MAX [default=MAX|NONE|SSE4_2|AVX2|AVX512]
--       Max runtime SIMD optimization level

Trying leaving ARROW_SIMD_LEVEL to its default instead of NONE?
(if that's the problem, probably a bug worth fixing on the Arrow side as well)

@raulcd
Copy link
Member

raulcd commented Oct 24, 2025

We seem to require AVX2 unconditionally for that file but the -march=nocona flag present on compilation means that this processor doesn't support AVX2, right?
https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html

The ARROW_RUNTIME_SIMD_LEVEL shouldn't be MAX on that case?

cc @AntoinePrv FYI

@h-vetinari
Copy link
Member

Sounds like a bug to me if

-DARROW_SIMD_LEVEL=NONE \

causes anything higher than the absolutely lowest baseline in terms of necessary CPU features.

@raulcd
Copy link
Member

raulcd commented Oct 24, 2025

Yes, seems like a bug to me if the file requires AVX2 at compile time shouldn't only use the append_runtime_avx2_src macro but should also check ARROW_SIMD_LEVEL as the append_runtime_avx2_src macro only validates the ARROW_RUNTIME_SIMD_LEVEL flag.

@AntoinePrv
Copy link
Contributor

This might be a slightly different issue from apache/arrow#47946

Here we have ARROW_RUNTIME_SIMD_LEVEL=MAX.
The error is in byte_stream_split_internal.cc whereas in the Apache issue it's in byte_stream_split_internal_avx2.cc.
Here I believe the issue is that I use xsimd::avx2 as the dispatch enum when (I beleive) xsimd is not present in files with ARROW_SIMD_LEVEL=NONE

@pitrou
Copy link
Member

pitrou commented Oct 27, 2025

I think it's the exact same issue. ARROW_RUNTIME_SIMD_LEVEL selects dynamically-dispatched SIMD code paths. ARROW_SIMD_LEVEL selects unconditional SIMD code paths. So if ARROW_RUNTIME_SIMD_LEVEL is non-none, then xsimd must be included.

@AntoinePrv
Copy link
Contributor

@conda-forge/arrow-cpp Anyone feels like trying this patch here:

From b66e127fe2278b3c28a9281a4ac2e18b6383e6da Mon Sep 17 00:00:00 2001
From: AntoinePrv <[email protected]>
Date: Mon, 27 Oct 2025 10:25:58 +0100
Subject: [PATCH] Change xsimd inclusion criterion

---
 cpp/src/arrow/util/byte_stream_split_internal.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/cpp/src/arrow/util/byte_stream_split_internal.h b/cpp/src/arrow/util/byte_stream_split_internal.h
index 70f9b87d6c..1ba2d5335b 100644
--- a/cpp/src/arrow/util/byte_stream_split_internal.h
+++ b/cpp/src/arrow/util/byte_stream_split_internal.h
@@ -29,7 +29,9 @@
 #include <cstdint>
 #include <cstring>
 
-#if defined(ARROW_HAVE_NEON) || defined(ARROW_HAVE_SSE4_2)
+// ARROW_HAVE_RUNTIME_SSE4_2 is used on x86-64 to include ARROW_HAVE_SSE4_2 and
+// ARROW_RUNTIME_SIMD_LEVEL != NONE.
+#if defined(ARROW_HAVE_NEON) || defined(ARROW_HAVE_RUNTIME_SSE4_2)
 #  include <xsimd/xsimd.hpp>
 #  define ARROW_HAVE_SIMD_SPLIT
 #endif
-- 
2.51.0

@h-vetinari
Copy link
Member

Thanks @AntoinePrv, that seems to have fixed things! 🥳

There's one last problem on osx-64 though - I don't know why it picks up the wrong compiler during the testing phase. It runs immediately after the main CMake build, and we haven't reconfigured anything, much less the compilers

 90/104 Test  #90: parquet-internals-test .......................***Failed    2.83 sec
Running parquet-internals-test, redirecting output into $SRC_DIR/cpp/build/build/test-logs/parquet-internals-test.txt (attempt 1/1)
2025-10-27 11:51:03.510 xcodebuild[39157:363001] [MT] DVTSDK: Skipped SDK /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk; its version (11.0) is below required minimum (14.0) for the macosx platform.
2025-10-27 11:51:04.160 xcodebuild[39157:363001] Writing error result bundle to /var/folders/5k/fq5ptf2906bgfn1krb78bmj00000gn/T/ResultBundle_2025-27-10_11-51-0004.xcresult
xcodebuild: error: SDK "/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk" cannot be located.
c++filt: error: sh -c '/Applications/Xcode_16.4.app/Contents/Developer/usr/bin/xcodebuild -sdk /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -find c++filt 2> /dev/null' failed with exit code 16384: (null) (errno=No such file or directory)
xcode-select: Failed to locate 'c++filt', requesting installation of command line developer tools.
~/miniforge3/conda-bld/apache-arrow_1761560552077/work/cpp/build/src/parquet

@pitrou
Copy link
Member

pitrou commented Oct 27, 2025

@h-vetinari I don't know, but this is the part that tries to extract a traceback after a test crashed.

Edit: well, more precisely, it processes a log file with c++filt just in case there are symbols that deserve demangling there :-) So not necessarily indicative of a crash, just a non-empty log file.

@pitrou
Copy link
Member

pitrou commented Oct 27, 2025

Ha so this may be the same failure we see in the Arrow PR
apache/arrow#47952

No, it's unrelated.

@raulcd
Copy link
Member

raulcd commented Oct 27, 2025

CI seems good now

Copy link
Member

@h-vetinari h-vetinari left a comment

Choose a reason for hiding this comment

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

Thanks for the help on this! 🙏

@h-vetinari h-vetinari merged commit f2cd62c into conda-forge:main Oct 27, 2025
13 checks passed
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the 22.0.0_h39cc1d branch October 27, 2025 18:04
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.

6 participants