smlnj / smlnj

Standard ML of New Jersey
BSD 3-Clause "New" or "Revised" License
184 stars 14 forks source link

Can't build 2024.2 because of problem with ASDL C++ library #291

Open MartinAskestad opened 1 month ago

MartinAskestad commented 1 month ago

Version

2024.2 (latest)

Operating System

OS Version

Alpine 3.17

Processor

System Component

Other

Severity

Major

Description

When building from source on Alpine linux using clang 14, I'm getting a type error.

Transcript

In file included from /usr/local/smlnj/runtime/llvm/smlnj/lib/asdl-integer.cpp:11: /usr/local/smlnj/runtime/llvm/smlnj/include/asdl/asdl.hpp:249:19: error: 'uint' was not declared in this scope; did you mean 'int'? 249 | inline option read_uint_option (instream & is) | ^~~~ | int /usr/local/smlnj/runtime/llvm/smlnj/include/asdl/asdl.hpp:249:23: error: template argument 1 is invalid 249 | inline option read_uint_option (instream & is) | ^ /usr/local/smlnj/runtime/llvm/smlnj/include/asdl/asdl.hpp: In function 'int asdl::read_uint_option(instream&)': /usr/local/smlnj/runtime/llvm/smlnj/include/asdl/asdl.hpp:253:27: error: 'uint' was not declared in this scope; did you mean 'int'? 253 | return option(); | ^~~~ | int /usr/local/smlnj/runtime/llvm/smlnj/include/asdl/asdl.hpp:253:31: error: template argument 1 is invalid 253 | return option(); | ^ /usr/local/smlnj/runtime/llvm/smlnj/include/asdl/asdl.hpp:255:27: error: 'uint' was not declared in this scope; did you mean 'int'? 255 | return option(read_uint(is)); | ^~~~ | int /usr/local/smlnj/runtime/llvm/smlnj/include/asdl/asdl.hpp:255:31: error: template argument 1 is invalid 255 | return option(read_uint(is)); | ^ make[2]: *** [smlnj/lib/CMakeFiles/CFGCodeGen.dir/build.make:79: smlnj/lib/CMakeFiles/CFGCodeGen.dir/asdl-integer.cpp.o] Error 1

Expected Behavior

That the code compiles

Steps to Reproduce

Compile the code as described in the readme on Alpine linux using clang 14.

Additional Information

It took a little while to figure out the prerequisites to build smlnj, writing in the readme that cmake, gold and python is needed to build, woUld that be a good idea?

Email address

m at rtin dot nu

MartinAskestad commented 1 month ago

The issue template doesn't have 2024.2 in the dropdown, should it be in the dropdown?

JohnReppy commented 1 month ago

I forgot to update the template when I created 2024.2, but it is fixed now.