Comments (8)
from cpython.
yes, I once created #116461
from cpython.
Do you want it to warn or error?
from cpython.
It would be friendly to list them:
"ERROR: These packages are required by python to compile but they were not found in your system:
- package one
- package foo
- package bar
Please install them and retry.
from cpython.
Reporting on exact package names to install is a hard problem to solve since there are many different linux distros and suggesting:
build-essential checkinstall
libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
will not work since e.g. my distro doesn't have any such packages.
Listing software components like "needs OpenSSL, Readline, ncurses, SQLite, Tk, GDBM, bzip2" could work.
The real trick here is deciding whether they are needed or intentionally omitted. This could be done using autoconf --enable-ssl / --disable-ssl and failing if not found, but you also want a "check" option for the current autodetection...
You can do:
export PYTHONSTRICTEXTENSIONBUILD=1
and make
will error out at the end if it failed to build any modules it expected to create -- even if those modules failed for reasons other than a missing configure dependency.
from cpython.
Let me explain better:
Sometimes the compiler throws a RED ERROR too fast in the scrolling terminal console but I saw it, it was a C header file missing. So I recompiled with attention to discover "what is this red thing (error)?" and was a header from libffi-dev that I had to install
Is there a way that the compiler STOPS when a critical error occur at least ? I think using EXIT would be a good approach, as the error would be in the screen doing what I expected.
from cpython.
Let me explain better:
Sometimes the compiler throws a RED ERROR too fast in the scrolling terminal console but I saw it, it was a C header file missing. So I recompiled with attention to discover "what is this red thing (error)?" and was a header from libffi-dev that I had to install
pipe the output to grep the missing headers
from cpython.
Well, as I noted you can already tell CPython to emit a make
error if a failure occurred.
I guess running make twice could result in the error bubbling up in a much more readable manner. It's a trick I often use to collect build errors:
make -j8 -k # keep going and build everything possible
make -k # print errors for anything that failed the first time
from cpython.
Related Issues (20)
- free threading: what are the rules for `__slots__`? HOT 1
- Add a `co_lastlineno` in code object HOT 5
- ipaddress: Shared Address Space (100.64.0.0/10) is neither private nor global HOT 6
- SIGBUS: writing to `mmap`ed device beyond file size HOT 5
- Python 3.12+ breaks backwards compatibility for logging QueueHandler with some Queue classes HOT 20
- Running Tests from the Local System — web-platform-tests documentation HOT 2
- Name lookup in annotation scopes in classes does not work with non-dict globals HOT 2
- support bytes/bytearray in complex() constructor HOT 6
- Python 3.13.0b1: suboptimal `pdb._post_mortem` behavior if `.pdbrc` exists HOT 6
- Improve accuracy of `ntpath.normpath()` & `ntpath.abspath()` HOT 5
- Treat Fraction as a real value in mixed arithmetic operations with complex HOT 2
- ``test_venv`` prints unnecessary information HOT 6
- Honor PyOS_InputHook in the new REPL HOT 4
- " , " Grammatical confusion! ----- , 语法的迷惑 ! HOT 5
- sysconfig values for `platstdlib` do not appear to be accurate
- [C API] Add a public Py_nullptr macro (rename private _Py_NULL) HOT 5
- [C API] Split large object.h file: create refcount.h HOT 1
- pyrepl help (pydoc): "exit" does not exit, whereas "quit" does HOT 1
- Spill the stack pointer across calls in the interpreter. HOT 1
- Utilize last character gap for two-way periodic needles
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cpython.