# error in 64 bit Linux make

**URL:** <https://forum.xojo.com/t/error-in-64-bit-linux-make/29879>\
**Category:** SDKs\
**Created:** [February 20, 2016, 10:35pm UTC](https://forum.xojo.com/t/error-in-64-bit-linux-make/29879 "2016-02-20T22:35:06Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Robert\_Delaney](https://forum.xojo.com/letter_avatar_proxy/v4/letter/r/ac91a4/32.png) [@Robert\_Delaney](https://forum.xojo.com/u/Robert_Delaney)\
**Post date:** [February 20, 2016, 10:35pm UTC](https://forum.xojo.com/t/error-in-64-bit-linux-make/29879/1 "2016-02-20T22:35:06Z")

</div>

In doing a make of a 64 bit .so dynamic library for Linux on Ubuntu Linux 14.04, an error occurs after all objects have been compiled:

/usr/bin/ld: /usr/lib/gcc/x86\_64-linux-gnu/4.8/crtbeginT.o: relocation R\_X86\_64\_32 against ` **TMC\_END** ’ can not be used when making a shared object; recompile with -fPIC  
/usr/lib/gcc/x86\_64-linux-gnu/4.8/crtbeginT.o: error adding symbols: Bad value  
collect2: error: ld returned 1 exit status  
make: \*\*\* [all] Error 1

How can I correct this error?

Bob

---

<div class="post-metadata">

**Author:** ![Robert\_Delaney](https://forum.xojo.com/letter_avatar_proxy/v4/letter/r/ac91a4/32.png) [@Robert\_Delaney](https://forum.xojo.com/u/Robert_Delaney)\
**Post date:** [February 21, 2016, 6:03am UTC](https://forum.xojo.com/t/error-in-64-bit-linux-make/29879/2 "2016-02-21T06:03:07Z")

</div>

There are many discussions about this on the internet. The problem is with the default installation of OpenSLL, which has to do with security. The suggested solution is to reinstall OpenSLL with a shared option. This does not appear to be straight-forward.

Bob

---

<div class="post-metadata">

**Author:** ![Christian\_Schmitz](https://forum.xojo.com/user_avatar/forum.xojo.com/christian_schmitz/32/158_2.png) [@Christian\_Schmitz](https://forum.xojo.com/u/Christian_Schmitz)\
**Post date:** [February 21, 2016, 3:43pm UTC](https://forum.xojo.com/t/error-in-64-bit-linux-make/29879/3 "2016-02-21T15:43:44Z")

</div>

Do you use -fPIC for building?

---

<div class="post-metadata">

**Author:** ![Robert\_Delaney](https://forum.xojo.com/letter_avatar_proxy/v4/letter/r/ac91a4/32.png) [@Robert\_Delaney](https://forum.xojo.com/u/Robert_Delaney)\
**Post date:** [February 21, 2016, 7:28pm UTC](https://forum.xojo.com/t/error-in-64-bit-linux-make/29879/4 "2016-02-21T19:28:22Z")

</div>

I tried again, adding -fPIC, and got the exact same error.

---

<div class="post-metadata">

**Author:** ![Robert\_Delaney](https://forum.xojo.com/letter_avatar_proxy/v4/letter/r/ac91a4/32.png) [@Robert\_Delaney](https://forum.xojo.com/u/Robert_Delaney)\
**Post date:** [February 27, 2016, 6:10am UTC](https://forum.xojo.com/t/error-in-64-bit-linux-make/29879/5 "2016-02-27T06:10:34Z")

</div>

I found the solution in:

[http://stackoverflow.com/questions/6634387/c-statically-linked-shared-library](http://stackoverflow.com/questions/6634387/c-statically-linked-shared-library)

I used:

CC = g++ -m64 -fPIC

all: $(OBJS)

```
$(CC) $(CFLAGS) -shared -o libDecimalPlugin.so $(OBJS) -Bstatic

```

That worked. It fails if -static is used instead of -Bstatic.

I was able to create a working 64 bit Xojo application with the resulting Decimal plugin.

---

<div class="post-metadata">

**Author:** ![system](https://forum.xojo.com/uploads/default/original/1X/455b4dcc0e61630e9f81940004ddffa49c432a46.png) [@system](https://forum.xojo.com/u/system)\
**Post date:** [October 29, 2020, 6:11pm UTC](https://forum.xojo.com/t/error-in-64-bit-linux-make/29879/6 "2020-10-29T18:11:54Z")

</div>


