Description of problem: I can't build atscap 1.1-rc9k. It fails with Building a colorful object: atscap.c:53:2: warning: #warning using ... lines are PLATFORM SPECIFIC! atscap.c:240:2: warning: #warning using POSIX signals atscap.c:274:2: warning: #warning using Linux DVB atscap.c:280:2: warning: #warning using TCP for HTTP atscap.c:290:2: warning: #warning Using GNU backtrace() atscap.c:304:2: warning: #warning using PNG for signal chart atscap.c:572:2: warning: #warning using ECMA-48 for console colors atscap.c:2317:2: warning: #warning using 8 entry VCT for broadcast atscap.c:2575:2: warning: #warning using tiny EPG atscap.c:3123:2: warning: #warning using dvrlog atscap.c:3775:2: warning: #warning using x86 arch uc_mcontext.gregs REG_EIP atscap.c: In function ‘signal_handler’: atscap.c:3777: error: ‘REG_EIP’ undeclared (first use in this function) atscap.c:3777: error: (Each undeclared identifier is reported only once atscap.c:3777: error: for each function it appears in.) atscap.c:7405:2: warning: #warning using Linux TIOCGWINSZ atscap.c: In function ‘show_mem_static’: atscap.c:8591: warning: format ‘%d’ expects type ‘int’, but argument 6 has type ‘long unsigned int’ atscap.c:8629: warning: format ‘%d’ expects type ‘int’, but argument 5 has type ‘long unsigned int’ atscap.c:8629: warning: format ‘%d’ expects type ‘int’, but argument 6 has type ‘long unsigned int’ atscap.c:24260:2: warning: #warning using FIFO mutex reads atscap.c:24588:2: warning: #warning using POSIX SCHED_FIFO priority 1 make: *** [atscap] Error 1 It builds fine on my fc6 i386 install Version-Release number of selected component (if applicable): glibc-2.4-11 How reproducible: Every time Steps to Reproduce: 1. Download atscap from http://70.247.38.254/dtv/ 2. untar it, and run make
That's the program's fault, it simply has never been ported to non-i386. There is no %eip register on x86_64 (but %rip; and on other arches it has even different names, or is represented by multiple registers etc.), so x86_64 defines REG_RIP instead.
And here I thought that x86_64 was completely reverse compatible. Thanks for clearing it up for me.
If you build a 32-bit program, it is. But you are building a 64-bit one.