Can't compile v17 on RPI4

Support and general discussion.
Post Reply
Posts: 10
Joined: Tue 02 Jun, 2020 7:30 pm

Can't compile v17 on RPI4

Post by keenerb »

I installed all dependencies as far as I know.

I downloaded the v17 .tar.gz source file and unzip.

I ran ./configure and then make

I get a few hundred messages like this:

/usr/bin/ld: pcem-wx-config_sel.o:(.bss+0x0): multiple definition of `keybsenddelay'; pcem-386.o:(.bss+0x978): first defined here
/usr/bin/ld: pcem-wx-config_sel.o:(.bss+0x8): multiple definition of `hdc'; pcem-386.o:(.bss+0x980): first defined here
/usr/bin/ld: pcem-wx-config_sel.o:(.bss+0xb0): multiple definition of `speakon'; pcem-386.o:(.bss+0xa28): first defined here
/usr/bin/ld: pcem-wx-config_sel.o:(.bss+0xb4): multiple definition of `speakval'; pcem-386.o:(.bss+0xa2c): first defined here
/usr/bin/ld: pcem-wx-config_sel.o:(.bss+0xb8): multiple definition of `gated'; pcem-386.o:(.bss+0xa30): first defined here
/usr/bin/ld: pcem-wx-config_sel.o:(.bss+0xbc): multiple definition of `ppispeakon'; pcem-386.o:(.bss+0xa34): first defined here
/usr/bin/ld: pcem-wx-config_sel.o:(.bss+0xc0): multiple definition of `readflash'; pcem-386.o:(.bss+0xa38): first defined here
/usr/bin/ld: pcem-wx-config_sel.o:(.bss+0xc4): multiple definition of `cpuspeed'; pcem-386.o:(.bss+0xa3c): first defined here
/usr/bin/ld: pcem-wx-config_sel.o:(.bss+0xc8): multiple definition of `gfxcard'; pcem-386.o:(.bss+0xa40): first defined here
/usr/bin/ld: pcem-wx-config_sel.o:(.bss+0xcc): multiple definition of `romset'; pcem-386.o:(.bss+0xa44): first defined here

and then hundreds of lines of this:

386_dynarec.c:(.text+0x1ddc): undefined reference to `x87_timings'
/usr/bin/ld: 386_dynarec.c:(.text+0x1e1c): undefined reference to `x87_timings'
/usr/bin/ld: pcem-386_dynarec.o: in function `opFSUB':
386_dynarec.c:(.text+0x1e8c): undefined reference to `x87_timings'
/usr/bin/ld: 386_dynarec.c:(.text+0x1ecc): undefined reference to `x87_timings'
/usr/bin/ld: pcem-386_dynarec.o: in function `opFCOMP':
386_dynarec.c:(.text+0x1f8c): undefined reference to `x87_timings'
/usr/bin/ld: pcem-386_dynarec.o:386_dynarec.c:(.text+0x1f9c): more undefined references to `x87_timings' follow
/usr/bin/ld: pcem-cpu.o: in function `cpu_set':
cpu.c:(.text+0x1974): undefined reference to `x87_timings_8087'
/usr/bin/ld: cpu.c:(.text+0x197c): undefined reference to `x87_timings'
/usr/bin/ld: cpu.c:(.text+0x1980): undefined reference to `x87_timings_8087'
/usr/bin/ld: cpu.c:(.text+0x19a8): undefined reference to `x87_timings'
/usr/bin/ld: cpu.c:(.text+0x19ac): undefined reference to `x87_timings_387'
/usr/bin/ld: cpu.c:(.text+0x19b4): undefined reference to `x87_timings_387'

It's latest Raspberry OS build.

Any idea what might be going on?
Posts: 10
Joined: Tue 02 Jun, 2020 7:30 pm

Re: Can't compile v17 on RPI4

Post by keenerb »

I did notice compiling another app earlier this week that I had to move the "-lncurses" to the end of the make statement rather than earlier in the parameter list.

I bet this is something similar ot that.

gcc -O2 -std=gnu89 -lncurses ethflopd.c -o ethflopd
/usr/bin/ld: /tmp/ccXmLcmW.o: in function `sigcatcher':
ethflopd.c:(.text+0x74): undefined reference to `endwin'
/usr/bin/ld: /tmp/ccXmLcmW.o: in function `printCurrentClients':
ethflopd.c:(.text+0x1218): undefined reference to `printw'
/usr/bin/ld: ethflopd.c:(.text+0x1264): undefined reference to `printw'
/usr/bin/ld: ethflopd.c:(.text+0x12b4): undefined reference to `printw'
/usr/bin/ld: ethflopd.c:(.text+0x12e4): undefined reference to `printw'
/usr/bin/ld: /tmp/ccXmLcmW.o: in function `main':
ethflopd.c:(.text.startup+0x10): undefined reference to `stdscr'

When I changed to

gcc -O2 -std=gnu89 ethflopd.c -o ethflopd -lncurses

everything compiled fine.

I don't know how to fix that with pcem.
Post Reply