Commit 8e9aaea0 authored by Ryan Tomayko's avatar Ryan Tomayko Committed by Sasha Goldshtein

Fix ld error due to debian/ubuntu -pie default

Fixes #782. Solution taken verbatim from @jepio here:

https://github.com/iovisor/bcc/issues/782#issuecomment-259075010

I ran into the same issue attempting to compile from source on
a fresh Ubuntu 16.10/Yakkety host:

Linking C executable bcc-lua
/usr/bin/ld: libluajit-5.1.a(ljamalg.o): relocation R_X86_64_32S
    against `.rodata' can not be used when making a shared object;
    recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output

Build succeeded after patch was applied.
parent e09564df
...@@ -24,6 +24,7 @@ if (LUAJIT_LIBRARIES AND LUAJIT) ...@@ -24,6 +24,7 @@ if (LUAJIT_LIBRARIES AND LUAJIT)
set_target_properties(bcc-lua PROPERTIES LINKER_LANGUAGE C) set_target_properties(bcc-lua PROPERTIES LINKER_LANGUAGE C)
target_link_libraries(bcc-lua ${LUAJIT_LIBRARIES}) target_link_libraries(bcc-lua ${LUAJIT_LIBRARIES})
target_link_libraries(bcc-lua -Wl,--whole-archive bcc-static -Wl,--no-whole-archive) target_link_libraries(bcc-lua -Wl,--whole-archive bcc-static -Wl,--no-whole-archive)
target_link_libraries(bcc-lua -no-pie)
install(TARGETS bcc-lua RUNTIME DESTINATION bin) install(TARGETS bcc-lua RUNTIME DESTINATION bin)
endif() endif()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment