Version v1.11.7 fails to build from source

I tried to update to the latest v1.11.7, and it fails to build from source (on my Debian GNU/Linux system). I get a lot of error messages, starting with complaints about SIZE_MAX being undefined when compiling src/debuginfo.o. I can’t upload the complete log here (no permissions), but the beginning is below.

Version 1.11.6 compiled fine on this same computer.

I’m surprised not to see anyone else encountering this. What changed? Id like to sort out what’s happening a little more and file a github issue.

    CC src/debuginfo.o
In file included from /usr/local/src/julia-1.11/usr/include/llvm/DebugInfo/DIContext.h:17,
                 from /usr/local/src/julia-1.11/src/debuginfo.cpp:6:
/usr/local/src/julia-1.11/usr/include/llvm/ADT/SmallVector.h:1317:5: warning: 'SIZE_MAX' is not defined, evaluates to '0' [-Wundef]
 1317 | #if SIZE_MAX > UINT32_MAX
      |     ^~~~~~~~
/usr/local/src/julia-1.11/usr/include/llvm/ADT/SmallVector.h:1317:16: warning: 'UINT32_MAX' is not defined, evaluates to '0' [-Wundef]
 1317 | #if SIZE_MAX > UINT32_MAX
      |                ^~~~~~~~~~
/usr/local/src/julia-1.11/usr/include/llvm/ADT/SmallVector.h:109:62: error: 'uint64_t' was not declared in this scope
  109 |     std::conditional_t<sizeof(T) < 4 && sizeof(void *) >= 8, uint64_t,
      |                                                              ^~~~~~~~
/usr/local/src/julia-1.11/usr/include/llvm/ADT/SmallVector.h:29:1: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
   28 | #include <memory>
  +++ |+#include <cstdint>
   29 | #include <new>

Any chance you could bisect (on the release-1.11 branch)?

An update: I should have tried this first, but v1.11.6 also failed to build. So it’s some other package on my computer that changed since I previously built Julia (sometime in August). I will investigate!

Can you provide more information about the version of the system?

Are you using GCC 15? I think you’re running into an upstream LLVM issue:

3 Likes

Indeed I am, and the workaround suggested in that issue (add the flag CXXFLAGS="-include cstdint" to make) seems to fix the problem. Thanks so much!