FIRST STAB!!!! DIE!!!!!!!!
lol nah... we may still need a canuck who speaks french around here
ok.. my 2 cents about that. <teacher mode="on"> Usually Linux libraries (for some weirdass reason, don't know why, it's not even in no RFC or stuff) they end up with _ix86, meaning in x86 the minimum processor level you gotta have to run it. Heavily simplified: you know the difference between processors. It's not only electronics, meaning that they don't *only* put more wires (or wire the existing ones better for that matter), they also invent new ASM (=assembly, machine language... sorry, I'm being obvious
) instuctions. Actually, that's more "instruction sets". For example, "MMX" that they invented in 1996 or around there, that stands for "MultiMedia eXtensions" is just a set of assembly instructions very audio/video-oriented that work on newest processors (supporting MMX). Idem, "3DNow" (from AMD) is another instruction set that eases the work of 3D cards... And recently, "SSE" is another set of instructions introduced by Intel that enables a processor to treat several chunks of data with one single instruction (like if you were said "add 3 to the N next bytes you see coming on the wire"). Modern compilers can make use of these instructions and produce optimized "binaries" (i.e executable files) that run faster on processors that support these extensions, but on a barebones 386, these binaries wouldn't run, they would just crash the machine because the processor wouldn't know what to do with these new instructions. For some weird reason, the guys at Microsoft have been smarter (or less dumb) than the others, cos they decided to put an identifier in their library files (DLLs and .LIB files) just for that. So that when a Windows OS is told to run a particular file, if that file tells it that it won't run if you don't have a SSE/3DNow processor (like P3/P4/K6-2/Athlon), your proggy will just refuse to run but the OS won't crash. On the other hand, in the UNIX/Linux world, the only dumb idea they found to tell the difference between binaries that can run on a 386 and binaries that can run on a 486 (386 with wider memory bus), 586 (Pentium), 686 (Pentium with MMX) or 786 (Pent with MMX and SSE or 3DNow), that was just to append _x86 ath the end of the filename. That means, if you have a library compiled with MMX/SSE/3DNow extensions and all, and you have a recent machine, you can call it MyLibrary_i386.so, MyLibrary_i486.so, MyLibrary_i586.so, or MyLibrary_i686.so. If you have a 686 machine (w/ MMX & 3DNow and crap) that won't make any difference, your game will run. But if you have a 386 machine, if you try to run a lib that has been compiled with i686 extensions, --> crash. The only thing to remember from that rambling: if yev got Linux, use da lib that correspond to yer pross'. Damn, that was long. Where's my beer? Ah, here.
9_9
How come I write texts that long? I should see a doc.