Message ID | 58294107fad727dfc01e76ca23a47ab08a1ef9ea.1669368933.git.baruch@tkos.co.il |
---|---|
State | Accepted |
Headers | show |
Series | package/dash: fix static with shared build | expand |
On Fri, 25 Nov 2022 11:35:33 +0200 Baruch Siach via buildroot <buildroot@buildroot.org> wrote: > When BR2_SHARED_STATIC_LIBS is enabled we pass both --enable-static and > --enable-shared to configure. dash configure.ac only looks for > --enable-static to make the build static. But when linking against > libedit pkg-config only returns dynamic linking dependencies, so the > indirect ncurses dependency in not mentioned. The end result is that > libedit can't find ncurses symbols on link. > > BR2_SHARED_STATIC_LIBS only makes sense for libraries, not executable > binaries. Pass --disable-static unless BR2_STATIC_LIBS is enabled for > static only build. > > Fixes: > http://autobuild.buildroot.net/results/137d39cc5ec436759a2fde3f26ce5633e0ad6c2e/ > http://autobuild.buildroot.net/results/55a38e0e45212bf7403d9ccb626c9422e3affe72/ > http://autobuild.buildroot.net/results/8f109f1a04a6a2ff6d8c4c920e499fbaec3f72b9/ > > Signed-off-by: Baruch Siach <baruch@tkos.co.il> > --- > package/dash/dash.mk | 4 ++++ > 1 file changed, 4 insertions(+) Applied to master, thanks. Thomas
>>>>> "Baruch" == Baruch Siach via buildroot <buildroot@buildroot.org> writes: > When BR2_SHARED_STATIC_LIBS is enabled we pass both --enable-static and > --enable-shared to configure. dash configure.ac only looks for > --enable-static to make the build static. But when linking against > libedit pkg-config only returns dynamic linking dependencies, so the > indirect ncurses dependency in not mentioned. The end result is that > libedit can't find ncurses symbols on link. > BR2_SHARED_STATIC_LIBS only makes sense for libraries, not executable > binaries. Pass --disable-static unless BR2_STATIC_LIBS is enabled for > static only build. > Fixes: > http://autobuild.buildroot.net/results/137d39cc5ec436759a2fde3f26ce5633e0ad6c2e/ > http://autobuild.buildroot.net/results/55a38e0e45212bf7403d9ccb626c9422e3affe72/ > http://autobuild.buildroot.net/results/8f109f1a04a6a2ff6d8c4c920e499fbaec3f72b9/ > Signed-off-by: Baruch Siach <baruch@tkos.co.il> Committed to 2022.08.x and 2022.02.x, thanks.
diff --git a/package/dash/dash.mk b/package/dash/dash.mk index fed3a995511c..6efc71e5684e 100644 --- a/package/dash/dash.mk +++ b/package/dash/dash.mk @@ -27,6 +27,10 @@ else DASH_CONF_OPTS += --without-libedit endif +ifeq ($(BR2_STATIC_LIBS),) +DASH_CONF_OPTS += --disable-static +endif + define DASH_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 -D $(@D)/src/dash $(TARGET_DIR)/bin/dash endef
When BR2_SHARED_STATIC_LIBS is enabled we pass both --enable-static and --enable-shared to configure. dash configure.ac only looks for --enable-static to make the build static. But when linking against libedit pkg-config only returns dynamic linking dependencies, so the indirect ncurses dependency in not mentioned. The end result is that libedit can't find ncurses symbols on link. BR2_SHARED_STATIC_LIBS only makes sense for libraries, not executable binaries. Pass --disable-static unless BR2_STATIC_LIBS is enabled for static only build. Fixes: http://autobuild.buildroot.net/results/137d39cc5ec436759a2fde3f26ce5633e0ad6c2e/ http://autobuild.buildroot.net/results/55a38e0e45212bf7403d9ccb626c9422e3affe72/ http://autobuild.buildroot.net/results/8f109f1a04a6a2ff6d8c4c920e499fbaec3f72b9/ Signed-off-by: Baruch Siach <baruch@tkos.co.il> --- package/dash/dash.mk | 4 ++++ 1 file changed, 4 insertions(+)