mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-10-21 08:11:47 -09:00
icu: fix static linking by adding -lstdc++ to pkg-config
The ICU library requires C++ standard library when linking statically. Without this, applications using pkg-config --libs --static icu-uc (e.g. xmlcatalog in libxml2) will fail to link with undefined reference errors to C++ symbols. Extend the existing fix for static linking to also add -lstdc++ to the Libs field, not only Libs.private, when building in static-only mode (ENABLE_SHARED is not set). Fixes: https://autobuild.buildroot.org/results/80c/80ce2a1b8ec356dc13e3c51474fe4cac9cbe3cd6 Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com> Acked-by: Andreas Ziegler <br025@umbiko.net> [Arnout: - Remove checkpackageignore entry. - Improve patch comment.] Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
This commit is contained in:
committed by
Arnout Vandecappelle
parent
213e01ae9c
commit
66754d7f50
@@ -402,7 +402,6 @@ package/i2pd/S99i2pd Shellcheck lib_sysv.Indent lib_sysv.Variables
|
||||
package/i7z/0001-fix-build-with-gcc-10.patch lib_patch.Upstream
|
||||
package/icu/0001-dont-build-static-dynamic-twice.patch lib_patch.Upstream
|
||||
package/icu/0002-link-icudata-as-data-only.patch lib_patch.Upstream
|
||||
package/icu/0003-fix-static-linking-with-icu-uc.patch lib_patch.Upstream
|
||||
package/ifmetric/0001-Fix-issue-NETLINK-Packet-too-small-or-truncated-92-1.patch lib_patch.Upstream
|
||||
package/ifplugd/0001-cross.patch lib_patch.Sob lib_patch.Upstream
|
||||
package/ifplugd/0002-fix-headers.patch lib_patch.Sob lib_patch.Upstream
|
||||
|
||||
@@ -6,21 +6,28 @@ Subject: [PATCH] fix static linking with icu-uc
|
||||
During static linking with a C application and libicuuc.a,
|
||||
-lstdc++ is required.
|
||||
|
||||
Add -lstdc++ in Libs.private of icu-uc.pc.
|
||||
Add -lstdc++ in icu-uc.pc. When building a static library only (ENABLE_SHARED is
|
||||
false) add it to Libs, else add it to Libs.private.
|
||||
|
||||
Fixes:
|
||||
http://autobuild.buildroot.net/results/210/2107f9dfb39eeb6559fb4271c7af8b39aef521ca/
|
||||
|
||||
Upstream: Not submitted (old patch)
|
||||
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
|
||||
Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com>
|
||||
---
|
||||
source/Makefile.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
source/Makefile.in | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff -git icu.orig/source/Makefile.in icu/source/Makefile.in
|
||||
--- icu.orig/source/Makefile.in 2025-03-13 19:31:23.000000000 +0100
|
||||
+++ icu/source/Makefile.in 2025-09-22 08:56:36.791792784 +0200
|
||||
@@ -279,7 +279,7 @@
|
||||
@echo "Libs:" '-L$${libdir}' "${ICULIBS_UC}" "${ICULIBS_DT}" '$${baselibs}' >> $@
|
||||
@@ -276,10 +276,10 @@
|
||||
@echo "Description: $(PACKAGE_ICU_DESCRIPTION): Common and Data libraries" >> $@
|
||||
@echo "Name: $(PACKAGE)-uc" >> $@
|
||||
ifeq ($(ENABLE_SHARED),)
|
||||
- @echo "Libs:" '-L$${libdir}' "${ICULIBS_UC}" "${ICULIBS_DT}" '$${baselibs}' >> $@
|
||||
+ @echo "Libs:" '-L$${libdir}' "${ICULIBS_UC}" "${ICULIBS_DT}" '$${baselibs}' -lstdc++ >> $@
|
||||
else
|
||||
@echo "Libs:" '-L$${libdir}' "${ICULIBS_UC}" >> $@
|
||||
- @echo "Libs.private:" "${ICULIBS_DT}" '$${baselibs}' >> $@
|
||||
|
||||
Reference in New Issue
Block a user