== Welcome to kLIBC and kNIX == [wiki:kLIBC kLIBC] is a C runtime library in which the coder is exploring [wiki:TheSingleUnixSpecification The Single Unix Specification] (SUS) and various *BSD, Sun and Linux interfaces used in 'portable' software. While implementing SUS completely and providing a great range of special BSD, Sun and Linux APIs is a kind of ultimate goal, the main focus is on what is '''interesting''' to play with and what is '''requested''' by porters using kLIBC. [wiki:UnixPenthouseApartement kNIX] - also known as [wiki:UnixPenthouseApartement The Unix Penthouse Apartment] - is an associated act in which kLIBC is put thru the ringer. [wiki:UnixPenthouseApartement kNIX] is an effort to create a UNIX like environment on OS/2 (and later NT) but without kicking out drive letters and other DOSishness. Ports of all the fundamental elements of a *NIX system can be found in the kLIBC repository. Not all of these ports are maintained here, they are included in order to be able to build the kNIX foundation. ([wiki:GnuGcc GCC], [wiki:GnuBinutils Binutils], [wiki:Os2Emx EMX], [wiki:BsdAsh ash] and [wiki:BsdYacc yacc] are maintained here, in case you was wondering.) kNIX employs Gentoo Portage for building and maintaining the environment. === Download === The current release is 0.6.5 kLIBC / GCC csd 6 - Everything: [ftp://ftp.netlabs.org/pub/gcc/GCC-3.3.5-csd6.zip ZIP]; Just kLIBC: [ftp://ftp.netlabs.org/pub/gcc/libc-0.6.5-csd6.zip ZIP] You can find current and previous releases here: ftp://ftp.netlabs.org/pub/gcc/ === Mailinglist & Bugs === If you want to contribute to kLIBC or if you have any questions please use our new mailinglist. You can either subscribe to it as mailinglist (send an email to libc-user-subscribe@netlabs.org) or you can read it via a mail and news interface at [http://dir.gmane.org/gmane.org.netlabs.libc.user gmane.org] To create a new ticket, you first have to Login (use "guest" as user and "netlabs" as password if you don't have a real login). === Bootstrapping kNIX & kLIBC === If you wish to build kLIBC 0.6.x Then check out the BuildLibc page. If you wish to build kLIBC trunk Then bug bird in #netlabs about it being broken. If you wish to build kNIX (trunk) Then: 1. Download and install GCC (see link above). 1. Checkout the trunk (big!): {{{svn co http://svn.netlabs.org/repos/libc/trunk}}} 1. Run {{{env.cmd}}}. 1. Run {{{kmk}}}. 1. Get current portage snapshot and unpack it in the trunk: {{{ wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/snapshots/portage-latest.tar.bz2 tar xpjf portage-latest.tar.bz2 }}} 1. Run {{{bash -c "emerge --info}}} to check that it works. Your done. === Interesting Pages === * [wiki:Faq FAQ] * [wiki:LibcLogging kLIBC Logging] * [wiki:UnixPenthouseApartement The Unix Penthouse Apartment] * [wiki:LibcPanic Debugging kLIBC Panics] * [wiki:kLdr kLdr - The Dynamic Loader] * [wiki:kNIXPorting Porting to kNIX] * [wiki:kOptions extra GCC options on OS/2]