Skip to content

Commit

Permalink
Explain what to do in case of missing shared libraries. Remove mentio…
Browse files Browse the repository at this point in the history
…ning

of egcs. Fixes #635929. Backported to 2.2.3.
  • Loading branch information
loewis committed Nov 15, 2002
1 parent 7994716 commit 9cea5f5
Showing 1 changed file with 22 additions and 5 deletions.
27 changes: 22 additions & 5 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -214,15 +214,15 @@ the OPT variable.

If you get failures in test_long, or sys.maxint gets set to -1, you
are probably experiencing compiler bugs, usually related to
optimization. This is a common problem with some versions of gcc and
egcs, and some vendor-supplied compilers, which can sometimes be
worked around by turning off optimization. Consider switching to
stable versions (gcc 2.7.2.3, egcs 1.1.2, or contact your vendor.)
optimization. This is a common problem with some versions of gcc, and
some vendor-supplied compilers, which can sometimes be worked around
by turning off optimization. Consider switching to stable versions
(gcc 2.95.2, or contact your vendor.)

From Python 2.0 onward, all Python C code is ANSI C. Compiling using
old K&R-C-only compilers is no longer possible. ANSI C compilers are
available for all modern systems, either in the form of updated
compilers from the vendor, or one of the free compilers (gcc, egcs).
compilers from the vendor, or one of the free compilers (gcc).

Platform specific notes
-----------------------
Expand Down Expand Up @@ -251,6 +251,23 @@ Solaris: When using Sun's C compiler with threads, at least on Solaris
are aware of the problem, so binutils 2.13.1 will probably fix
this problem.

When the dynamic loader complains about errors finding shared
libraries, such as

ld.so.1: ./python: fatal: libstdc++.so.5: open failed:
No such file or directory

you need to first make sure that the library is available on
your system. Then, you need to instruct the dynamic loader how
to find it. You can chose any of the following strategies:

1. When compiling Python, set LD_RUN_PATH to the directories
containing missing libraries.
2. When running Python, set LD_LIBRARY_PATH to these directories.
3. Use crle(8) to extend the search path of the loader.
4. Modify the installed GCC specs file, adding -R options into the
*link: section.

Linux: A problem with threads and fork() was tracked down to a bug in
the pthreads code in glibc version 2.0.5; glibc version 2.0.7
solves the problem. This causes the popen2 test to fail;
Expand Down

0 comments on commit 9cea5f5

Please sign in to comment.