The basics:
- Linux with 2.6 kernel (for example SuSE 9.1)
- i386/32bit distribution
- nptl support is highly recommended
- needs a current mmap support (some 2.6 still miss that)
- absolutely needs futex support (should be there since kernel 2.5)
I use futexes at several keypoints in the code, so these are a must. The older
mmap doesn't support working without a file as backup, I've also encountered
some problems that once a file is closed and held open only by the mmap, with the
mmap unmapped is no longer able to open that same file again in the same process
unless I completely delete the processing class first. So this will especially lead
to massive problems for simple brute force benchmarks as well as it will most likely
lead to a segvfault if caching is used.
The ldd command shows the following list of needed libraries:
- linux-gate.so.1 => (0xffffe000)
- libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40029000)
- librt.so.1 => /lib/tls/librt.so.1 (0x40039000)
- libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40041000)
- libm.so.6 => /lib/tls/libm.so.6 (0x400fe000)
- libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40120000)
- libc.so.6 => /lib/tls/libc.so.6 (0x40128000)
- /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
|
|