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-117845: Detect libedit hook function signature in configure #117870

Merged
merged 7 commits into from
Apr 17, 2024

Conversation

jmroot
Copy link
Contributor

@jmroot jmroot commented Apr 14, 2024

Older libedit versions (like Apple's) use a different type signature for rl_startup_hook and rl_pre_input_hook. Add a configure check to determine which one is accepted.

Older libedit versions (like Apple's) use a different type signature
for rl_startup_hook and rl_pre_input_hook. Add a configure check to
determine which one is accepted.
configure.ac Outdated Show resolved Hide resolved
configure.ac Outdated Show resolved Hide resolved
@erlend-aasland
Copy link
Contributor

The approach seems fine to me, but it seems to me you need to properly regenerate configure. Try make regen-configure.

@erlend-aasland
Copy link
Contributor

erlend-aasland commented Apr 15, 2024

I'm not sure we need a NEWS entry for this; OTOH, it does not hurt to have one either. Can you add a short description regarding the user visible effects of this change, @jmroot?

Something like this should suffice: "Fix building against recent libedit by detecting readline hook function signatures in configure".

@jmroot
Copy link
Contributor Author

jmroot commented Apr 15, 2024

Oh thanks, I had just noticed I forgot to add pyconfig.h.in.

@erlend-aasland erlend-aasland changed the title gh-117845: Fix type mismatch for hook functions with libedit gh-117845: Detect libedit hook function signature in configure Apr 15, 2024
@erlend-aasland
Copy link
Contributor

cc. @sobolevn, who was involved in the related issues on the tracker.

Copy link
Contributor

@erlend-aasland erlend-aasland left a comment

Choose a reason for hiding this comment

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

Thanks!

@erlend-aasland
Copy link
Contributor

I'll wait for @corona10's thumbs up before merging.

configure.ac Show resolved Hide resolved
@corona10
Copy link
Member

I'll wait for @corona10's thumbs up before merging.

I will take a look at it by tomorrow. Sorry, my time bandwidth is limited these days.

Copy link
Member

@corona10 corona10 left a comment

Choose a reason for hiding this comment

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

lgtm, nice approach!

@erlend-aasland erlend-aasland merged commit 8515fd7 into python:main Apr 17, 2024
38 checks passed
@erlend-aasland
Copy link
Contributor

Thank you so much, @jmroot! This is a very welcome solution :)

@corona10: I think we should consider backporting this to 3.12.

@bedevere-bot
Copy link

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

Hi! The buildbot aarch64 Debian Clang LTO + PGO 3.x has failed when building commit 8515fd7.

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/1084/builds/4047) and take a look at the build logs.
  4. Check if the failure is related to this commit (8515fd7) 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/1084/builds/4047

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

Click to see traceback logs
remote: Enumerating objects: 22, done.        
remote: Counting objects:   4% (1/22)        
remote: Counting objects:   9% (2/22)        
remote: Counting objects:  13% (3/22)        
remote: Counting objects:  18% (4/22)        
remote: Counting objects:  22% (5/22)        
remote: Counting objects:  27% (6/22)        
remote: Counting objects:  31% (7/22)        
remote: Counting objects:  36% (8/22)        
remote: Counting objects:  40% (9/22)        
remote: Counting objects:  45% (10/22)        
remote: Counting objects:  50% (11/22)        
remote: Counting objects:  54% (12/22)        
remote: Counting objects:  59% (13/22)        
remote: Counting objects:  63% (14/22)        
remote: Counting objects:  68% (15/22)        
remote: Counting objects:  72% (16/22)        
remote: Counting objects:  77% (17/22)        
remote: Counting objects:  81% (18/22)        
remote: Counting objects:  86% (19/22)        
remote: Counting objects:  90% (20/22)        
remote: Counting objects:  95% (21/22)        
remote: Counting objects: 100% (22/22)        
remote: Counting objects: 100% (22/22), done.        
remote: Compressing objects:   8% (1/12)        
remote: Compressing objects:  16% (2/12)        
remote: Compressing objects:  25% (3/12)        
remote: Compressing objects:  33% (4/12)        
remote: Compressing objects:  41% (5/12)        
remote: Compressing objects:  50% (6/12)        
remote: Compressing objects:  58% (7/12)        
remote: Compressing objects:  66% (8/12)        
remote: Compressing objects:  75% (9/12)        
remote: Compressing objects:  83% (10/12)        
remote: Compressing objects:  91% (11/12)        
remote: Compressing objects: 100% (12/12)        
remote: Compressing objects: 100% (12/12), done.        
remote: Total 12 (delta 9), reused 1 (delta 0), pack-reused 0        
From https://github.com/python/cpython
 * branch                  main       -> FETCH_HEAD
Note: switching to '8515fd79fef1ac16d7848cec5ec1797294cb5366'.

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 8515fd79fe gh-117845: Detect libedit hook function signature in configure (#117870)
Switched to and reset branch 'main'

find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
make[2]: [Makefile:3089: clean-retain-profile] Error 1 (ignored)
/bin/sh: 1: /bin/sh: 1: /bin/sh: 1: clang: not found
clang: not foundclang: not found

/bin/sh: 1: clang: not found
/bin/sh: 1: clang: not found
/bin/sh: 1: clang: not found
/bin/sh: 1: clang: not found
make[2]: *** [Makefile:1822: Programs/python.o] Error 127
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:2998: Parser/token.o] Error 127
make[2]: *** [Makefile:2998: Parser/pegen.o] Error 127
make[2]: *** [Makefile:2998: Parser/pegen_errors.o] Error 127
make[2]: *** [Makefile:2998: Parser/action_helpers.o] Error 127
make[2]: *** [Makefile:2998: Parser/parser.o] Error 127
make[2]: *** [Makefile:2998: Parser/string_parser.o] Error 127
make[1]: *** [Makefile:871: profile-gen-stamp] Error 2
make: *** [Makefile:883: profile-run-stamp] Error 2

find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
make: [Makefile:3089: clean-retain-profile] Error 1 (ignored)

@bedevere-bot
Copy link

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

Hi! The buildbot PPC64LE RHEL7 3.x has failed when building commit 8515fd7.

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/446/builds/4811) and take a look at the build logs.
  4. Check if the failure is related to this commit (8515fd7) 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/446/builds/4811

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

Click to see traceback logs
remote: Enumerating objects: 22, done.        
remote: Counting objects:   4% (1/22)        
remote: Counting objects:   9% (2/22)        
remote: Counting objects:  13% (3/22)        
remote: Counting objects:  18% (4/22)        
remote: Counting objects:  22% (5/22)        
remote: Counting objects:  27% (6/22)        
remote: Counting objects:  31% (7/22)        
remote: Counting objects:  36% (8/22)        
remote: Counting objects:  40% (9/22)        
remote: Counting objects:  45% (10/22)        
remote: Counting objects:  50% (11/22)        
remote: Counting objects:  54% (12/22)        
remote: Counting objects:  59% (13/22)        
remote: Counting objects:  63% (14/22)        
remote: Counting objects:  68% (15/22)        
remote: Counting objects:  72% (16/22)        
remote: Counting objects:  77% (17/22)        
remote: Counting objects:  81% (18/22)        
remote: Counting objects:  86% (19/22)        
remote: Counting objects:  90% (20/22)        
remote: Counting objects:  95% (21/22)        
remote: Counting objects: 100% (22/22)        
remote: Counting objects: 100% (22/22), done.        
remote: Compressing objects:   8% (1/12)        
remote: Compressing objects:  16% (2/12)        
remote: Compressing objects:  25% (3/12)        
remote: Compressing objects:  33% (4/12)        
remote: Compressing objects:  41% (5/12)        
remote: Compressing objects:  50% (6/12)        
remote: Compressing objects:  58% (7/12)        
remote: Compressing objects:  66% (8/12)        
remote: Compressing objects:  75% (9/12)        
remote: Compressing objects:  83% (10/12)        
remote: Compressing objects:  91% (11/12)        
remote: Compressing objects: 100% (12/12)        
remote: Compressing objects: 100% (12/12), done.        
remote: Total 12 (delta 9), reused 1 (delta 0), pack-reused 0        
From https://github.com/python/cpython
 * branch            main       -> FETCH_HEAD
Note: checking out '8515fd79fef1ac16d7848cec5ec1797294cb5366'.

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 performing another checkout.

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

  git checkout -b new_branch_name

HEAD is now at 8515fd7... gh-117845: Detect libedit hook function signature in configure (#117870)
Switched to and reset branch 'main'

In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_pystate.h:12,
                 from ../Parser/pegen.c:3:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Parser/action_helpers.c:5:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_pystate.h:12,
                 from ../Parser/lexer/state.c:2:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_pystate.h:12,
                 from ../Include/internal/pycore_call.h:12,
                 from ../Parser/tokenizer/file_tokenizer.c:2:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_long.h:13,
                 from ../Objects/boolobject.c:4:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_pystate.h:12,
                 from ../Parser/myreadline.c:14:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_pystate.h:12,
                 from ../Include/internal/pycore_call.h:12,
                 from ../Objects/abstract.c:6:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
make: *** [Parser/pegen.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Parser/lexer/state.o] Error 1
make: *** [Parser/action_helpers.o] Error 1
make: *** [Parser/tokenizer/file_tokenizer.o] Error 1
make: *** [Objects/boolobject.o] Error 1
make: *** [Objects/abstract.o] Error 1
make: *** [Parser/myreadline.o] Error 1

find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
make: [Makefile:3081: clean-retain-profile] Error 1 (ignored)

@bedevere-bot
Copy link

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

Hi! The buildbot AMD64 RHEL7 3.x has failed when building commit 8515fd7.

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/15/builds/7501) and take a look at the build logs.
  4. Check if the failure is related to this commit (8515fd7) 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/15/builds/7501

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

Click to see traceback logs
remote: Enumerating objects: 22, done.        
remote: Counting objects:   4% (1/22)        
remote: Counting objects:   9% (2/22)        
remote: Counting objects:  13% (3/22)        
remote: Counting objects:  18% (4/22)        
remote: Counting objects:  22% (5/22)        
remote: Counting objects:  27% (6/22)        
remote: Counting objects:  31% (7/22)        
remote: Counting objects:  36% (8/22)        
remote: Counting objects:  40% (9/22)        
remote: Counting objects:  45% (10/22)        
remote: Counting objects:  50% (11/22)        
remote: Counting objects:  54% (12/22)        
remote: Counting objects:  59% (13/22)        
remote: Counting objects:  63% (14/22)        
remote: Counting objects:  68% (15/22)        
remote: Counting objects:  72% (16/22)        
remote: Counting objects:  77% (17/22)        
remote: Counting objects:  81% (18/22)        
remote: Counting objects:  86% (19/22)        
remote: Counting objects:  90% (20/22)        
remote: Counting objects:  95% (21/22)        
remote: Counting objects: 100% (22/22)        
remote: Counting objects: 100% (22/22), done.        
remote: Compressing objects:   8% (1/12)        
remote: Compressing objects:  16% (2/12)        
remote: Compressing objects:  25% (3/12)        
remote: Compressing objects:  33% (4/12)        
remote: Compressing objects:  41% (5/12)        
remote: Compressing objects:  50% (6/12)        
remote: Compressing objects:  58% (7/12)        
remote: Compressing objects:  66% (8/12)        
remote: Compressing objects:  75% (9/12)        
remote: Compressing objects:  83% (10/12)        
remote: Compressing objects:  91% (11/12)        
remote: Compressing objects: 100% (12/12)        
remote: Compressing objects: 100% (12/12), done.        
remote: Total 12 (delta 9), reused 1 (delta 0), pack-reused 0        
From https://github.com/python/cpython
 * branch            main       -> FETCH_HEAD
Note: checking out '8515fd79fef1ac16d7848cec5ec1797294cb5366'.

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 performing another checkout.

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

  git checkout -b new_branch_name

HEAD is now at 8515fd7... gh-117845: Detect libedit hook function signature in configure (#117870)
Switched to and reset branch 'main'

In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Parser/action_helpers.c:5:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_pystate.h:12,
                 from ../Parser/pegen.c:3:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_pystate.h:12,
                 from ../Parser/lexer/state.c:2:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_pystate.h:12,
                 from ../Include/internal/pycore_call.h:12,
                 from ../Parser/tokenizer/file_tokenizer.c:2:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_pystate.h:12,
                 from ../Parser/myreadline.c:14:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_pystate.h:12,
                 from ../Include/internal/pycore_call.h:12,
                 from ../Objects/abstract.c:6:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_ceval.h:13,
                 from ../Objects/bytearrayobject.c:7:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
make: *** [Parser/pegen.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Parser/action_helpers.o] Error 1
make: *** [Parser/lexer/state.o] Error 1
In file included from ../Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ../Include/internal/pycore_mimalloc.h:40,
                 from ../Include/internal/pycore_interp.h:30,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_long.h:13,
                 from ../Objects/boolobject.c:4:
../Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
make: *** [Parser/tokenizer/file_tokenizer.o] Error 1
make: *** [Parser/myreadline.o] Error 1
make: *** [Objects/bytearrayobject.o] Error 1
make: *** [Objects/boolobject.o] Error 1
make: *** [Objects/abstract.o] Error 1

find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
make: [Makefile:3081: clean-retain-profile] Error 1 (ignored)

@bedevere-bot
Copy link

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

Hi! The buildbot AMD64 RHEL7 LTO + PGO 3.x has failed when building commit 8515fd7.

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/96/builds/7283) and take a look at the build logs.
  4. Check if the failure is related to this commit (8515fd7) 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/96/builds/7283

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

Click to see traceback logs
remote: Enumerating objects: 22, done.        
remote: Counting objects:   4% (1/22)        
remote: Counting objects:   9% (2/22)        
remote: Counting objects:  13% (3/22)        
remote: Counting objects:  18% (4/22)        
remote: Counting objects:  22% (5/22)        
remote: Counting objects:  27% (6/22)        
remote: Counting objects:  31% (7/22)        
remote: Counting objects:  36% (8/22)        
remote: Counting objects:  40% (9/22)        
remote: Counting objects:  45% (10/22)        
remote: Counting objects:  50% (11/22)        
remote: Counting objects:  54% (12/22)        
remote: Counting objects:  59% (13/22)        
remote: Counting objects:  63% (14/22)        
remote: Counting objects:  68% (15/22)        
remote: Counting objects:  72% (16/22)        
remote: Counting objects:  77% (17/22)        
remote: Counting objects:  81% (18/22)        
remote: Counting objects:  86% (19/22)        
remote: Counting objects:  90% (20/22)        
remote: Counting objects:  95% (21/22)        
remote: Counting objects: 100% (22/22)        
remote: Counting objects: 100% (22/22), done.        
remote: Compressing objects:   8% (1/12)        
remote: Compressing objects:  16% (2/12)        
remote: Compressing objects:  25% (3/12)        
remote: Compressing objects:  33% (4/12)        
remote: Compressing objects:  41% (5/12)        
remote: Compressing objects:  50% (6/12)        
remote: Compressing objects:  58% (7/12)        
remote: Compressing objects:  66% (8/12)        
remote: Compressing objects:  75% (9/12)        
remote: Compressing objects:  83% (10/12)        
remote: Compressing objects:  91% (11/12)        
remote: Compressing objects: 100% (12/12)        
remote: Compressing objects: 100% (12/12), done.        
remote: Total 12 (delta 9), reused 1 (delta 0), pack-reused 0        
From https://github.com/python/cpython
 * branch            main       -> FETCH_HEAD
Note: checking out '8515fd79fef1ac16d7848cec5ec1797294cb5366'.

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 performing another checkout.

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

  git checkout -b new_branch_name

HEAD is now at 8515fd7... gh-117845: Detect libedit hook function signature in configure (#117870)
Switched to and reset branch 'main'

find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
make[2]: [clean-retain-profile] Error 1 (ignored)
gcc: error: unrecognized command line option ‘-fno-semantic-interposition’
gcc: error: unrecognized command line option ‘-fno-semantic-interposition’
gcc: error: unrecognized command line option ‘-fno-semantic-interposition’
gcc: error: unrecognized command line option ‘-fno-semantic-interposition’
make[2]: *** [Programs/python.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [Parser/token.o] Error 1
make[2]: *** [Parser/pegen.o] Error 1
make[2]: *** [Parser/pegen_errors.o] Error 1
gcc: error: unrecognized command line option ‘-fno-semantic-interposition’
make[2]: *** [Parser/action_helpers.o] Error 1
gcc: error: unrecognized command line option ‘-fno-semantic-interposition’
make[2]: *** [Parser/parser.o] Error 1
gcc: error: unrecognized command line option ‘-fno-semantic-interposition’
make[2]: *** [Parser/string_parser.o] Error 1
gcc: error: unrecognized command line option ‘-fno-semantic-interposition’
make[2]: *** [Parser/peg_api.o] Error 1
make[1]: *** [profile-gen-stamp] Error 2
make: *** [profile-run-stamp] Error 2

find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
make: [Makefile:3081: clean-retain-profile] Error 1 (ignored)

@bedevere-bot
Copy link

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

Hi! The buildbot AMD64 RHEL7 LTO 3.x has failed when building commit 8515fd7.

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/507/builds/7219) and take a look at the build logs.
  4. Check if the failure is related to this commit (8515fd7) 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/507/builds/7219

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

Click to see traceback logs
remote: Enumerating objects: 22, done.        
remote: Counting objects:   4% (1/22)        
remote: Counting objects:   9% (2/22)        
remote: Counting objects:  13% (3/22)        
remote: Counting objects:  18% (4/22)        
remote: Counting objects:  22% (5/22)        
remote: Counting objects:  27% (6/22)        
remote: Counting objects:  31% (7/22)        
remote: Counting objects:  36% (8/22)        
remote: Counting objects:  40% (9/22)        
remote: Counting objects:  45% (10/22)        
remote: Counting objects:  50% (11/22)        
remote: Counting objects:  54% (12/22)        
remote: Counting objects:  59% (13/22)        
remote: Counting objects:  63% (14/22)        
remote: Counting objects:  68% (15/22)        
remote: Counting objects:  72% (16/22)        
remote: Counting objects:  77% (17/22)        
remote: Counting objects:  81% (18/22)        
remote: Counting objects:  86% (19/22)        
remote: Counting objects:  90% (20/22)        
remote: Counting objects:  95% (21/22)        
remote: Counting objects: 100% (22/22)        
remote: Counting objects: 100% (22/22), done.        
remote: Compressing objects:   8% (1/12)        
remote: Compressing objects:  16% (2/12)        
remote: Compressing objects:  25% (3/12)        
remote: Compressing objects:  33% (4/12)        
remote: Compressing objects:  41% (5/12)        
remote: Compressing objects:  50% (6/12)        
remote: Compressing objects:  58% (7/12)        
remote: Compressing objects:  66% (8/12)        
remote: Compressing objects:  75% (9/12)        
remote: Compressing objects:  83% (10/12)        
remote: Compressing objects:  91% (11/12)        
remote: Compressing objects: 100% (12/12)        
remote: Compressing objects: 100% (12/12), done.        
remote: Total 12 (delta 9), reused 1 (delta 0), pack-reused 0        
From https://github.com/python/cpython
 * branch            main       -> FETCH_HEAD
Note: checking out '8515fd79fef1ac16d7848cec5ec1797294cb5366'.

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 performing another checkout.

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

  git checkout -b new_branch_name

HEAD is now at 8515fd7... gh-117845: Detect libedit hook function signature in configure (#117870)
Switched to and reset branch 'main'

In file included from ./Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ./Include/internal/pycore_mimalloc.h:40,
                 from ./Include/internal/pycore_interp.h:30,
                 from ./Include/internal/pycore_runtime.h:17,
                 from Parser/action_helpers.c:5:
./Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
In file included from ./Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ./Include/internal/pycore_mimalloc.h:40,
                 from ./Include/internal/pycore_interp.h:30,
                 from ./Include/internal/pycore_runtime.h:17,
                 from ./Include/internal/pycore_pystate.h:12,
                 from Parser/pegen.c:3:
./Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
compilation terminated.
In file included from ./Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ./Include/internal/pycore_mimalloc.h:40,
                 from ./Include/internal/pycore_interp.h:30,
                 from ./Include/internal/pycore_runtime.h:17,
                 from ./Include/internal/pycore_pystate.h:12,
                 from Parser/lexer/state.c:2:
./Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ./Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ./Include/internal/pycore_mimalloc.h:40,
                 from ./Include/internal/pycore_interp.h:30,
                 from ./Include/internal/pycore_runtime.h:17,
                 from ./Include/internal/pycore_pystate.h:12,
                 from ./Include/internal/pycore_call.h:12,
                 from Parser/tokenizer/file_tokenizer.c:2:
./Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
make: *** [Parser/pegen.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Parser/action_helpers.o] Error 1
In file included from ./Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ./Include/internal/pycore_mimalloc.h:40,
                 from ./Include/internal/pycore_interp.h:30,
                 from ./Include/internal/pycore_runtime.h:17,
                 from ./Include/internal/pycore_pystate.h:12,
                 from Parser/myreadline.c:14:
./Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ./Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ./Include/internal/pycore_mimalloc.h:40,
                 from ./Include/internal/pycore_interp.h:30,
                 from ./Include/internal/pycore_runtime.h:17,
                 from ./Include/internal/pycore_pystate.h:12,
                 from ./Include/internal/pycore_call.h:12,
                 from Objects/abstract.c:6:
./Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
In file included from ./Include/internal/mimalloc/mimalloc/types.h:24:0,
                 from ./Include/internal/pycore_mimalloc.h:40,
                 from ./Include/internal/pycore_interp.h:30,
                 from ./Include/internal/pycore_runtime.h:17,
                 from ./Include/internal/pycore_long.h:13,
                 from Objects/boolobject.c:4:
./Include/internal/mimalloc/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
 #include <stdatomic.h>
                       ^
compilation terminated.
make: *** [Parser/lexer/state.o] Error 1
make: *** [Parser/tokenizer/file_tokenizer.o] Error 1
make: *** [Parser/myreadline.o] Error 1
make: *** [Objects/abstract.o] Error 1
make: *** [Objects/boolobject.o] Error 1

find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
make: [Makefile:3081: clean-retain-profile] Error 1 (ignored)

diegorusso pushed a commit to diegorusso/cpython that referenced this pull request Apr 17, 2024
…ython#117870)

Older libedit versions (like Apple's) use a different type signature
for rl_startup_hook and rl_pre_input_hook. Add a configure check to
determine which signature is accepted by introducing the
Py_RL_STARTUP_HOOK_TAKES_ARGS macro in pyconfig.h.
@jmroot jmroot deleted the rl_hook_types branch April 17, 2024 12:16
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.

5 participants