You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "thisisnic (via GitHub)" <gi...@apache.org> on 2023/09/15 22:14:57 UTC

[GitHub] [arrow] thisisnic opened a new issue, #37750: [C++] Cmake error `Unknown compiler: IntelLLVM 2023.2.0`

thisisnic opened a new issue, #37750:
URL: https://github.com/apache/arrow/issues/37750

   ### Describe the bug, including details regarding any error messages, version, and platform.
   
   When trying to build the C++ library from source on one of the CRAN machines, we get the following error:
   
   ```
   -- Building using CMake version: 3.26.3
   -- The C compiler identification is IntelLLVM 2023.2.0
   -- The CXX compiler identification is IntelLLVM 2023.2.0
   -- Detecting C compiler ABI info
   -- Detecting C compiler ABI info - done
   -- Check for working C compiler:
   /data/gannet/ripley/intel/oneapi/compiler/2023.2.1/linux/bin/icx - skipped
   -- Detecting C compile features
   -- Detecting C compile features - done
   -- Detecting CXX compiler ABI info
   -- Detecting CXX compiler ABI info - done
   -- Check for working CXX compiler:
   /data/gannet/ripley/intel/oneapi/compiler/2023.2.1/linux/bin/icpx - skipped
   -- Detecting CXX compile features
   -- Detecting CXX compile features - done
   -- Arrow version: 13.0.0 (full: '13.0.0')
   -- Arrow SO version: 1300 (full: 1300.0.0)
   -- clang-tidy found at /usr/bin/clang-tidy
   -- clang-format found at /usr/bin/clang-format
   -- Found ClangTools: /usr/bin/clang-format
   -- infer not found
   -- Found Python3: /usr/bin/python3.10 (found version "3.10.11") found
   components: Interpreter
   fatal: not a git repository (or any parent up to mount point /)
   Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
   -- Found cpplint executable at
   /tmp/RtmpAEH6nP/R.INSTALL27b65d4fc79fd5/arrow/tools/cpp/build-support/cpplint.py
   -- System processor: x86_64
   -- Performing Test CXX_SUPPORTS_SSE4_2
   -- Performing Test CXX_SUPPORTS_SSE4_2 - Success
   -- Performing Test CXX_SUPPORTS_AVX2
   -- Performing Test CXX_SUPPORTS_AVX2 - Success
   -- Performing Test CXX_SUPPORTS_AVX512
   -- Performing Test CXX_SUPPORTS_AVX512 - Success
   -- Arrow build warning level: PRODUCTION
   CMake Error at cmake_modules/SetupCxxFlags.cmake:384 (message):
      Unknown compiler: IntelLLVM 2023.2.0
   Call Stack (most recent call first):
      CMakeLists.txt:419 (include)
   ```
   
   ### Component(s)
   
   C++


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] kou commented on issue #37750: [R][C++] Cmake error `Unknown compiler: IntelLLVM 2023.2.0`

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on issue #37750:
URL: https://github.com/apache/arrow/issues/37750#issuecomment-1722144520

   Can we use the following (and similar changes)?
   
   ```diff
   diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake
   index a5f565972..a65daf03f 100644
   --- a/cpp/cmake_modules/SetupCxxFlags.cmake
   +++ b/cpp/cmake_modules/SetupCxxFlags.cmake
   @@ -329,7 +329,7 @@ if("${BUILD_WARNING_LEVEL}" STREQUAL "CHECKIN")
        set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wno-sign-conversion")
        set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wunused-result")
        set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wdate-time")
   -  elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
   +  elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" OR CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
        if(WIN32)
          set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /Wall")
          set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /Wno-deprecated")
   ```
   
   Or can we use the following (and similar changes)?
   
   ```diff
   diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake
   index a5f565972..b595e6372 100644
   --- a/cpp/cmake_modules/SetupCxxFlags.cmake
   +++ b/cpp/cmake_modules/SetupCxxFlags.cmake
   @@ -313,7 +313,7 @@ if("${BUILD_WARNING_LEVEL}" STREQUAL "CHECKIN")
        set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /wd4267")
        set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /wd4838")
      elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL
   -                                                        "Clang")
   +                                                        "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
        set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wall")
        set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wextra")
        set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wdocumentation")
   ```
   
   Or do we need one more new branch for the compiler?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] thisisnic commented on issue #37750: [C++] Cmake error `Unknown compiler: IntelLLVM 2023.2.0`

Posted by "thisisnic (via GitHub)" <gi...@apache.org>.
thisisnic commented on issue #37750:
URL: https://github.com/apache/arrow/issues/37750#issuecomment-1721960566

   Or, as @jonkeane mentioned on Zulip, if this is something we don't want to or can't support, reintroduce the "arrow without arrow" approach that worked for solaris.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] assignUser commented on issue #37750: [R][C++] Cmake error `Unknown compiler: IntelLLVM 2023.2.0`

Posted by "assignUser (via GitHub)" <gi...@apache.org>.
assignUser commented on issue #37750:
URL: https://github.com/apache/arrow/issues/37750#issuecomment-1724102089

   Can confirm it worked because cmake 3.16 does not know about intelLLVM and falls back to intel. While it looks like we have to bump mimalloc version to make it IntelLLVM compatible... let's hope that's it.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] assignUser commented on issue #37750: [R][C++] Cmake error `Unknown compiler: IntelLLVM 2023.2.0`

Posted by "assignUser (via GitHub)" <gi...@apache.org>.
assignUser commented on issue #37750:
URL: https://github.com/apache/arrow/issues/37750#issuecomment-1722328526

   I suspected that this is not the default identification, when replicating it with one of the official oneAPI docker containers it reported as Intel not IntelLLVM even thought it should have been the new llvm backed compiler... but checking cmake docs https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html IntelLLVM is correct... maybe the cmake version in the container was to old and there is a fallback to 'Intel'? I will test this.
   
   If 'supporting' the compiler is as simple as adding the additonal condition I am fine with it. I don't think anything more substantial isn't really warranted at this point (there has not been any user requests for it).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] thisisnic commented on issue #37750: [C++] Cmake error `Unknown compiler: IntelLLVM 2023.2.0`

Posted by "thisisnic (via GitHub)" <gi...@apache.org>.
thisisnic commented on issue #37750:
URL: https://github.com/apache/arrow/issues/37750#issuecomment-1721940592

   I think we just need to add it to the various bits where we check the value of `CMAKE_CXX_COMPILER_ID` in `apache/arrow/cpp/cmake_modules/SetupCxxFlags.cmake`, though I've no idea what flags would be appropriate to set,


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] thisisnic commented on issue #37750: [R][C++] Cmake error `Unknown compiler: IntelLLVM 2023.2.0`

Posted by "thisisnic (via GitHub)" <gi...@apache.org>.
thisisnic commented on issue #37750:
URL: https://github.com/apache/arrow/issues/37750#issuecomment-1723617945

   > I suspected that this is not the default identification, when replicating it with one of the official oneAPI docker containers it reported as Intel not IntelLLVM even thought it should have been the new llvm backed compiler... but checking cmake docs https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html IntelLLVM is correct... maybe the cmake version in the container was to old and there is a fallback to 'Intel'? I will test this.
   > 
   > If 'supporting' the compiler is as simple as adding the additonal condition I am fine with it. I don't think anything more substantial isn't really warranted at this point (there has not been any user requests for it).
   
   Thanks @assignUser!  If you're happy to take a look at this, then once you've got a PR up and tested I'll cherry-pick it into the CRAN release branch and try to submit it again.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] thisisnic commented on issue #37750: [R][C++] Cmake error `Unknown compiler: IntelLLVM 2023.2.0`

Posted by "thisisnic (via GitHub)" <gi...@apache.org>.
thisisnic commented on issue #37750:
URL: https://github.com/apache/arrow/issues/37750#issuecomment-1722162609

   Thanks @kou!
   
   I guess it comes down to how common this compiler is and if we want to support it given the effort it'd take to do so.
   
   Unlike with the old Solaris build, where we used to build the R package without Arrow C++, this is a modern compiler, so it seems reasonable to try to support it. 
   
   Perhaps we start off by trying what @kou has suggested above, and seeing if that works, and if so, that's great, and if not then we re-evaluate? 
   
   @assignUser; given the extra output above, do you think we could replicate that environment and build failure now? 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow] thisisnic closed issue #37750: [R][C++] Cmake error `Unknown compiler: IntelLLVM 2023.2.0`

Posted by "thisisnic (via GitHub)" <gi...@apache.org>.
thisisnic closed issue #37750: [R][C++] Cmake error `Unknown compiler: IntelLLVM 2023.2.0`
URL: https://github.com/apache/arrow/issues/37750


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org