Skip to content
Snippets Groups Projects
Commit 116075dd authored by Tim D. Smith's avatar Tim D. Smith
Browse files

Remove advice on bad Python linking

This is pathological and something that should be fixed in core, not by
working around it.

Closes https://github.com/Homebrew/legacy-homebrew/pull/45704.
parent 883751d6
No related branches found
No related tags found
No related merge requests found
......@@ -95,49 +95,6 @@ $ git clean -n # if this doesn't list anything that you want to keep, then
$ git clean -f # this will remove untracked files
```
### Python: `Segmentation fault: 11` on `import <some_python_module>`
A `Segmentation fault: 11` is in many cases due to a different Python
executable used for building the software vs. the python you use to import the
module. This can even happen when both python executables are the same version
(e.g. 2.7.2). The explanation is that Python packages with C extensions (those
that have `.so` files) are compiled against a certain python binary/library that
may have been built with a different arch (e.g. Apple's python is still not a
pure 64-bit build). Other things can go wrong, too. Welcome to the dirty
underworld of C.
To solve this, you should remove the problematic formula with those python
bindings and all of its dependencies.
- `brew rm $(brew deps --installed <problematic_formula>)`
- `brew rm <problematic_formula>`
- Also check the `$(brew --prefix)/lib/python2.7/site-packages` directory and
delete all remains of the corresponding python modules if they were not
cleanly removed by the previous steps.
- Check that `which python` points to the python you want. Perhaps now is the
time to `brew install python`.
- Then reinstall `brew install <problematic_formula>`
- Now start `python` and try to `import` the module installed by the
\<problematic_formula\>
You can basically use any Python (2.x) for the bindings homebrew provides, but
you can't mix. Homebrew formulae use a brewed Python if available or, if not
so, they use whatever `python` is in your `PATH`.
### Python: `Fatal Python error: PyThreadState_Get: no current thread`
```
Fatal Python error: PyThreadState_Get: no current thread
Abort trap: 6
```
This happens for `boost-python`, `pygtk`, `pygobject`, and related modules,
for the same reason as described above. To solve this, follow the steps above.
If `boost` is your problem, note that Boost.Python is now provided by the
`boost-python` formula. Removing any existing `boost` and `boost-python`,
running `brew update`, and installing them anew should fix things.
### Python: easy-install.pth cannot be linked
```
Warning: Could not link <formulaname>. Unlinking...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment