Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-109054: configure checks if libatomic is needed #109101

Merged
merged 3 commits into from
Sep 8, 2023

Conversation

vstinner
Copy link
Member

@vstinner vstinner commented Sep 7, 2023

Fix building the _testcapi extension on Linux armv6a which requires linking to libatomic when <cpython/pyatomic.h> is used: the _Py_atomic_or_uint8() function requires libatomic __atomic_fetch_or_8() on this platform.

The configure script now checks if linking to libatomic is needed and generates a new LIBATOMIC variable used to build the _testcapi extension.

Building the _testcapi extension now uses the LIBATOMIC variable in its LDFLAGS, since Modules/_testcapi/pyatomic.c uses <cpython/pyatomic.h>.

@vstinner
Copy link
Member Author

vstinner commented Sep 7, 2023

Command to test this PR:

$ git clean -fdx; ./configure --with-pydebug; echo; echo; grep -E '^(LIBS|LIBATOMIC)' Makefile; grep '_TESTCAPI_.*=' Makefile

Output on Linux x86-64:

LIBS=		-ldl 
LIBATOMIC=	
LIBSUBDIRS=	asyncio \
MODULE__TESTCAPI_STATE=yes
MODULE__TESTCAPI_LDFLAGS=
MODULE__TESTCAPI_DEPS=$(srcdir)/Modules/_testcapi/testcapi_long.h $(srcdir)/Modules/_testcapi/parts.h $(srcdir)/Modules/_testcapi/util.h

Well, libatomic is not needed to implement _Py_atomic_or_uint8() on x86-64 (using gcc (GCC) 13.2.1 20230728 (Red Hat 13.2.1-1)).

pyatomic.h has multiple implementations depending on the C compiler, the CPU architecture and the platform:

#if _Py_USE_GCC_BUILTIN_ATOMICS
#  define Py_ATOMIC_GCC_H
#  include "cpython/pyatomic_gcc.h"
#  undef Py_ATOMIC_GCC_H
#elif __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_ATOMICS__)
#  define Py_ATOMIC_STD_H
#  include "cpython/pyatomic_std.h"
#  undef Py_ATOMIC_STD_H
#elif defined(_MSC_VER)
#  define Py_ATOMIC_MSC_H
#  include "cpython/pyatomic_msc.h"
#  undef Py_ATOMIC_MSC_H
#else
#  error "no available pyatomic implementation for this platform/compiler"
#endif

@vstinner
Copy link
Member Author

vstinner commented Sep 7, 2023

@gpshead
Copy link
Member

gpshead commented Sep 7, 2023

!buildbot Raspbian

@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @gpshead for commit dc9754a 🤖

The command will test the builders whose names match following regular expression: Raspbian

The builders matched are:

@gpshead
Copy link
Member

gpshead commented Sep 7, 2023

!buildbot ARM Raspbian

@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @gpshead for commit dc9754a 🤖

The command will test the builders whose names match following regular expression: ARM Raspbian

The builders matched are:

  • ARM Raspbian PR

@vstinner
Copy link
Member Author

vstinner commented Sep 7, 2023

My change doesn't work. Apparently I picked the wrong function for the configure test. I made the assumption that __atomic_fetch_or_8() is related _Py_atomic_or_uint8().

checking whether libatomic is needed by <pyatomic.h>... no

[ERROR] _testcapi failed to import: /var/lib/buildbot/workers/pull_request.gps-raspbian.nondebug/build/build/lib.linux-aarch64-3.13/_testcapi.cpython-313-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_or_8

@vstinner
Copy link
Member Author

vstinner commented Sep 7, 2023

Thanks for running the buildbot test, that was exactly what I planned to do 😁

@vstinner
Copy link
Member Author

vstinner commented Sep 7, 2023

Oh wait, it's 8 bytes! Not 8 bits. I found this on the Internet:

0000000000000580 T __atomic_exchange
0000000000000790 T __atomic_exchange_1
00000000000007d0 T __atomic_exchange_2
0000000000000810 T __atomic_exchange_4
0000000000000840 T __atomic_exchange_8
0000000000000a00 T __atomic_fetch_add_1
0000000000000a40 T __atomic_fetch_add_2
0000000000000a80 T __atomic_fetch_add_4
0000000000000ac0 T __atomic_fetch_add_8
0000000000000c00 T __atomic_fetch_and_1
0000000000000c90 T __atomic_fetch_and_2
0000000000000d20 T __atomic_fetch_and_4
0000000000000da0 T __atomic_fetch_and_8
0000000000000e70 T __atomic_fetch_or_1
0000000000000f00 T __atomic_fetch_or_2
0000000000000f90 T __atomic_fetch_or_4
0000000000001010 T __atomic_fetch_or_8
0000000000000b00 T __atomic_fetch_sub_1
0000000000000b40 T __atomic_fetch_sub_2
0000000000000b80 T __atomic_fetch_sub_4
0000000000000bc0 T __atomic_fetch_sub_8
00000000000010e0 T __atomic_fetch_xor_1
0000000000001170 T __atomic_fetch_xor_2
0000000000001200 T __atomic_fetch_xor_4
0000000000001280 T __atomic_fetch_xor_8

So there are functions for 1, 2, 4 and 8 bytes.

configure.ac Outdated Show resolved Hide resolved
Makefile.pre.in Outdated
@@ -267,6 +267,7 @@ STATIC_LIBPYTHON= @STATIC_LIBPYTHON@

LIBS= @LIBS@
LIBM= @LIBM@
LIBATOMIC= @LIBATOMIC@
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think this is needed; since we only need this for _testcapi, you'll be fine with MODULE__TESTCAPI_LDFLAGS (it is set automatically via PY_STDLIB_MOD in configure.ac.

Copy link
Member Author

Choose a reason for hiding this comment

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

Shortly, LIBATOMIC will be needed by more code. I'm pretty sure that @colesbury will use <cpython/pyatomic.h> in a few more C files :-D

Moreover, I'm trying to generate MODULE__TESTCAPI_LDFLAGS=$(LIBATOMIC) in the Makefile. So after configure, it would remind possible to "fix" LIBATOMIC once for all object files which use the variable.

But I failed to fail a syntax to generate this line, configure strongly wants to replace LIBATOMIC variable with its value :-)

Copy link
Contributor

Choose a reason for hiding this comment

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

I think this should be done in configure.ac. If it is needed by other extension modules, we add it to their PY_STDLIB_MOD. If it is needed by everything (a global linker option), we can use one of the LDFLAGS variables that are already in place :)

Copy link
Member Author

Choose a reason for hiding this comment

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

I disagree, see my comments on the PR below.

@vstinner vstinner force-pushed the configure_libatomic branch 2 times, most recently from 1a97732 to e241894 Compare September 8, 2023 07:29
@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

I updated my PR:

  • Replace _Py_atomic_or_uint8() with _Py_atomic_or_uint64(): it seems like _Py_atomic_or_uint64() is the function which pulls __atomic_fetch_or_8().
  • Remove AC_MSG_RESULT([XXX add -latomic to LIBS... too late?]) debug message
  • PR rebased on the main branch.

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

!buildbot ARM Raspbian

@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @vstinner for commit e241894 🤖

The command will test the builders whose names match following regular expression: ARM Raspbian

The builders matched are:

  • ARM Raspbian PR

@erlend-aasland
Copy link
Contributor

Since we only need this for _testcapi now, I suggest to only use the PY_STDLIB_MOD machinery in configure.ac. If we need to expand its use, we can do that in a follow-up PR. Restricting this to _testcapi makes for a less invasive change:

  • no Makefile changes
  • a smaller configure.ac diff

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

Ok, with my update, my PR works as expected to fix building the _testcapi extension on the Raspbian buildbot worker.*

configure:

checking whether libatomic is needed by <pyatomic.h>... yes

make uses -latomic:

gcc -pthread -shared      Modules/_testcapimodule.o Modules/_testcapi/vectorcall.o Modules/_testcapi/vectorcall_limited.o Modules/_testcapi/heaptype.o Modules/_testcapi/abstract.o Modules/_testcapi/unicode.o Modules/_testcapi/dict.o Modules/_testcapi/getargs.o Modules/_testcapi/datetime.o Modules/_testcapi/docstring.o Modules/_testcapi/mem.o Modules/_testcapi/watchers.o Modules/_testcapi/long.o Modules/_testcapi/float.o Modules/_testcapi/structmember.o Modules/_testcapi/exceptions.o Modules/_testcapi/code.o Modules/_testcapi/buffer.o Modules/_testcapi/pyatomic.o Modules/_testcapi/pyos.o Modules/_testcapi/immortal.o Modules/_testcapi/heaptype_relative.o Modules/_testcapi/gc.o -latomic  -o Modules/_testcapi.cpython-313-arm-linux-gnueabihf.so

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

I modified my PR to generate MODULE__TESTCAPI_LDFLAGS=$(LIBATOMIC) in the Makefile, so it's possible to override LIBATOMIC when running make, or even by modifying Makefile manually.

I made the same change for LIBM.

Before, you had to modify all variables using LIBATOMIC and LIBM to update them as well.

Concrete example on my Linux x86-64, to force linking to libatomic even if configure decided that nope, testcapi doesn't need it:

$ make LIBATOMIC=-latomic 2>&1|tee log
gcc -shared      Modules/_testcapimodule.o (...) -latomic  -o Modules/_testcapi.cpython-313d-x86_64-linux-gnu.so

$ ldd Modules/_testcapi.cpython-313d-x86_64-linux-gnu.so|grep atomic
	libatomic.so.1 => /lib64/libatomic.so.1 (0x00007ff2c7b98000)

The _testcapi extension is linked explicitly to libatomic as expected.

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

Since we only need this for _testcapi now, I suggest to only use the PY_STDLIB_MOD machinery in configure.ac. If we need to expand its use, we can do that in a follow-up PR. Restricting this to _testcapi makes for a less invasive change:
no Makefile changes
a smaller configure.ac diff

See my previous comment, IMO it's useful to allow overriding LIBATOMIC. In my experience, build systems are not smart enough and they should give back some flexibility to users. As @colesbury shown, libatomic may be optional depending on GCC flags, and GCC flags can be overriden when running make.

Also, you can expect that shortly, LIBATOMIC will be needed in more Python extensions, and Python itself. This PR prepares that.

@erlend-aasland
Copy link
Contributor

See my previous comment, IMO it's useful to allow overriding LIBATOMIC. In my experience, build systems are not smart enough and they should give back some flexibility to users.

I agree, but I think that flexibility should be in configure, and not Makefile. We provide a lot of such customisation options in configure.ac already (check ./configure --help | grep ). Very few of these can be overridden in the Makefile. I agree we should provide the flexibility, but I think it should stay in configure, for consistency :)

$ ./configure --help | grep '^\s\+[A-Z]\{2,\}'
                         GIL (default is no)
  PKG_CONFIG  path to pkg-config utility
  PKG_CONFIG_PATH
  PKG_CONFIG_LIBDIR
  MACHDEP     name for machine-dependent library files
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
  CPP         C preprocessor
  HOSTRUNNER  Program to run CPython for the host platform
  PROFILE_TASK
  BOLT_INSTRUMENT_FLAGS
  BOLT_APPLY_FLAGS
  LIBUUID_CFLAGS
  LIBUUID_LIBS
  LIBFFI_CFLAGS
  LIBFFI_LIBS linker flags for LIBFFI, overriding pkg-config
  LIBSQLITE3_CFLAGS
  LIBSQLITE3_LIBS
  TCLTK_CFLAGS
  TCLTK_LIBS  linker flags for TCLTK, overriding pkg-config
  GDBM_CFLAGS C compiler flags for gdbm
  GDBM_LIBS   additional linker flags for gdbm
  ZLIB_CFLAGS C compiler flags for ZLIB, overriding pkg-config
  ZLIB_LIBS   linker flags for ZLIB, overriding pkg-config
  BZIP2_CFLAGS
  BZIP2_LIBS  linker flags for BZIP2, overriding pkg-config
  LIBLZMA_CFLAGS
  LIBLZMA_LIBS
  LIBREADLINE_CFLAGS
  LIBREADLINE_LIBS
  LIBEDIT_CFLAGS
  LIBEDIT_LIBS
  CURSES_CFLAGS
  CURSES_LIBS linker flags for CURSES, overriding pkg-config
  PANEL_CFLAGS
  PANEL_LIBS  linker flags for PANEL, overriding pkg-config
  LIBB2_CFLAGS
  LIBB2_LIBS  linker flags for LIBB2, overriding pkg-config

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

Restricting this to _testcapi makes for a less invasive change:
no Makefile changes
a smaller configure.ac diff

As you wish, I reverted my changes to leave Makefile.pre.in unchanged.

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

./configure --help | grep '^\s+[A-Z]{2,}'

It seems like LIBATOMIC cannot be overriden with my latest change, I don't see it in configure help. I suppose that we can enhance configure later if needed.

configure.ac Outdated Show resolved Hide resolved
configure.ac Outdated
# If the check is done after AC_OUTPUT, modifying LIBS has no effect anymore.
# <pyport.h> cannot be included alone, it's designed to be included by
# <Python.h>: it expects other includes and macros to be defined.
LIBATOMIC=""
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think is needed anymore :)

Copy link
Member Author

Choose a reason for hiding this comment

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

What do you mean? Creating variables is not needed in configure.ac? I prefer to be explicit and declare it to an empty string.

Copy link
Member Author

Choose a reason for hiding this comment

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

Oh, LIBATOMIC=${LIBATOMIC-"-latomic"} does nothing if LIBATOMIC is already defined (to an empty string). So I removed it.

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

@erlend-aasland: I updated my PR, would you mind to review it again?

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

!buildbot ARM Raspbian

@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @vstinner for commit 086303f 🤖

The command will test the builders whose names match following regular expression: ARM Raspbian

The builders matched are:

  • ARM Raspbian PR

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

AIX 32-bit is also affected by the issue and my latest PR fix it: #109054 (comment)

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

!buildbot ARM Raspbian

@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @vstinner for commit 086303f 🤖

The command will test the builders whose names match following regular expression: ARM Raspbian

The builders matched are:

  • ARM Raspbian PR

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

@gpshead: Apparently, I exhausted my CI budget for today: the buildbot doesn't want to run again :-( Are you able to test my latest PR manually on the buildbot? Or can you maybe provide me a SSH access to it?

])

AS_VAR_IF([ac_cv_libatomic_needed], [yes],
[LIBATOMIC=${LIBATOMIC-"-latomic"}])
Copy link
Contributor

Choose a reason for hiding this comment

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

I just realised we could probably just use ${VAR="default"} instead of the more verbose VAR=${VAR-"default"}. However, let's stick to the existing practise :) And hopefully, configure.ac is git rm'd some day.

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

Oh, https://buildbot.python.org/all/#/builders/1062/builds/384 ran 3 hours ago:

checking whether libatomic is needed by <pyatomic.h>... yes

gcc -pthread -shared      Modules/_testcapimodule.o (...) -latomic  -o Modules/_testcapi.cpython-313-arm-linux-gnueabihf.so

Total test files: run=461/462 skipped=18 resource_denied=1
Result: SUCCESS

ARM Raspbian PR build is a success!

@vstinner vstinner merged commit 1f7e421 into python:main Sep 8, 2023
20 checks passed
@vstinner vstinner deleted the configure_libatomic branch September 8, 2023 21:14
@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

Thanks a lot for the reviews @erlend-aasland! I merged my PR.

I confirm that the end, it's still possible to override LIBATOMIC in configure:

$ ./configure --with-pydebug LIBATOMIC="-latomic -lasan"
...
checking whether libatomic is needed by <pyatomic.h>... no
...

$ grep ^MODULE__TESTCAPI_ Makefile
MODULE__TESTCAPI_STATE=yes
MODULE__TESTCAPI_LDFLAGS=-latomic -lasan
MODULE__TESTCAPI_DEPS=$(srcdir)/Modules/_testcapi/testcapi_long.h $(srcdir)/Modules/_testcapi/parts.h $(srcdir)/Modules/_testcapi/util.h

@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot wasm32-emscripten node (dynamic linking) 3.x has failed when building commit 1f7e421.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/1056/builds/3014) and take a look at the build logs.
  4. Check if the failure is related to this commit (1f7e421) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/1056/builds/3014

Summary of the results of the build (if available):

Click to see traceback logs
remote: Enumerating objects: 16, done.        
remote: Counting objects:   6% (1/16)        
remote: Counting objects:  12% (2/16)        
remote: Counting objects:  18% (3/16)        
remote: Counting objects:  25% (4/16)        
remote: Counting objects:  31% (5/16)        
remote: Counting objects:  37% (6/16)        
remote: Counting objects:  43% (7/16)        
remote: Counting objects:  50% (8/16)        
remote: Counting objects:  56% (9/16)        
remote: Counting objects:  62% (10/16)        
remote: Counting objects:  68% (11/16)        
remote: Counting objects:  75% (12/16)        
remote: Counting objects:  81% (13/16)        
remote: Counting objects:  87% (14/16)        
remote: Counting objects:  93% (15/16)        
remote: Counting objects: 100% (16/16)        
remote: Counting objects: 100% (16/16), done.        
remote: Compressing objects:  11% (1/9)        
remote: Compressing objects:  22% (2/9)        
remote: Compressing objects:  33% (3/9)        
remote: Compressing objects:  44% (4/9)        
remote: Compressing objects:  55% (5/9)        
remote: Compressing objects:  66% (6/9)        
remote: Compressing objects:  77% (7/9)        
remote: Compressing objects:  88% (8/9)        
remote: Compressing objects: 100% (9/9)        
remote: Compressing objects: 100% (9/9), done.        
remote: Total 9 (delta 7), reused 1 (delta 0), pack-reused 0        
From https://github.com/python/cpython
 * branch                  main       -> FETCH_HEAD
Note: switching to '1f7e42131d2800f0fbb89bfd91fafa8a073e066d'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 1f7e42131d gh-109054: configure checks if libatomic is needed (#109101)
Switched to and reset branch 'main'

configure: ../../configure --prefix $(PWD)/target/host --with-pydebug --without-pydebug --with-emscripten-target=node --enable-wasm-dynamic-linking --disable-wasm-pthreads --build=x86_64-pc-linux-gnu --host=wasm32-unknown-emscripten --with-build-python=../build/python
configure: WARNING: using cross tools not prefixed with host triplet
mcc: error: no input files

make: make -j2 all
../../Python/initconfig.c:2309:27: warning: format specifies type 'wint_t' (aka 'int') but the argument has type 'wint_t' (aka 'unsigned int') [-Wformat]
    printf(usage_envvars, (wint_t)DELIM, (wint_t)DELIM, PYTHONHOMEHELP);
           ~~~~~~~~~~~~~  ^~~~~~~~~~~~~
../../Python/initconfig.c:146:18: note: format string is defined here
"PYTHONPATH   : '%lc'-separated list of directories prefixed to the\n"
                 ^~~
                 %c
../../Python/initconfig.c:2309:42: warning: format specifies type 'wint_t' (aka 'int') but the argument has type 'wint_t' (aka 'unsigned int') [-Wformat]
    printf(usage_envvars, (wint_t)DELIM, (wint_t)DELIM, PYTHONHOMEHELP);
           ~~~~~~~~~~~~~                 ^~~~~~~~~~~~~
../../Python/initconfig.c:148:58: note: format string is defined here
"PYTHONHOME   : alternate <prefix> directory (or <prefix>%lc<exec_prefix>).\n"
                                                         ^~~
                                                         %c
2 warnings generated.
../../Python/optimizer.c:416:9: warning: variable 'reserved' set but not used [-Wunused-but-set-variable]
    int reserved = 0;
        ^
1 warning generated.
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
#  define htobe16(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:35:9: note: previous definition is here
#define htobe16(x) __bswap16(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
#  define htole16(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:41:9: note: previous definition is here
#define htole16(x) (uint16_t)(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
#  define be16toh(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:36:9: note: previous definition is here
#define be16toh(x) __bswap16(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
#  define le16toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:42:9: note: previous definition is here
#define le16toh(x) (uint16_t)(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
#  define htobe32(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:37:9: note: previous definition is here
#define htobe32(x) __bswap32(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
#  define htole32(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:43:9: note: previous definition is here
#define htole32(x) (uint32_t)(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
#  define be32toh(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:38:9: note: previous definition is here
#define be32toh(x) __bswap32(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
#  define le32toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:44:9: note: previous definition is here
#define le32toh(x) (uint32_t)(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
#  define htobe64(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:39:9: note: previous definition is here
#define htobe64(x) __bswap64(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
#  define htole64(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:45:9: note: previous definition is here
#define htole64(x) (uint64_t)(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
#  define be64toh(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:40:9: note: previous definition is here
#define be64toh(x) __bswap64(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
#  define le64toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:46:9: note: previous definition is here
#define le64toh(x) (uint64_t)(x)
        ^
12 warnings generated.
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
#  define htobe16(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:35:9: note: previous definition is here
#define htobe16(x) __bswap16(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
#  define htole16(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:41:9: note: previous definition is here
#define htole16(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
#  define be16toh(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:36:9: note: previous definition is here
#define be16toh(x) __bswap16(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
#  define le16toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:42:9: note: previous definition is here
#define le16toh(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
#  define htobe32(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:37:9: note: previous definition is here
#define htobe32(x) __bswap32(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
#  define htole32(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:43:9: note: previous definition is here
#define htole32(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
#  define be32toh(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:38:9: note: previous definition is here
#define be32toh(x) __bswap32(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
#  define le32toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:44:9: note: previous definition is here
#define le32toh(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
#  define htobe64(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:39:9: note: previous definition is here
#define htobe64(x) __bswap64(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
#  define htole64(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:45:9: note: previous definition is here
#define htole64(x) (uint64_t)(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
#  define be64toh(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:40:9: note: previous definition is here
#define be64toh(x) __bswap64(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
#  define le64toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:46:9: note: previous definition is here
#define le64toh(x) (uint64_t)(x)
        ^
12 warnings generated.
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
#  define htobe16(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:35:9: note: previous definition is here
#define htobe16(x) __bswap16(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
#  define htole16(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:41:9: note: previous definition is here
#define htole16(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
#  define be16toh(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:36:9: note: previous definition is here
#define be16toh(x) __bswap16(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
#  define le16toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:42:9: note: previous definition is here
#define le16toh(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
#  define htobe32(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:37:9: note: previous definition is here
#define htobe32(x) __bswap32(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
#  define htole32(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:43:9: note: previous definition is here
#define htole32(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
#  define be32toh(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:38:9: note: previous definition is here
#define be32toh(x) __bswap32(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
#  define le32toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:44:9: note: previous definition is here
#define le32toh(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
#  define htobe64(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:39:9: note: previous definition is here
#define htobe64(x) __bswap64(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
#  define htole64(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:45:9: note: previous definition is here
#define htole64(x) (uint64_t)(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
#  define be64toh(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:40:9: note: previous definition is here
#define be64toh(x) __bswap64(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
#  define le64toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:46:9: note: previous definition is here
#define le64toh(x) (uint64_t)(x)
        ^
12 warnings generated.
../../Modules/expat/xmlparse.c:3116:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:3115:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:4059:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:4058:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:7703:11: warning: format specifies type 'int' but the argument has type 'ptrdiff_t' (aka 'long') [-Wformat]
          bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP",
          ^~~~~~~~~
3 warnings generated.
../../Modules/socketmodule.c:4082:33: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
         cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
                                ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Modules/socketmodule.c:4135:33: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
         cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
                                ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Modules/socketmodule.c:4759:54: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
            cmsgh = (i == 0) ? CMSG_FIRSTHDR(&msg) : CMSG_NXTHDR(&msg, cmsgh);
                                                     ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.
../../Modules/_sqlite/connection.c:2260:19: warning: result of comparison of constant 9223372036854775807 with expression of type 'Py_ssize_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare]
    if (data->len > 9223372036854775807) {  // (1 << 63) - 1
        ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
1 warning generated.
../../Modules/_testcapimodule.c:225:18: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
        assert(k != UNINITIALIZED_PTR);
                 ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapimodule.c:226:18: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
        assert(v != UNINITIALIZED_PTR);
                 ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapimodule.c:238:14: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(k == UNINITIALIZED_PTR);
             ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapimodule.c:239:14: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(v == UNINITIALIZED_PTR);
             ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
4 warnings generated.
../../Modules/_testcapi/dict.c:289:16: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(key == UNINITIALIZED_PTR);
               ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapi/dict.c:290:18: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(value == UNINITIALIZED_PTR);
                 ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
2 warnings generated.
../../Modules/_testcapi/exceptions.c:129:17: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(type != UNINITIALIZED_PTR);
                ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapi/exceptions.c:130:18: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(value != UNINITIALIZED_PTR);
                 ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapi/exceptions.c:131:15: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(tb != UNINITIALIZED_PTR);
              ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
3 warnings generated.
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
#  define htobe16(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:35:9: note: previous definition is here
#define htobe16(x) __bswap16(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
#  define htole16(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:41:9: note: previous definition is here
#define htole16(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
#  define be16toh(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:36:9: note: previous definition is here
#define be16toh(x) __bswap16(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
#  define le16toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:42:9: note: previous definition is here
#define le16toh(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
#  define htobe32(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:37:9: note: previous definition is here
#define htobe32(x) __bswap32(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
#  define htole32(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:43:9: note: previous definition is here
#define htole32(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
#  define be32toh(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:38:9: note: previous definition is here
#define be32toh(x) __bswap32(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
#  define le32toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:44:9: note: previous definition is here
#define le32toh(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
#  define htobe64(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:39:9: note: previous definition is here
#define htobe64(x) __bswap64(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
#  define htole64(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:45:9: note: previous definition is here
#define htole64(x) (uint64_t)(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
#  define be64toh(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:40:9: note: previous definition is here
#define be64toh(x) __bswap64(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
#  define le64toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:46:9: note: previous definition is here
#define le64toh(x) (uint64_t)(x)
        ^
12 warnings generated.
wasm-ld: error: unable to find library -latomic
mcc: error: '/opt/emsdk/upstream/bin/wasm-ld -o python.wasm --whole-archive Programs/python.o Modules/getbuildinfo.o Parser/token.o Parser/pegen.o Parser/pegen_errors.o Parser/action_helpers.o Parser/parser.o Parser/string_parser.o Parser/peg_api.o Parser/myreadline.o Parser/tokenizer.o Objects/abstract.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genericaliasobject.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/interpreteridobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/typevarobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/unionobject.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/Python-tokenize.o Python/asdl.o Python/assemble.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/executor.o Python/flowgraph.o Python/frame.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/ceval_gil.o Python/hamt.o Python/hashtable.o Python/import.o Python/importdl.o Python/initconfig.o Python/instrumentation.o Python/intrinsics.o Python/legacy_tracing.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/optimizer.o Python/optimizer_analysis.o Python/pathconfig.o Python/preconfig.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/specialize.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/tracemalloc.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/suggestions.o Python/perf_trampoline.o Python/dynload_shlib.o Python/emscripten_signal.o Modules/config.o Modules/main.o Modules/gcmodule.o Modules/arraymodule.o Modules/_asynciomodule.o Modules/_bisectmodule.o Modules/_contextvarsmodule.o Modules/_csv.o Modules/_heapqmodule.o Modules/_json.o Modules/_lsprof.o Modules/rotatingtree.o Modules/_opcode.o Modules/_pickle.o Modules/_queuemodule.o Modules/_randommodule.o Modules/_struct.o Modules/_zoneinfo.o Modules/mathmodule.o Modules/cmathmodule.o Modules/_statisticsmodule.o Modules/_datetimemodule.o Modules/_decimal/_decimal.o Modules/binascii.o Modules/_bz2module.o Modules/zlibmodule.o Modules/md5module.o Modules/_hacl/Hacl_Hash_MD5.o Modules/sha1module.o Modules/_hacl/Hacl_Hash_SHA1.o Modules/sha2module.o Modules/sha3module.o Modules/_hacl/Hacl_Hash_SHA3.o Modules/_blake2/blake2module.o Modules/_blake2/blake2b_impl.o Modules/_blake2/blake2s_impl.o Modules/pyexpat.o Modules/_elementtree.o Modules/cjkcodecs/_codecs_cn.o Modules/cjkcodecs/_codecs_hk.o Modules/cjkcodecs/_codecs_iso2022.o Modules/cjkcodecs/_codecs_jp.o Modules/cjkcodecs/_codecs_kr.o Modules/cjkcodecs/_codecs_tw.o Modules/cjkcodecs/multibytecodec.o Modules/unicodedata.o Modules/mmapmodule.o Modules/selectmodule.o Modules/socketmodule.o Modules/termios.o Modules/_sqlite/blob.o Modules/_sqlite/connection.o Modules/_sqlite/cursor.o Modules/_sqlite/microprotocols.o Modules/_sqlite/module.o Modules/_sqlite/prepare_protocol.o Modules/_sqlite/row.o Modules/_sqlite/statement.o Modules/_sqlite/util.o Modules/xxsubtype.o Modules/_xxtestfuzz/_xxtestfuzz.o Mo
ules/_xxtestfuzz/fuzzer.o Modules/_testbuffer.o Modules/_testinternalcapi.o Modules/_testinternalcapi/pytime.o Modules/_testcapimodule.o Modules/_testcapi/vectorcall.o Modules/_testcapi/vectorcall_limited.o Modules/_testcapi/heaptype.o Modules/_testcapi/abstract.o Modules/_testcapi/unicode.o Modules/_testcapi/dict.o Modules/_testcapi/getargs.o Modules/_testcapi/datetime.o Modules/_testcapi/docstring.o Modules/_testcapi/mem.o Modules/_testcapi/watchers.o Modules/_testcapi/long.o Modules/_testcapi/float.o Modules/_testcapi/structmember.o Modules/_testcapi/exceptions.o Modules/_testcapi/code.o Modules/_testcapi/buffer.o Modules/_testcapi/pyatomic.o Modules/_testcapi/pyos.o Modules/_testcapi/immortal.o Modules/_testcapi/heaptype_relative.o Modules/_testcapi/gc.o Modules/_testclinic.o Modules/_testclinic_limited.o Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_typingmodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/getpath.o Python/frozen.o Modules/_decimal/libmpdec/libmpdec.a Modules/_hacl/libHacl_Hash_SHA2.a Modules/expat/libexpat.a -latomic -L/opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic/libsqlite3.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic/libz.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/pic/libbz2.a -lGL -lal -lhtml5 -lstubs -lc -ldlmalloc -lcompiler_rt -lc++-noexcept -lc++abi-noexcept -lsockets --no-whole-archive -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --import-undefined --import-memory --strip-debug --export-dynamic --export-if-defined=main --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=__main_argc_argv --export-if-defined=__wasm_apply_data_relocs --export-if-defined=fflush --export=setThrew --export=stackSave --export=stackRestore --export=stackAlloc --export=__wasm_call_ctors --export=__errno_location --export=getTempRet0 --export=setTempRet0 --export=__funcs_on_exit --export=malloc --export=free --export=raise --export=fileno --export=memcpy --export=ntohs --export=htons --export=__dl_seterr --export=saveSetjmp --export=htonl --export=sleep --export=memcmp --export=__cxa_is_pointer_type --export=__cxa_can_catch --export=emscripten_builtin_memalign --experimental-pic -pie -z stack-size=5242880 --initial-memory=20971520 --no-entry --max-memory=2147483648' failed (returned 1)
make: *** [Makefile:905: python.js] Error 1
mmake: error: 'make -j2 all' failed (returned 2)

@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot wasm32-emscripten node (pthreads) 3.x has failed when building commit 1f7e421.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/1050/builds/2996) and take a look at the build logs.
  4. Check if the failure is related to this commit (1f7e421) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/1050/builds/2996

Summary of the results of the build (if available):

Click to see traceback logs
remote: Enumerating objects: 16, done.        
remote: Counting objects:   6% (1/16)        
remote: Counting objects:  12% (2/16)        
remote: Counting objects:  18% (3/16)        
remote: Counting objects:  25% (4/16)        
remote: Counting objects:  31% (5/16)        
remote: Counting objects:  37% (6/16)        
remote: Counting objects:  43% (7/16)        
remote: Counting objects:  50% (8/16)        
remote: Counting objects:  56% (9/16)        
remote: Counting objects:  62% (10/16)        
remote: Counting objects:  68% (11/16)        
remote: Counting objects:  75% (12/16)        
remote: Counting objects:  81% (13/16)        
remote: Counting objects:  87% (14/16)        
remote: Counting objects:  93% (15/16)        
remote: Counting objects: 100% (16/16)        
remote: Counting objects: 100% (16/16), done.        
remote: Compressing objects:  11% (1/9)        
remote: Compressing objects:  22% (2/9)        
remote: Compressing objects:  33% (3/9)        
remote: Compressing objects:  44% (4/9)        
remote: Compressing objects:  55% (5/9)        
remote: Compressing objects:  66% (6/9)        
remote: Compressing objects:  77% (7/9)        
remote: Compressing objects:  88% (8/9)        
remote: Compressing objects: 100% (9/9)        
remote: Compressing objects: 100% (9/9), done.        
remote: Total 9 (delta 7), reused 1 (delta 0), pack-reused 0        
From https://github.com/python/cpython
 * branch                  main       -> FETCH_HEAD
Note: switching to '1f7e42131d2800f0fbb89bfd91fafa8a073e066d'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 1f7e42131d gh-109054: configure checks if libatomic is needed (#109101)
Switched to and reset branch 'main'

configure: ../../configure --prefix $(PWD)/target/host --with-pydebug --without-pydebug --with-emscripten-target=node --disable-wasm-dynamic-linking --enable-wasm-pthreads --build=x86_64-pc-linux-gnu --host=wasm32-unknown-emscripten --with-build-python=../build/python
configure: WARNING: using cross tools not prefixed with host triplet
mcc: error: no input files

make: make -j2 all
../../Python/initconfig.c:2309:27: warning: format specifies type 'wint_t' (aka 'int') but the argument has type 'wint_t' (aka 'unsigned int') [-Wformat]
    printf(usage_envvars, (wint_t)DELIM, (wint_t)DELIM, PYTHONHOMEHELP);
           ~~~~~~~~~~~~~  ^~~~~~~~~~~~~
../../Python/initconfig.c:146:18: note: format string is defined here
"PYTHONPATH   : '%lc'-separated list of directories prefixed to the\n"
                 ^~~
                 %c
../../Python/initconfig.c:2309:42: warning: format specifies type 'wint_t' (aka 'int') but the argument has type 'wint_t' (aka 'unsigned int') [-Wformat]
    printf(usage_envvars, (wint_t)DELIM, (wint_t)DELIM, PYTHONHOMEHELP);
           ~~~~~~~~~~~~~                 ^~~~~~~~~~~~~
../../Python/initconfig.c:148:58: note: format string is defined here
"PYTHONHOME   : alternate <prefix> directory (or <prefix>%lc<exec_prefix>).\n"
                                                         ^~~
                                                         %c
2 warnings generated.
../../Python/optimizer.c:416:9: warning: variable 'reserved' set but not used [-Wunused-but-set-variable]
    int reserved = 0;
        ^
1 warning generated.
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
#  define htobe16(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:35:9: note: previous definition is here
#define htobe16(x) __bswap16(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
#  define htole16(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:41:9: note: previous definition is here
#define htole16(x) (uint16_t)(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
#  define be16toh(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:36:9: note: previous definition is here
#define be16toh(x) __bswap16(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
#  define le16toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:42:9: note: previous definition is here
#define le16toh(x) (uint16_t)(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
#  define htobe32(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:37:9: note: previous definition is here
#define htobe32(x) __bswap32(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
#  define htole32(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:43:9: note: previous definition is here
#define htole32(x) (uint32_t)(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
#  define be32toh(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:38:9: note: previous definition is here
#define be32toh(x) __bswap32(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
#  define le32toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:44:9: note: previous definition is here
#define le32toh(x) (uint32_t)(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
#  define htobe64(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:39:9: note: previous definition is here
#define htobe64(x) __bswap64(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
#  define htole64(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:45:9: note: previous definition is here
#define htole64(x) (uint64_t)(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
#  define be64toh(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:40:9: note: previous definition is here
#define be64toh(x) __bswap64(x)
        ^
In file included from ../../Modules/md5module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_MD5.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
#  define le64toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:46:9: note: previous definition is here
#define le64toh(x) (uint64_t)(x)
        ^
12 warnings generated.
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
#  define htobe16(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:35:9: note: previous definition is here
#define htobe16(x) __bswap16(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
#  define htole16(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:41:9: note: previous definition is here
#define htole16(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
#  define be16toh(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:36:9: note: previous definition is here
#define be16toh(x) __bswap16(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
#  define le16toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:42:9: note: previous definition is here
#define le16toh(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
#  define htobe32(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:37:9: note: previous definition is here
#define htobe32(x) __bswap32(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
#  define htole32(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:43:9: note: previous definition is here
#define htole32(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
#  define be32toh(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:38:9: note: previous definition is here
#define be32toh(x) __bswap32(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
#  define le32toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:44:9: note: previous definition is here
#define le32toh(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
#  define htobe64(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:39:9: note: previous definition is here
#define htobe64(x) __bswap64(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
#  define htole64(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:45:9: note: previous definition is here
#define htole64(x) (uint64_t)(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
#  define be64toh(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:40:9: note: previous definition is here
#define be64toh(x) __bswap64(x)
        ^
In file included from ../../Modules/sha1module.c:47:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA1.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
#  define le64toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:46:9: note: previous definition is here
#define le64toh(x) (uint64_t)(x)
        ^
12 warnings generated.
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
#  define htobe16(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:35:9: note: previous definition is here
#define htobe16(x) __bswap16(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
#  define htole16(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:41:9: note: previous definition is here
#define htole16(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
#  define be16toh(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:36:9: note: previous definition is here
#define be16toh(x) __bswap16(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
#  define le16toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:42:9: note: previous definition is here
#define le16toh(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
#  define htobe32(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:37:9: note: previous definition is here
#define htobe32(x) __bswap32(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
#  define htole32(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:43:9: note: previous definition is here
#define htole32(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
#  define be32toh(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:38:9: note: previous definition is here
#define be32toh(x) __bswap32(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
#  define le32toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:44:9: note: previous definition is here
#define le32toh(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
#  define htobe64(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:39:9: note: previous definition is here
#define htobe64(x) __bswap64(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
#  define htole64(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:45:9: note: previous definition is here
#define htole64(x) (uint64_t)(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
#  define be64toh(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:40:9: note: previous definition is here
#define be64toh(x) __bswap64(x)
        ^
In file included from ../../Modules/sha3module.c:59:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA3.h:34:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
#  define le64toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:46:9: note: previous definition is here
#define le64toh(x) (uint64_t)(x)
        ^
12 warnings generated.
../../Modules/expat/xmlparse.c:3116:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:3115:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:4059:9: warning: code will never be executed [-Wunreachable-code]
        parser->m_characterDataHandler(parser->m_handlerArg, parser->m_dataBuf,
        ^~~~~~
../../Modules/expat/xmlparse.c:4058:16: note: silence by adding parentheses to mark code as explicitly dead
      else if (0 && parser->m_characterDataHandler)
               ^
               /* DISABLES CODE */ ( )
../../Modules/expat/xmlparse.c:7703:11: warning: format specifies type 'int' but the argument has type 'ptrdiff_t' (aka 'long') [-Wformat]
          bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP",
          ^~~~~~~~~
3 warnings generated.
../../Modules/socketmodule.c:4082:33: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
         cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
                                ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Modules/socketmodule.c:4135:33: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
         cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
                                ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Modules/socketmodule.c:4759:54: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
            cmsgh = (i == 0) ? CMSG_FIRSTHDR(&msg) : CMSG_NXTHDR(&msg, cmsgh);
                                                     ^~~~~~~~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/sys/socket.h:356:44: note: expanded from macro 'CMSG_NXTHDR'
        __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.
../../Modules/_sqlite/connection.c:2260:19: warning: result of comparison of constant 9223372036854775807 with expression of type 'Py_ssize_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare]
    if (data->len > 9223372036854775807) {  // (1 << 63) - 1
        ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
1 warning generated.
../../Modules/_testcapimodule.c:225:18: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
        assert(k != UNINITIALIZED_PTR);
                 ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapimodule.c:226:18: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
        assert(v != UNINITIALIZED_PTR);
                 ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapimodule.c:238:14: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(k == UNINITIALIZED_PTR);
             ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapimodule.c:239:14: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(v == UNINITIALIZED_PTR);
             ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
4 warnings generated.
../../Modules/_testcapi/dict.c:289:16: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(key == UNINITIALIZED_PTR);
               ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapi/dict.c:290:18: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(value == UNINITIALIZED_PTR);
                 ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
2 warnings generated.
../../Modules/_testcapi/exceptions.c:129:17: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(type != UNINITIALIZED_PTR);
                ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapi/exceptions.c:130:18: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(value != UNINITIALIZED_PTR);
                 ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
../../Modules/_testcapi/exceptions.c:131:15: warning: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Wstring-compare]
    assert(tb != UNINITIALIZED_PTR);
              ^  ~~~~~~~~~~~~~~~~~
/opt/buildbot/.emscripten_cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
                           ^
3 warnings generated.
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
#  define htobe16(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:35:9: note: previous definition is here
#define htobe16(x) __bswap16(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
#  define htole16(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:41:9: note: previous definition is here
#define htole16(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
#  define be16toh(x) __builtin_bswap16(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:36:9: note: previous definition is here
#define be16toh(x) __bswap16(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
#  define le16toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:42:9: note: previous definition is here
#define le16toh(x) (uint16_t)(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
#  define htobe32(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:37:9: note: previous definition is here
#define htobe32(x) __bswap32(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
#  define htole32(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:43:9: note: previous definition is here
#define htole32(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
#  define be32toh(x) __builtin_bswap32(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:38:9: note: previous definition is here
#define be32toh(x) __bswap32(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
#  define le32toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:44:9: note: previous definition is here
#define le32toh(x) (uint32_t)(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
#  define htobe64(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:39:9: note: previous definition is here
#define htobe64(x) __bswap64(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
#  define htole64(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:45:9: note: previous definition is here
#define htole64(x) (uint64_t)(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
#  define be64toh(x) __builtin_bswap64(x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:40:9: note: previous definition is here
#define be64toh(x) __bswap64(x)
        ^
In file included from ../../Modules/sha2module.c:48:
In file included from ../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../Modules/_hacl/include/krml/types.h:12:
../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
#  define le64toh(x) (x)
          ^
/opt/buildbot/.emscripten_cache/sysroot/include/endian.h:46:9: note: previous definition is here
#define le64toh(x) (uint64_t)(x)
        ^
12 warnings generated.
mcc: warning: USE_PTHREADS + ALLOW_MEMORY_GROWTH may run non-wasm code slowly, see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth]
wasm-ld: error: unable to find library -latomic
mcc: error: '/opt/emsdk/upstream/bin/wasm-ld -o python.wasm Programs/python.o Modules/getbuildinfo.o Parser/token.o Parser/pegen.o Parser/pegen_errors.o Parser/action_helpers.o Parser/parser.o Parser/string_parser.o Parser/peg_api.o Parser/myreadline.o Parser/tokenizer.o Objects/abstract.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genericaliasobject.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/interpreteridobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/typevarobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/unionobject.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/Python-tokenize.o Python/asdl.o Python/assemble.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/executor.o Python/flowgraph.o Python/frame.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/ceval_gil.o Python/hamt.o Python/hashtable.o Python/import.o Python/importdl.o Python/initconfig.o Python/instrumentation.o Python/intrinsics.o Python/legacy_tracing.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/optimizer.o Python/optimizer_analysis.o Python/pathconfig.o Python/preconfig.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/specialize.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/tracemalloc.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/suggestions.o Python/perf_trampoline.o Python/dynload_stub.o Python/emscripten_signal.o Modules/config.o Modules/main.o Modules/gcmodule.o Modules/arraymodule.o Modules/_asynciomodule.o Modules/_bisectmodule.o Modules/_contextvarsmodule.o Modules/_csv.o Modules/_heapqmodule.o Modules/_json.o Modules/_lsprof.o Modules/rotatingtree.o Modules/_opcode.o Modules/_pickle.o Modules/_queuemodule.o Modules/_randommodule.o Modules/_struct.o Modules/_zoneinfo.o Modules/mathmodule.o Modules/cmathmodule.o Modules/_statisticsmodule.o Modules/_datetimemodule.o Modules/_decimal/_decimal.o Modules/binascii.o Modules/_bz2module.o Modules/zlibmodule.o Modules/md5module.o Modules/_hacl/Hacl_Hash_MD5.o Modules/sha1module.o Modules/_hacl/Hacl_Hash_SHA1.o Modules/sha2module.o Modules/sha3module.o Modules/_hacl/Hacl_Hash_SHA3.o Modules/_blake2/blake2module.o Modules/_blake2/blake2b_impl.o Modules/_blake2/blake2s_impl.o Modules/pyexpat.o Modules/_elementtree.o Modules/cjkcodecs/_codecs_cn.o Modules/cjkcodecs/_codecs_hk.o Modules/cjkcodecs/_codecs_iso2022.o Modules/cjkcodecs/_codecs_jp.o Modules/cjkcodecs/_codecs_kr.o Modules/cjkcodecs/_codecs_tw.o Modules/cjkcodecs/multibytecodec.o Modules/unicodedata.o Modules/mmapmodule.o Modules/selectmodule.o Modules/socketmodule.o Modules/termios.o Modules/_sqlite/blob.o Modules/_sqlite/connection.o Modules/_sqlite/cursor.o Modules/_sqlite/microprotocols.o Modules/_sqlite/module.o Modules/_sqlite/prepare_protocol.o Modules/_sqlite/row.o Modules/_sqlite/statement.o Modules/_sqlite/util.o Modules/xxsubtype.o Modules/_xxtestfuzz/_xxtestfuzz.o Modules/_xxtestfuzz
fuzzer.o Modules/_testbuffer.o Modules/_testinternalcapi.o Modules/_testinternalcapi/pytime.o Modules/_testcapimodule.o Modules/_testcapi/vectorcall.o Modules/_testcapi/vectorcall_limited.o Modules/_testcapi/heaptype.o Modules/_testcapi/abstract.o Modules/_testcapi/unicode.o Modules/_testcapi/dict.o Modules/_testcapi/getargs.o Modules/_testcapi/datetime.o Modules/_testcapi/docstring.o Modules/_testcapi/mem.o Modules/_testcapi/watchers.o Modules/_testcapi/long.o Modules/_testcapi/float.o Modules/_testcapi/structmember.o Modules/_testcapi/exceptions.o Modules/_testcapi/code.o Modules/_testcapi/buffer.o Modules/_testcapi/pyatomic.o Modules/_testcapi/pyos.o Modules/_testcapi/immortal.o Modules/_testcapi/heaptype_relative.o Modules/_testcapi/gc.o Modules/_testclinic.o Modules/_testclinic_limited.o Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_typingmodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/getpath.o Python/frozen.o Modules/_decimal/libmpdec/libmpdec.a Modules/_hacl/libHacl_Hash_SHA2.a Modules/expat/libexpat.a -latomic -L/opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/libz.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/libbz2.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/libsqlite3-mt.a /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/crtbegin.o /opt/buildbot/.emscripten_cache/sysroot/lib/wasm32-emscripten/crt1_proxy_main.o -lGL-mt -lal -lhtml5 -lstubs -lc-mt -ldlmalloc-mt -lcompiler_rt-mt -lc++-mt-noexcept -lc++abi-mt-noexcept -lsockets-mt -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --import-undefined --import-memory --shared-memory --strip-debug --export-if-defined=main --export-if-defined=_emscripten_thread_init --export-if-defined=_emscripten_thread_exit --export-if-defined=_emscripten_thread_crashed --export-if-defined=_emscripten_tls_init --export-if-defined=pthread_self --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=__main_argc_argv --export-if-defined=fflush --export=stackSave --export=stackRestore --export=stackAlloc --export=__wasm_call_ctors --export=__errno_location --export=emscripten_dispatch_to_thread_ --export=_emscripten_thread_free_data --export=emscripten_main_browser_thread_id --export=emscripten_main_thread_process_queued_calls --export=emscripten_run_in_main_runtime_thread_js --export=emscripten_stack_set_limits --export=__funcs_on_exit --export=malloc --export=free --export=emscripten_builtin_memalign --export=ntohs --export=htons --export=htonl --export-table -z stack-size=5242880 --initial-memory=20971520 --entry=_emscripten_proxy_main --max-memory=2147483648 --global-base=1024' failed (returned 1)
make: *** [Makefile:904: python.js] Error 1
mmake: error: 'make -j2 all' failed (returned 2)

@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot aarch64 Fedora Stable LTO 3.x has failed when building commit 1f7e421.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/336/builds/3939) and take a look at the build logs.
  4. Check if the failure is related to this commit (1f7e421) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/336/builds/3939

Summary of the results of the build (if available):

==

Click to see traceback logs
Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 1354, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1325, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 929, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 1000, in exec_module
  File "<frozen importlib._bootstrap_external>", line 1096, in get_code
  File "<frozen importlib._bootstrap_external>", line 1195, in get_data
TypeError: descriptor 'close' for '_io.BufferedReader' objects doesn't apply to a '_io.FileIO' object


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.lto/build/Lib/threading.py", line 1059, in _bootstrap_inner
    self.run()
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.lto/build/Lib/threading.py", line 996, in run
    self._target(*self._args, **self._kwargs)
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.lto/build/Lib/test/test_interpreters.py", line 483, in task
    interp = interpreters.create()
             ^^^^^^^^^^^^^^^^^^^^^
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-aarch64.lto/build/Lib/test/support/interpreters.py", line 25, in create
    id = _interpreters.create(isolated=isolated)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: interpreter creation failed
k

@vstinner
Copy link
Member Author

vstinner commented Sep 8, 2023

aarch64 Fedora Stable LTO 3.x has failed

Minor unrelated issue: 1 test altered the execution environment: test_interpreters.

wasm32-emscripten node (dynamic linking) 3.x has failed
wasm32-emscripten node (pthreads) 3.x has failed

Not good. "Compile host Python" failed with:

checking whether libatomic is needed by <pyatomic.h>... yes

wasm-ld: error: unable to find library -latomic

@vstinner
Copy link
Member Author

Not good. "Compile host Python" failed with: (...)

I wrote PR #109211 to fix building Python with cross-compilation (wasm32 buildbots).

@vstinner
Copy link
Member Author

I wrote PR #109224 to document LIBATOMIC and other configuration variables.

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.

4 participants