git: e15dd2107834 - main - databases/redis: Mark PIE_UNSAFE
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 08 Jul 2025 09:53:56 UTC
The branch main has been updated by yasu:
URL: https://cgit.FreeBSD.org/ports/commit/?id=e15dd2107834cb5d0ec751db79bd75f8cb19b098
commit e15dd2107834cb5d0ec751db79bd75f8cb19b098
Author: Yasuhiro Kimura <yasu@FreeBSD.org>
AuthorDate: 2025-07-08 09:45:59 +0000
Commit: Yasuhiro Kimura <yasu@FreeBSD.org>
CommitDate: 2025-07-08 09:53:00 +0000
databases/redis: Mark PIE_UNSAFE
If "WITH_PIE=yes" is set in make.conf, build fails as following.
cc -lpthread -lm -lexecinfo -pie -pthread -o redis-server threads_mngr.o adlist.o quicklist.o ae.o anet.o dict.o ebuckets.o eventnotifier.o iothread.o mstr.o kvstore.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o cluster_legacy.o crc16.o endianconv.o slowlog.o eval.o bio.o rio.o rand.o memtest.o syscheck.o crcspeed.o crccombine.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o lolwut8.o acl.o tracking.o socket.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o resp_parser.o call_reply.o script_l
ua.o script.o functions.o function_lua.o commands.o strl.o connection.o unix.o logreqres.o hnsw.o vset.o ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a ../deps/fpconv/libfpconv.a ../deps/fast_float/libfast_float.a -lm -lstdc++ ../deps/hiredis/libhiredis_ssl.a -lssl -lcrypto
ld: error: relocation R_X86_64_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(.eh_frame+0x2E82D) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(.eh_frame+0x2E861) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(.eh_frame+0x2E891) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against local symbol; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::detail::parse_infnan<double, char>(char const*, char const*, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against local symbol; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::detail::parse_infnan<double, char>(char const*, char const*, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32 cannot be used against symbol 'fast_float::binary_format_lookup_tables<double, void>::powers_of_ten'; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against symbol 'fast_float::binary_format_lookup_tables<double, void>::max_mantissa'; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against symbol 'fast_float::powers_template<void>::power_of_five_128'; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against symbol 'fast_float::powers_template<void>::power_of_five_128'; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against symbol 'fast_float::powers_template<void>::power_of_five_128'; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against symbol 'fast_float::powers_template<void>::power_of_five_128'; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against symbol 'fast_float::powers_template<void>::power_of_five_128'; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against symbol 'fast_float::powers_template<void>::power_of_five_128'; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against symbol 'fast_float::binary_format_lookup_tables<double, void>::powers_of_ten'; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(fast_float::from_chars_result_t<char> fast_float::from_chars_advanced<double, char>(fast_float::parsed_number_string_t<char>&, double&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against local symbol; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(void fast_float::parse_mantissa<char>(fast_float::bigint&, fast_float::parsed_number_string_t<char>&, unsigned long, unsigned long&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against local symbol; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(void fast_float::parse_mantissa<char>(fast_float::bigint&, fast_float::parsed_number_string_t<char>&, unsigned long, unsigned long&)) in archive ../deps/fast_float/libfast_float.a
ld: error: relocation R_X86_64_32S cannot be used against local symbol; recompile with -fPIC
>>> defined in ../deps/fast_float/libfast_float.a(fast_float_strtod.o)
>>> referenced by fast_float_strtod.cpp
>>> fast_float_strtod.o:(void fast_float::parse_mantissa<char>(fast_float::bigint&, fast_float::parsed_number_string_t<char>&, unsigned long, unsigned long&)) in archive ../deps/fast_float/libfast_float.a
ld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [Makefile:426: redis-server] Error 1
gmake[1]: *** Waiting for unfinished jobs....
gmake[1]: Leaving directory '/wrkdirs/usr/ports/databases/redis/work/redis-8.0.3/src'
gmake: *** [Makefile:11: all] Error 2
PR: 286911
Reported by: netchild
---
databases/redis/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/databases/redis/Makefile b/databases/redis/Makefile
index ac5208afc093..fbfcdeaa7f98 100644
--- a/databases/redis/Makefile
+++ b/databases/redis/Makefile
@@ -23,6 +23,8 @@ MAKE_ENV= OPTIMIZATION= \
V=yo
LDFLAGS+= -lpthread -lm -lexecinfo
+PIE_UNSAFE= ld: error: relocation R_X86_64_32 cannot be used against local \
+ symbol; recompile with -fPIC
CONFLICTS_INSTALL= redis-devel redis62 redis72 redis74