You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
make build-all-dynamic
gives error: /usr/bin/ld: /home/user/Code/nginx_upstream_module/third_party/yajl/build/yajl-2.1.0/lib/libyajl_s.a(yajl.c.o): relocation R_X86_64_32 against '.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
It appears to me that the yajl library is statically linked into our dynamic library but the Makefile for yajl compiles without the needed -fPIC flag. The -fPIC flag is used only when the yajl library is dynamically linked.
My work around is to specify the -fPIC flag for all compiles of yajl.
Change in ./third_party/yajl/CMakeLists.txt: SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
to: SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
The text was updated successfully, but these errors were encountered:
make build-all-dynamic
gives error:
/usr/bin/ld: /home/user/Code/nginx_upstream_module/third_party/yajl/build/yajl-2.1.0/lib/libyajl_s.a(yajl.c.o): relocation R_X86_64_32 against '.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
It appears to me that the yajl library is statically linked into our dynamic library but the Makefile for yajl compiles without the needed -fPIC flag. The -fPIC flag is used only when the yajl library is dynamically linked.
My work around is to specify the -fPIC flag for all compiles of yajl.
Change in ./third_party/yajl/CMakeLists.txt:
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
to:
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
The text was updated successfully, but these errors were encountered: