Mercurial > hg > octave-lyh
diff README.Linux @ 2596:7020b79afd9c
[project @ 1996-12-14 19:12:11 by jwe]
author | jwe |
---|---|
date | Sat, 14 Dec 1996 19:12:45 +0000 |
parents | 3190d595d0da |
children | 106ae3df29f5 |
line wrap: on
line diff
--- a/README.Linux +++ b/README.Linux @@ -1,16 +1,24 @@ Since July 1996, most work on Octave has been done using a -Linux/GNU system. +Linux/GNU system, and a number of people who regularly test Octave +snapshot releases also primarily use Linux/GNU systems. -If you have trouble compiling or running Octave on a Linux/GNU system, -it is very likely that the problem is with your system, or your -installation of the compiler and libraries, and not with Octave -itself. +However, I have recently started to receive a significant number of +reports from people who say that they can't compile or run Octave on +Linux/GNU systems. In nearly every case, the problem has turned out +to be that the compilers or libraries have not been installed +properly. I suspect that this often results from a botched upgrade, +or from attempting to install the compilers from the standard source +distributions. But in some cases, the cause has been a buggy Linux +distributions. Many of these problems go unnoticed because much of +the software for Linux is written in C, not C++. -For example, if you can compile Octave, but it crashes with a -segmentation fault right away, you probably have incompatible versions -of libc and libg++ installed, or you have a version of the dynamic -loader, ld.so, that is incompatible with your versions of the -libraries, or both. +Octave compiles, but it won't run +--------------------------------- + +If you can compile Octave, but it crashes with a segmentation fault +right away, you probably have incompatible versions of libc and libg++ +installed, or you have a version of the dynamic loader, ld.so, that is +incompatible with your versions of the libraries, or both. On my development system, I am using the following software: @@ -23,20 +31,54 @@ * ld.so 1.7.14 I know from experience that the versions listed above seem to work -well together, but they may not work for you, because if you have a -newer version of the kernel, you may need a newer version of the C -library. Other than that, I don't have time to keep up with all the -various library versions (life is much too short for that), nor do I -know which combinations are supposed to work together. That sort of -information should be clearly stated in the release notes for the -libraries. If it is not, please ask the maintainers of the libraries -to clarify the documentation. +well together. But if you have a newer version of the kernel, you may +need a newer version of the C library. I don't have time to keep up +with all the various library versions (life is much too short for +that), nor do I know which combinations are supposed to work together. +That sort of information should be clearly stated in the release notes +for the libraries. If it is not, please ask the maintainers of the +libraries to clarify the documentation. + +Octave won't even compile +------------------------- If you can't compile Octave, you should first check to see that your compiler and header files are properly installed. Do you have multiple versions of the g++ include files on your system? Are you -sure that your copy of g++ is finding the right set (compiling a short -program with g++ -v will tell you the search path)? +sure that your copy of g++ is finding the right set? You can find out +by compiling a simple C++ program with -v: + +bash$ cat foo.cc +#include <iostream.h> +int main (void} { cerr << "yo\n"; return 0; } + +bash$ g++ -v foo.cc +gcc -v foo.cc -lg++ -lstdc++ -lm +Reading specs from /usr/lib/gcc-lib/i486-linux/2.7.2/specs +gcc version 2.7.2 + /usr/lib/gcc-lib/i486-linux/2.7.2/cpp -lang-c++ -v -undef ... +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/g++-include + /usr/local/include + /usr/i486-linux/include + /usr/lib/gcc-lib/i486-linux/2.7.2/include + /usr/include +End of search list. +... + +If the location of your include files is not listed in the search +path, then you might be able to fix that with a symbolic link. +However, if your version of libg++ was not compiled with your current +version of gcc, you are likely to run into more trouble. + +Upgrading your compiler and libraries +------------------------------------- + +Finally, installing libg++ on a Linux system is not as simple as it +should be, because libg++ shares some basic I/O code with the Linux C +library, and they must be compatible. You should get and read the +release notes for the compiler and libraries. John W. Eaton jwe@bevo.che.wisc.edu