Hi,
> Maybe your path is not set correctly (for this specific problem).
Today has been one dumb mistake after another. I apologize. I'll do it properly shall I: # sysctl -a | grep linux kern.emul.linux=1 # ls -al a.out -rwxr-xr-x 1 edd edd 1176578 May 28 13:18 a.out # file a.out a.out: ELF 32-bit LSB executable, Intel 80386, version 1, for GNU/Linux 2.6.9, statically linked, not stripped # uname -a OpenBSD puff.langash.lan 4.1 GENERIC#1435 i386 # ktrace ./a.out ktrace: exec of './a.out' failed: Operation not permitted # kdump -f ktrace.out 8108 ktrace RET ktrace 0 8108 ktrace CALL execve(0xcfbdc9d3,0xcfbdc89c,0xcfbdc8a4) 8108 ktrace NAMI "./a.out" 8108 ktrace RET execve -1 errno 1 Operation not permitted 8108 ktrace CALL mprotect(0x7e522000,0x1000,0x3) 8108 ktrace RET mprotect 0 8108 ktrace CALL mprotect(0x7e522000,0x1000,0x1) 8108 ktrace RET mprotect 0 8108 ktrace CALL write(0x2,0xcfbdbeb0,0x8) 8108 ktrace GIO fd 2 wrote 8 bytes "ktrace: " 8108 ktrace RET write 8 8108 ktrace CALL write(0x2,0xcfbdbed0,0x18) 8108 ktrace GIO fd 2 wrote 24 bytes "exec of './a.out' failed" 8108 ktrace RET write 24/0x18 8108 ktrace CALL write(0x2,0x3c00213c,0x2) 8108 ktrace GIO fd 2 wrote 2 bytes ": " 8108 ktrace RET write 2 8108 ktrace CALL issetugid() 8108 ktrace RET issetugid 0 8108 ktrace CALL open(0xcfbdc280,0,0) 8108 ktrace NAMI "/usr/share/nls/C/libc.cat" 8108 ktrace RET open 3 8108 ktrace CALL fstat(0x3,0xcfbdc1e0) 8108 ktrace RET fstat 0 8108 ktrace CALL mmap(0,0xe5a,0x1,0x1,0x3,0,0,0) 8108 ktrace RET mmap -2046947328/0x85fe1000 8108 ktrace CALL close(0x3) 8108 ktrace RET close 0 8108 ktrace CALL readlink(0x3c002168,0xcfbdc120,0x3f) 8108 ktrace NAMI "/etc/malloc.conf" 8108 ktrace RET readlink -1 errno 2 No such file or directory 8108 ktrace CALL issetugid() 8108 ktrace RET issetugid 0 8108 ktrace CALL mmap(0,0x1000,0x3,0x1002,0xffffffff,0,0,0) 8108 ktrace RET mmap 2086334464/0x7c5af000 8108 ktrace CALL mmap(0,0x1000,0x3,0x1002,0xffffffff,0,0,0) 8108 ktrace RET mmap -2141827072/0x80565000 8108 ktrace CALL mmap(0,0x1000,0x3,0x1002,0xffffffff,0,0,0) 8108 ktrace RET mmap 2143391744/0x7fc19000 8108 ktrace CALL mmap(0,0x1000,0x3,0x1002,0xffffffff,0,0,0) 8108 ktrace RET mmap -1960751104/0x8b215000 8108 ktrace CALL mmap(0,0x1000,0x3,0x1002,0xffffffff,0,0,0) 8108 ktrace RET mmap -1952120832/0x8ba50000 8108 ktrace CALL mmap(0,0x1000,0x3,0x1002,0xffffffff,0,0,0) 8108 ktrace RET mmap -1965772800/0x8ad4b000 8108 ktrace CALL munmap(0x85fe1000,0xe5a) 8108 ktrace RET munmap 0 8108 ktrace CALL __sysctl(1.37,0xcfbdc540,0xcfbdc534,0,0) 8108 ktrace RET __sysctl 0 8108 ktrace CALL getpid() 8108 ktrace RET getpid 8108/0x1fac 8108 ktrace CALL write(0x2,0xcfbdbeb0,0x18) 8108 ktrace GIO fd 2 wrote 24 bytes "Operation not permitted " 8108 ktrace RET write 24/0x18 8108 ktrace CALL munmap(0x7e522000,0x1000) 8108 ktrace RET munmap 0 8108 ktrace CALL exit(0x1) The above was run as root. I iterate again, this binary was cross compiled with g++, and has proven to work when copied onto an linux i386 machine. This was all done by my friend who uses linux. He tells me he used the -m32 switch of g++ to do so. I hope this is all the information this time. -- Best Regards Edd --------------------------------------------------- http://students.dec.bournemouth.ac.uk/ebarrett