[Pkg-julia-devel] julia and llvm11

Norbert Preining norbert at preining.info
Sun Nov 15 09:54:01 GMT 2020


Hi all,

it seems that we have at least managed to build armhf now, good to hear.

You might have seen the bug report that just came in asking for
switching to llvm11. I thought I try it out, but the build failed - not
completely unsurprisingly.

I searched a bit in the julia git/github, and it *should* work

[LLVM] upgrade to LLVM 11
https://github.com/JuliaLang/julia/pull/37842

LLVM11 Compatibility
https://github.com/JuliaLang/julia/pull/35112

but still, the build fails for me. First there are a lot of deprecation
warnings concerning llvm::VectorType*, and then there is an error in
codegen:
In file included from /usr/lib/llvm-11/include/llvm/ADT/ArrayRef.h:15,
                 from /usr/lib/llvm-11/include/llvm/CodeGen/TargetSubtargetInfo.h:17,
                 from /build/julia-1.5.3+dfsg/src/codegen.cpp:39:
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h: In instantiation of ‘static Ret llvm::function_ref<Ret(Params ...)>::callback_fn(intptr_t, Params ...) [with Callable = bool; Ret = llvm::Optional<std::__cxx11::basic_string<char> >; Params = {llvm::StringRef}; intptr_t = long int]’:
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h:200:55:   required from ‘llvm::function_ref<Ret(Params ...)>::function_ref(Callable&&, std::enable_if_t<(! std::is_same<typename std::remove_cv<typename std::remove_reference<_Tuple>::type>::type, llvm::function_ref<Ret(Params ...)> >::value)>*) [with Callable = bool; Ret = llvm::Optional<std::__cxx11::basic_string<char> >; Params = {llvm::StringRef}; std::enable_if_t<(! std::is_same<typename std::remove_cv<typename std::remove_reference<_Tuple>::type>::type, llvm::function_ref<Ret(Params ...)> >::value)> = void; typename std::remove_cv<typename std::remove_reference<_Tuple>::type>::type = bool]’
/build/julia-1.5.3+dfsg/src/ccall.cpp:994:68:   required from here
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h:185:52: error: expression cannot be used as a function
  185 |     return (*reinterpret_cast<Callable*>(callable))(
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  186 |         std::forward<Params>(params)...);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:166: codegen.o] Error 1


Any ideas or insights?

Best

Norbert

--
PREINING Norbert                              https://www.preining.info
Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev
GPG: 0x860CDC13   fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13



More information about the Pkg-julia-devel mailing list