Skip to content

Instantly share code, notes, and snippets.

@Subzidion
Created February 2, 2017 19:55
Show Gist options
  • Save Subzidion/d5f3c972d8ae53ad58be9ccc5957700d to your computer and use it in GitHub Desktop.
Save Subzidion/d5f3c972d8ae53ad58be9ccc5957700d to your computer and use it in GitHub Desktop.
Compiling librosie failures
############
## Fedora ##
############
[subzidion@lodestone ~]$ docker run -i -t --entrypoint /bin/bash rpl-fedora
[root@c5d753f2eb2e /]# cd /opt/rosie/ffi/librosie/
[root@c5d753f2eb2e librosie]# make
make librosie.so SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
make[1]: Entering directory '/opt/rosie/ffi/librosie'
Generating librosie C functions and headers
echo 'api = require "api"; api.write_C_FILES();' | "/opt/rosie/bin/rosie" -D >/dev/null
This is Rosie v0.99j
gcc -o librosie.o -c librosie.c -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX -I/opt/rosie/submodules/lua/include
librosie.c: In function 'initialize':
librosie.c:209:14: warning: implicit declaration of function 'asprintf' [-Wimplicit-function-declaration]
int n = asprintf(&str_ptr, "Internal error: cannot load api (%s)", lua_tostring(L, -1));
^~~~~~~~
gcc -shared -o librosie.so librosie.o -L/opt/rosie/submodules/lua/src /opt/rosie/submodules/lua/src/liblua.a
/usr/bin/ld: librosie.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
librosie.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Makefile:55: recipe for target 'librosie.so' failed
make[1]: *** [librosie.so] Error 1
make[1]: Leaving directory '/opt/rosie/ffi/librosie'
Makefile:76: recipe for target 'linux' failed
make: *** [linux] Error 2
############
## Ubuntu ##
############
[subzidion@lodestone ~]$ docker run -i -t --entrypoint /bin/bash rpl-ubuntu
root@a028fd511b50:/# cd /opt/rosie/ffi/librosie/
root@a028fd511b50:/opt/rosie/ffi/librosie# make
make librosie.so SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
make[1]: Entering directory '/opt/rosie/ffi/librosie'
Generating librosie C functions and headers
echo 'api = require "api"; api.write_C_FILES();' | "/opt/rosie/bin/rosie" -D >/dev/null
This is Rosie v0.99j
gcc -o librosie.o -c librosie.c -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX -I/opt/rosie/submodules/lua/include
librosie.c: In function 'initialize':
librosie.c:209:14: warning: implicit declaration of function 'asprintf' [-Wimplicit-function-declaration]
int n = asprintf(&str_ptr, "Internal error: cannot load api (%s)", lu
^
gcc -shared -o librosie.so librosie.o -L/opt/rosie/submodules/lua/src /opt/rosie/submodules/lua/src/liblua.a
/usr/bin/ld: librosie.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
librosie.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Makefile:55: recipe for target 'librosie.so' failed
make[1]: *** [librosie.so] Error 1
make[1]: Leaving directory '/opt/rosie/ffi/librosie'
Makefile:76: recipe for target 'linux' failed
make: *** [linux] Error 2
############
## Arch ##
############
[subzidion@lodestone ~]$ docker run -i -t --entrypoint /bin/bash rpl-arch
[root@7412b0512e08 /]# cd /opt/rosie/ffi/librosie/
[root@7412b0512e08 librosie]# make
make librosie.so SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
make[1]: Entering directory '/opt/rosie/ffi/librosie'
Generating librosie C functions and headers
echo 'api = require "api"; api.write_C_FILES();' | "/opt/rosie/bin/rosie" -D >/dev/null
This is Rosie v0.99j
gcc -o librosie.o -c librosie.c -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX -I/opt/rosie/submodules/lua/include
librosie.c: In function ‘initialize’:
librosie.c:209:14: warning: implicit declaration of function ‘asprintf’ [-Wimplicit-function-declaration]
int n = asprintf(&str_ptr, "Internal error: cannot load api (%s)", lua_tostring(L, -1));
^~~~~~~~
gcc -shared -o librosie.so librosie.o -L/opt/rosie/submodules/lua/src /opt/rosie/submodules/lua/src/liblua.a
/usr/sbin/ld: librosie.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lapi.o): relocation R_X86_64_32 against hidden symbol `luaO_nilobject_' can not be used when making a shared object
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(ldebug.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(ldo.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(ldump.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lgc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lmem.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lobject.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lparser.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lstate.o): relocation R_X86_64_32S against hidden symbol `luaO_nilobject_' can not be used when making a shared object
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lstring.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(ltable.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(ltm.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lundump.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lvm.o): relocation R_X86_64_32 against hidden symbol `luaO_nilobject_' can not be used when making a shared object
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lauxlib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(linit.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lcode.o): relocation R_X86_64_32S against hidden symbol `luaP_opmodes' can not be used when making a shared object
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(llex.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lbaselib.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lbitlib.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lcorolib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(ldblib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(liolib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lmathlib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(loslib.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lstrlib.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(ltablib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(lutf8lib.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: /opt/rosie/submodules/lua/src/liblua.a(loadlib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/sbin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:55: librosie.so] Error 1
make[1]: Leaving directory '/opt/rosie/ffi/librosie'
make: *** [Makefile:76: linux] Error 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment