EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Linker error with vendor library
From: Mark Rivers via Tech-talk <[email protected]>
To: Michael Davidsaver <[email protected]>
Cc: tech-talk <[email protected]>
Date: Sat, 7 Dec 2019 13:10:58 +0000
Hi Michael,


> You could try passing '-no-pie' when linking the xspress3App executable.


That worked, I can now build and run the IOC on Ubuntu 18.


> Having libimg_mod.a recompiled with -fPIC would probably be the desirable long term solution.


I will ask the vendor (Quantum Detectors) about that.

> Running
>> readelf -r libimg_mod.a |grep R_X86_64_32

> might show something interesting, like whether the relocation
> is referring to an internal name, or eg. something from libc

I have appended that output.  I am not sure how to interpret it.

Thanks very much for the quick reply.

Mark


TahoeU18:/corvette/home/epics/devel/xspress3/lib/linux-x86_64-ub18> readelf -r libimg_mod.a |grep R_X86_64_32
000000000091  00090000000a R_X86_64_32       0000000000000000 .rodata + 0
000000000183  00090000000a R_X86_64_32       0000000000000000 .rodata + 2c
0000000001b5  00090000000a R_X86_64_32       0000000000000000 .rodata + 3b
000000000220  00090000000a R_X86_64_32       0000000000000000 .rodata + 40
00000000027a  00090000000a R_X86_64_32       0000000000000000 .rodata + 78
0000000002cf  00090000000a R_X86_64_32       0000000000000000 .rodata + b0
000000000329  00090000000a R_X86_64_32       0000000000000000 .rodata + e0
000000000451  00090000000a R_X86_64_32       0000000000000000 .rodata + 2c
000000000480  00090000000a R_X86_64_32       0000000000000000 .rodata + 3b
000000000509  00090000000a R_X86_64_32       0000000000000000 .rodata + b0
000000000597  00090000000a R_X86_64_32       0000000000000000 .rodata + e0
0000000006f1  00090000000a R_X86_64_32       0000000000000000 .rodata + 110
000000000006  00050000000a R_X86_64_32       0000000000000000 .debug_abbrev + 0
00000000000c  000d0000000a R_X86_64_32       0000000000000000 .debug_str + a4
000000000011  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2e2
000000000015  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 1bc
000000000029  00070000000a R_X86_64_32       0000000000000000 .debug_line + 0
00000000002e  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 41
00000000003b  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 38e
000000000042  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 325
000000000049  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 230
000000000050  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 19c
000000000057  000d0000000a R_X86_64_32       0000000000000000 .debug_str + da
00000000005e  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 339
00000000006c  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 116
000000000071  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 179
00000000007c  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3b7
000000000087  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 8
000000000092  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 376
00000000009d  000d0000000a R_X86_64_32       0000000000000000 .debug_str + ed
0000000000a8  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 251
0000000000b3  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 0
0000000000be  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3c5
0000000000c9  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 414
0000000000d6  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2d0
0000000000e1  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 10b
0000000000f4  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3a0
0000000000f9  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2c7
000000000106  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 11f
000000000113  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 1a
000000000120  000d0000000a R_X86_64_32       0000000000000000 .debug_str + fe
00000000012d  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3cf
00000000013a  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 473
000000000147  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 212
000000000154  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2a5
000000000161  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 5d
00000000016e  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 126
00000000017c  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 243
00000000018a  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 441
000000000198  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3dd
0000000001a6  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 313
0000000001b4  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 32
0000000001c2  000d0000000a R_X86_64_32       0000000000000000 .debug_str + f6
0000000001d0  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 267
0000000001de  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 145
0000000001ec  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 132
0000000001fa  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 361
000000000208  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 48
000000000216  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 261
000000000224  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 151
000000000232  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3f1
000000000240  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3f8
00000000024e  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3ff
00000000025c  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 406
00000000026a  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 40d
000000000278  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 26f
000000000286  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 41d
000000000295  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2b3
00000000029c  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 191
0000000002a8  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3bf
0000000002b4  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 225
0000000002c0  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 30e
0000000002ff  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 16c
00000000030c  000d0000000a R_X86_64_32       0000000000000000 .debug_str + cc
000000000311  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 489
00000000031c  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2dc
000000000327  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 1b2
000000000332  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 6a
00000000033d  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 358
000000000349  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 296
000000000355  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 28e
000000000364  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 74
00000000036b  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 308
000000000372  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 13e
000000000377  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 9f
000000000383  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 435
00000000038f  000d0000000a R_X86_64_32       0000000000000000 .debug_str + e6
00000000039b  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 31c
0000000003a7  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 286
0000000003b3  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 18a
0000000003bf  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3ea
0000000003cb  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 172
0000000003d7  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 37e
0000000003e3  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 275
0000000003ef  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 34d
0000000003fb  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 8b
000000000408  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 42d
000000000415  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 451
000000000422  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 39
00000000042f  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 27d
00000000044d  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 164
000000000458  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 29d
000000000463  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 25b
00000000047a  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 22b
000000000486  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 482
000000000492  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 435
00000000049e  000d0000000a R_X86_64_32       0000000000000000 .debug_str + e6
0000000004aa  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 9a
0000000004bd  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 58
0000000004c9  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3ae
0000000004eb  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2be
000000000506  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 20d
000000000522  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2fc
000000000544  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2be
000000000552  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 20d
000000000562  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 27
000000000584  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 220
000000000593  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 22b
0000000005a2  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 181
0000000005b1  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2f2
0000000005c0  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 95
0000000005de  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3a5
0000000005fa  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 43c
000000000624  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2be
000000000633  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 10
000000000641  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 333
00000000064f  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 20d
00000000065e  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 343
000000000671  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 52
000000000695  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 52
0000000006b2  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 1a9
0000000006d4  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 370
0000000006e3  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3a5
000000000701  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2f2
000000000710  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 459
00000000072d  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 43c
000000000758  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 2be
000000000767  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 333
000000000775  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 220
000000000783  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 20d
000000000792  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 52
0000000007b6  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 52
0000000007cd  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 159
0000000007ef  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3a5
0000000007fe  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 386
00000000080e  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 386
000000000830  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3a5
00000000083e  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 20d
00000000084c  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 461
00000000085c  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 466
00000000087e  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 3a5
00000000088c  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 20d
00000000089b  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 426
0000000008bd  000d0000000a R_X86_64_32       0000000000000000 .debug_str + 426
000000000006  00060000000a R_X86_64_32       0000000000000000 .debug_info + 0
000000000006  00060000000a R_X86_64_32       0000000000000000 .debug_info + 0
000000000006  00060000000a R_X86_64_32       0000000000000000 .debug_info + 0
000000000040  00080000000a R_X86_64_32       0000000000000000 .rodata + 0
000000000102  00080000000a R_X86_64_32       0000000000000000 .rodata + 50
000000000196  00080000000a R_X86_64_32       0000000000000000 .rodata + 98
0000000001e5  00080000000a R_X86_64_32       0000000000000000 .rodata + e0
00000000021a  00080000000a R_X86_64_32       0000000000000000 .rodata + 120
000000000294  00080000000a R_X86_64_32       0000000000000000 .rodata + 148
0000000002de  00080000000a R_X86_64_32       0000000000000000 .rodata + 178
00000000033e  00080000000a R_X86_64_32       0000000000000000 .rodata + 1a0
000000000388  00080000000a R_X86_64_32       0000000000000000 .rodata + 1a2
0000000003ce  00080000000a R_X86_64_32       0000000000000000 .rodata + 1a4
000000000454  00080000000a R_X86_64_32       0000000000000000 .rodata + 1b0
0000000005b0  00080000000a R_X86_64_32       0000000000000000 .rodata + 200
000000000675  00080000000a R_X86_64_32       0000000000000000 .rodata + 248
0000000006cf  00080000000a R_X86_64_32       0000000000000000 .rodata + e0
00000000071d  00080000000a R_X86_64_32       0000000000000000 .rodata + 298
000000000752  00080000000a R_X86_64_32       0000000000000000 .rodata + 120
0000000007e1  00080000000a R_X86_64_32       0000000000000000 .rodata + 148
00000000082e  00080000000a R_X86_64_32       0000000000000000 .rodata + 178
000000000898  00080000000a R_X86_64_32       0000000000000000 .rodata + 1a0
0000000008e2  00080000000a R_X86_64_32       0000000000000000 .rodata + 1a2
00000000092f  00080000000a R_X86_64_32       0000000000000000 .rodata + 2e5
00000000097b  00080000000a R_X86_64_32       0000000000000000 .rodata + 1a4
000000000b34  00080000000b R_X86_64_32S      0000000000000000 .rodata + 300
000000000b6e  00080000000a R_X86_64_32       0000000000000000 .rodata + 2e7
000000000cbb  00080000000b R_X86_64_32S      0000000000000000 .rodata + 480
000000000d98  00080000000a R_X86_64_32       0000000000000000 .rodata + 2e7
000000000e3e  00080000000a R_X86_64_32       0000000000000000 .rodata + 600
000000000efd  00080000000a R_X86_64_32       0000000000000000 .rodata + 628
000000000ff1  00080000000a R_X86_64_32       0000000000000000 .rodata + 660
00000000102f  00080000000b R_X86_64_32S      0000000000000000 .rodata + 6a0
00000000114d  00080000000a R_X86_64_32       0000000000000000 .rodata + 2e7
000000000006  00050000000a R_X86_64_32       0000000000000000 .debug_abbrev + 0
00000000000c  000c0000000a R_X86_64_32       0000000000000000 .debug_str + e7
000000000011  000c0000000a R_X86_64_32       0000000000000000 .debug_str + cc
000000000015  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 50
000000000029  00070000000a R_X86_64_32       0000000000000000 .debug_line + 0
000000000030  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 293
000000000037  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1d0
00000000003e  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 22f
000000000045  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 210
00000000004c  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 13d
000000000053  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 3b
000000000061  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 25e
000000000070  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 259
000000000077  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 160
00000000007c  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 267
000000000087  000c0000000a R_X86_64_32       0000000000000000 .debug_str + d6
000000000092  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 242
00000000009f  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 16e
0000000000a6  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 0
0000000000ad  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2ab
0000000000b2  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1f4
0000000000bd  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 21d
0000000000c8  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2a5
0000000000d3  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 11d
0000000000de  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 12e
0000000000e5  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 135
0000000000ec  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 9d
0000000000f9  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1e4
000000000105  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 225
000000000111  000c0000000a R_X86_64_32       0000000000000000 .debug_str + c0
00000000011d  000c0000000a R_X86_64_32       0000000000000000 .debug_str + c6
000000000129  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 6
000000000135  000c0000000a R_X86_64_32       0000000000000000 .debug_str + e0
000000000141  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1fc
00000000014d  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 33
00000000015a  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2d9
000000000167  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 128
00000000018e  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 10f
00000000019a  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 283
0000000001b8  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1c1
0000000001c3  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 153
0000000001d0  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1e4
0000000001dc  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 225
0000000001e8  000c0000000a R_X86_64_32       0000000000000000 .debug_str + c0
0000000001f4  000c0000000a R_X86_64_32       0000000000000000 .debug_str + c6
000000000200  000c0000000a R_X86_64_32       0000000000000000 .debug_str + ba
00000000020c  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 6
000000000218  000c0000000a R_X86_64_32       0000000000000000 .debug_str + e0
000000000224  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1fc
000000000230  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 33
00000000023d  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 18f
00000000024a  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2d9
000000000257  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 128
000000000264  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 288
000000000271  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2bd
00000000027e  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1ab
00000000028b  000c0000000a R_X86_64_32       0000000000000000 .debug_str + ae
0000000002a2  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 10f
0000000002ae  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 197
0000000002cc  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 27
0000000002d8  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 114
0000000002fa  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1cb
000000000309  000c0000000a R_X86_64_32       0000000000000000 .debug_str + c0
000000000318  000c0000000a R_X86_64_32       0000000000000000 .debug_str + c6
000000000327  000c0000000a R_X86_64_32       0000000000000000 .debug_str + e
000000000336  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1a5
000000000345  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1e4
000000000354  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1e
000000000370  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 14
00000000037e  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1b8
00000000038d  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2c9
00000000039b  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 149
0000000003b8  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 185
0000000003da  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2ce
0000000003fc  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1cb
00000000040b  000c0000000a R_X86_64_32       0000000000000000 .debug_str + c0
00000000041a  000c0000000a R_X86_64_32       0000000000000000 .debug_str + c6
000000000429  000c0000000a R_X86_64_32       0000000000000000 .debug_str + ba
000000000438  000c0000000a R_X86_64_32       0000000000000000 .debug_str + e
000000000447  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1a5
000000000456  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2b7
000000000464  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 26f
000000000472  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1e4
000000000480  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1e
00000000049d  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 14
0000000004ac  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1b8
0000000004bb  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2c9
0000000004c9  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 149
0000000004e6  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 185
0000000004f4  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 288
000000000502  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2bd
000000000538  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 24c
0000000005a3  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 45
00000000060a  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1de
000000000619  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 185
00000000063e  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 276
00000000067f  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1de
0000000006ab  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2b2
000000000708  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 204
000000000753  000c0000000a R_X86_64_32       0000000000000000 .debug_str + a8
000000000773  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 1ee
0000000007af  000c0000000a R_X86_64_32       0000000000000000 .debug_str + 2b2
000000000006  00060000000a R_X86_64_32       0000000000000000 .debug_info + 0
000000000006  00060000000a R_X86_64_32       0000000000000000 .debug_info + 0
000000000006  00060000000a R_X86_64_32       0000000000000000 .debug_info + 0


________________________________
From: Michael Davidsaver <[email protected]>
Sent: Saturday, December 7, 2019 1:47 AM
To: Mark Rivers
Cc: tech-talk
Subject: Re: Linker error with vendor library

On 12/6/19 7:24 PM, Mark Rivers via Tech-talk wrote:
> Folks,
>
>
> I am trying to build the EPICS Xspress3 driver.  It builds fine on Centos 7 with gcc 4.5
>
>
> On Ubuntu 18 with gcc 7.4 I get this error:
>
>
> *************
>
> /usr/bin/ld: /corvette/home/epics/devel/areaDetector-3-8/xspress3-2-2/lib/linux-x86_64-ub18/libimg_mod.a(img_mod_linux.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
> /usr/bin/ld: final link failed: Nonrepresentable section on output
> collect2: error: ld returned 1 exit status
> /corvette/usr/local/epics-devel/base-7.0.3.1/configure/RULES_BUILD:212: recipe for target 'xspress3App' failed
> make[1]: *** [xspress3App] Error 1
>
> *************
>
> libimg_mod.a is a pre-built library provided by the vendor.  Is there something I can change in the link options to avoid this error, or do we need to get a new library from the vendor?

You could try passing '-no-pie' when linking the xspress3App executable.

Having libimg_mod.a recompiled with -fPIC would probably be the desirable long term solution.

Running

> readelf -r libimg_mod.a |grep R_X86_64_32

might show something interesting, like whether the relocation
is referring to an internal name, or eg. something from libc

References:
Linker error with vendor library Mark Rivers via Tech-talk
Re: Linker error with vendor library Michael Davidsaver via Tech-talk

Navigate by Date:
Prev: Re: Linker error with vendor library Michael Davidsaver via Tech-talk
Next: Custom asyn input EOS Hudson, Lee (DLSLtd,RAL,LSCI) via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Linker error with vendor library Michael Davidsaver via Tech-talk
Next: Custom asyn input EOS Hudson, Lee (DLSLtd,RAL,LSCI) via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 10 Dec 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·