memcached / memcached/memcached

memcached build with proxy fails on oracle linux 8

Open
#1,202 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs review/testing proxy
Dominant language
C
Stars
14.3k
Forks
3.3k
PR merge metrics
No merged PRs in 30d

Description

DO NOT SUBMIT SECURITY REPORTS HERE

If you have a security vulnerability, please report it to the maintainers
privately
. You will be able to file your bug and claim credit once we have a
fix implemented.

Describe the bug
I am trying to rpmbuild memcached 1.6.35 on ol8 with proxy, but build is failing. Please help me how to resolve the error.

To Reproduce
From the memcached-1.6.35.tar.gz archive I edit the memcached.spec file and add %bcond_with proxy and the %build section parameter %{?with_proxy:--enable-proxy} \. Then I try to build an rpm package: rpmbuild -bb --with proxy memcached.spec and the build is interrupted by:

/bin/ld: vendor/lua/src/liblua.a(lapi.o): relocation R_X86_64_32S against internal symbol `luaT_typenames_' can not be used when making a PIE object
/bin/ld: vendor/lua/src/liblua.a(ldebug.o): relocation R_X86_64_32S against internal symbol `luaP_opmodes' can not be used when making a PIE object
/bin/ld: vendor/lua/src/liblua.a(ldo.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(ldump.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lfunc.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lgc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lmem.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lobject.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lparser.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lstate.o): relocation R_X86_64_32S against symbol `lua_newstate' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lstring.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(ltable.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(ltm.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lundump.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lvm.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lauxlib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(linit.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lcode.o): relocation R_X86_64_32S against internal symbol `luaP_opmodes' can not be used when making a PIE object
/bin/ld: vendor/lua/src/liblua.a(llex.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lbaselib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lcorolib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(ldblib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(liolib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lmathlib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(loadlib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(loslib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lstrlib.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(ltablib.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/lua/src/liblua.a(lutf8lib.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: vendor/mcmc/mcmc.o: relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:823: memcached] Error 1
make[2]: *** Waiting for unfinished jobs....

System Information

  • OS/Distro: "Oracle Linux Server"
  • Version of OS/distro: "8.10"
  • Version of memcached: 1.6.35
  • Hardware detail: KVM machine: AMD EPYC-Milan Processor - 2CPU, memory - 4GB

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with memcached.spec and its %build section, then inspect the vendor/lua and vendor/mcmc build inputs associated with the failure at Makefile:823. Reproduce with rpmbuild -bb --with proxy memcached.spec on Oracle Linux 8.10 and determine what build configuration is needed for the proxy-enabled package to link successfully. Done means the RPM build completes without the reported PIE relocation errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux, lua
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.