Information on the EGCS compiler is at http://www.gnu.org/software/gcc/gcc.html.
Note that at this time, the kernel developers are not answering bug requests for earlier kernels, but instead are concentrating on developing 2.5.x version kernels and maintaining 2.2.x and 2.4.x version kernels.
[J.H.M. Dassen, Axel Boldt]
A: On a correctly configured system, installing a GNU software package requires four steps:
tar zxvf package-name.tar.gz |
A: The Sun Microsystems Java runtime environments and developer's kits are at http://java.sun.com/java/
You can also get the source code, which is licensed by Sun Microsystems.
A: The home page of IBM's Jikes Java compiler is http://www10.software.ibm.com/developerworks/opensource/jikes.
A: There is a version of Sun's HotJava browser for Linux at: http://www.java.sun.com/products/hotjava/.
A: Kaffee, a free Java clone, is available from: http://www.kaffe.org.
A: There is a resource page of free and commercial Java packages at: http://www.blackdown.org/java-linux.html.
A: Netscape Communicator comes with its own version of the Java Runtime Environment, so if you need Java only to view Web graphics, you may already have the runtime version of the Java Virtual Machine and libraries that you need installed on your system. You can download Communicator from http://www.netscape.com.
ld.so can be obtained from http://tsx-11.mit.edu/pub/linux/packages/GCC/ and mirror sites. The latest version at the time of writing is [ld.so.1.9.5.tar.gz].
[/lib/ld-linux.so.1] is the same thing for ELF ("What's all this about ELF? ") and comes in the same package as the [a.out] loader.
You should always have a rescue disk set ready when you perform this procedure, in the likely event that something goes wrong! |
For example, when upgrading libc5 libraries, the files in [/lib/] might look something like:
libc.so.5 libc.so.5.4.33 libm.so.5 libm.so.5.0.9 |
$ cp -df /lib/libc.so.5* /usr/lib/ $ cp -df /lib/libm.so.5* /usr/lib/ $ ldconfig |
Be sure to run ldconfig to upgrade the library configuration.
If you need to overwrite the link to the library directly, use the -f flag with ln.
$ ln -sf ./libm.so.5.0.48 libm.so.5 $ ln -sf ./libc.so.5.0.48 libc.so.5 $ cp -df libm.so.5* /lib $ cp -df libc.so.5* /lib |
Again, remember to run ldconfig after you copy the libraries.
A: Yes, unless it's the kernel.
GCC can be configured for a 386 or 486; the only difference is that configuring it for a 386 makes -m386 the default and configuring for a 486 makes -m486 the default. In either case, these can be overridden on a per-compilation basis or by editing [/usr/lib/gcc-lib/i*-linux/] n.n.n[/specs].
If you don't have the kernel sources, download them. Refer to the answer: (``How To Upgrade/Recompile a Kernel'')
Then, use rm to remove any garbage, and ln to create the links:
$ rm -rf /usr/include/linux /usr/include/asm $ ln -sf /usr/src/linux/include/linux /usr/include/linux $ ln -sf /usr/src/linux/include/asm- /usr/include/asm |
The assembly language files reside in architecture-specific directories, so you need to link /usr/src/include/asm to /usr/src/linux/include/asm-i386 on PC compatible systems, to /usr/src/linux/include/asm-sparc on Sun Sparc systems, to /usr/src/linux/include/asm-ppc on PPC systems, and so on.
You'll also find that you may need to do `make config' as in a newly-unpacked kernel source tree, to create [linux/autoconf.h].
A: With an ELF compiler (``What's All This about ELF? glibc?''), the most common cause of large executables is the lack of an appropriate .so library link for one of the libraries you're using. There should be a link like [libc.so] for every library like [libc.so.5.2.18].
With an [a.out] compiler the most common cause of large executables is the -g linker (compiler) flag. This produces (as well as debugging information in the output file) a program which is statically linkedone which includes a copy of the C library instead of a dynamically linked copy.
Other things worth investigating are -O and -O2, which enable optimization (check the GCC documentation), and -s (or the strip command) which strip the symbol information from the resulting binary (making debugging totally impossible).
You may wish to use -N on very small executables (less than 8K with the -N), but you shouldn't do this unless you understand its performance implications, and definitely never with daemons.
In sipb.mit.edu:/pub/pthread/ or ftp.ibp.fr:/pub/unix/threads/pthreads. Documentation isn't in the package, but is available on the World Wide Web at http://www.mit.edu:8001/people/proven/home_page.html. Newer Linux libc's contain the pthreads source. The GNU Ada compiler on ftp://metalab.unc.edu/pub/Linux/devel/lang/ada/gnat-3.01-linux+elf.tar.gz contains binaries made from that source code.
In ftp://ftp.cs.washington.edu:/pub/qt-001.tar.Z is QuickThreads. More information can be found in the technical report, available on the same site is [/tr/1993/05/UW-CSE-93-05-06.PS.Z.]
In gummo.doc.ic.ac.uk/rex/ is lwp, a very minimal implementation.
In ftp://ftp.cs.fsu.edu:/pub/PART/, an Ada implementation. This is useful mainly because it has a lot of Postscript papers that you'll find useful in learning more about threads. This is not directly usable under Linux.
Please contact the authors of the packages in question for details.
Q; Where Can I Find lint for Linux?|lint-for-linux
A: Roughly equivalent functionality is built into GCC. Use the -Wall option to turn on most of the useful extra warnings. See the GCC manual for more details (type F1-i in Emacs and select the entry for GCC).
There is a freely available program called lclint that does much the same thing as traditional lint. The announcement and source code are available at on ftp://larch.lcs.mit.edu/pub/Larch/lclint/; on the World Wide Web, look at http://lclint.cs.virginia.edu/.
A: The www.CablemodemInfo.com and xDSL Web page at http://www.cablemodeminfo.com has a section devoted to Linux.
See also the ERROR: LDP namespace resolution failure on Cable-Modem-HOWTO at the LDP.