Re: Recompile with -fPIE
- Posted by Pirx Jun 08, 2022
- 3512 views
I managed to build eu.a from source (I'm using Sparky Linux based on Debian Bullseye), but it doesn't work.
/usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_alloc.o):(.bss+0x80): multiple definition of `key_write'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x14): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_alloc.o):(.bss+0xa0): multiple definition of `key_buff'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x20): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_runtime.o):(.bss+0x360): multiple definition of `alt_image_debug'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x60): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_runtime.o):(.bss+0xedc0): multiple definition of `alt_image_main'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0xeac0): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_runtime.o):(.bss+0x1d820): multiple definition of `screen_image'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x1d520): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_runtime.o):(.bss+0x2c280): multiple definition of `consize_ioctl'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x54): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_runtime.o):(.bss+0x2c284): multiple definition of `key_write'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x14): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_runtime.o):(.bss+0x2c2a0): multiple definition of `key_buff'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x20): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_task.o):(.bss+0x88): multiple definition of `consize_ioctl'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x54): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_task.o):(.bss+0x8c): multiple definition of `key_write'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x14): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_task.o):(.bss+0xa0): multiple definition of `key_buff'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x20): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_machine.o):(.bss+0x558): multiple definition of `consize_ioctl'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x54): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_machine.o):(.bss+0x1da20): multiple definition of `screen_image'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x1d520): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_machine.o):(.bss+0x560): multiple definition of `alt_image_debug'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x60): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_machine.o):(.bss+0xefc0): multiple definition of `alt_image_main'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0xeac0): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_machine.o):(.bss+0x2c480): multiple definition of `key_write'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x14): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_machine.o):(.bss+0x2c4a0): multiple definition of `key_buff'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x20): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_pcre.o):(.bss+0x0): multiple definition of `consize_ioctl'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x54): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_pcre.o):(.bss+0x4): multiple definition of `key_write'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x14): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_pcre.o):(.bss+0x20): multiple definition of `key_buff'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x20): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_socket.o):(.bss+0x0): multiple definition of `key_write'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x14): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_socket.o):(.bss+0x20): multiple definition of `key_buff'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x20): first defined here /usr/bin/ld: /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_socket.o):(.bss+0x54): multiple definition of `consize_ioctl'; /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a(be_w.o):(.bss+0x54): first defined here collect2: error: ld returned 1 exit status Unable to link /home/tom/Downloads/test Status: 1 Command: gcc -o /home/tom/Downloads/test init-.o test.o main-.o /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.a -m64 -ldl -lm -lpthread
Thanx anyway! :)