Skip to contentSkip to conversation

sudo: fix static linking with openldap having openssl support

PATCH New Vicente Olivert Riera 3 participants 3 messages May 11, 2017 – May 15, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sudo: fix static linking with openldap having openssl support

If we are building sudo statically and openldap was linked with openssl, then when we link sudo with openldap we need to specify the openssl libs, otherwise it will fail with "undefined reference" errors.

Fixes:
http://autobuild.buildroot.net/results/ebb/ebbb4c3138b5023a0c8bd938db1932a25ba5b6fb/
http://autobuild.buildroot.net/results/58e/58ee4fddea85f0c79b26582b04a573258e27eb47/
http://autobuild.buildroot.net/results/051/05151c4ef7f0b3702a6cd5e6df4888d826a37431/
http://autobuild.buildroot.net/results/b1d/b1dfae81985daee106700191fcb82387833c2e3f/
http://autobuild.buildroot.net/results/5b4/5b42e8505856156389d480d0da19f6982cf120d8/
http://autobuild.buildroot.net/results/30a/30a76190428f902f03bcf54ba9f1f4f4377c6fc9/
http://autobuild.buildroot.net/results/e8c/e8c6bdc314b9a8d5de303633a3abd7b7e44beb2e/
http://autobuild.buildroot.net/results/483/4830c69cc6a62080e1516f0d9009c2ba619c23c1/

---
 package/sudo/sudo.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/sudo/sudo.mk +7 -0
index 0fcd740..56f83ea 100644
@@ -40,6 +40,13 @@ endif
 ifeq ($(BR2_PACKAGE_OPENLDAP),y)
 SUDO_DEPENDENCIES += openldap
 SUDO_CONF_OPTS += --with-ldap
+# If we are building sudo statically and openldap was linked with openssl, then
+# when we link sudo with openldap we need to specify the openssl libs, otherwise
+# it will fail with "undefined reference" errors.
+ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_OPENSSL),yy)
+SUDO_DEPENDENCIES += host-pkgconf
+SUDO_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`"
+endif
 else
 SUDO_CONF_OPTS += --without-ldap
 endif
Signature · 1 line
2.10.2
#1 lore raw

PATCH 1/1 sudo: fix static linking with openldap having openssl support

Hello,

Quoted 14 lines · Vicente Olivert Riera

If we are building sudo statically and openldap was linked with openssl, then when we link sudo with openldap we need to specify the openssl libs, otherwise it will fail with "undefined reference" errors.

Fixes:
http://autobuild.buildroot.net/results/ebb/ebbb4c3138b5023a0c8bd938db1932a25ba5b6fb/
http://autobuild.buildroot.net/results/58e/58ee4fddea85f0c79b26582b04a573258e27eb47/
http://autobuild.buildroot.net/results/051/05151c4ef7f0b3702a6cd5e6df4888d826a37431/
http://autobuild.buildroot.net/results/b1d/b1dfae81985daee106700191fcb82387833c2e3f/
http://autobuild.buildroot.net/results/5b4/5b42e8505856156389d480d0da19f6982cf120d8/
http://autobuild.buildroot.net/results/30a/30a76190428f902f03bcf54ba9f1f4f4377c6fc9/
http://autobuild.buildroot.net/results/e8c/e8c6bdc314b9a8d5de303633a3abd7b7e44beb2e/
http://autobuild.buildroot.net/results/483/4830c69cc6a62080e1516f0d9009c2ba619c23c1/

Quoted 4 lines
---
 package/sudo/sudo.mk | 7 +++++++
 1 file changed, 7 insertions(+)

I hate those solutions, but openldap doesn't install a .pc file, so sudo doesn't use pkg-config to discover ldap. It would be quite some work to fix both openldap and sudo.

So: I've applied your patch to master. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 sudo: fix static linking with openldap having openssl support

In reply to Vicente Olivert Riera
Quoted 26 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

If we are building sudo statically and openldap was linked with openssl, then when we link sudo with openldap we need to specify the openssl libs, otherwise it will fail with "undefined reference" errors.

Fixes:
http://autobuild.buildroot.net/results/ebb/ebbb4c3138b5023a0c8bd938db1932a25ba5b6fb/
http://autobuild.buildroot.net/results/58e/58ee4fddea85f0c79b26582b04a573258e27eb47/
http://autobuild.buildroot.net/results/051/05151c4ef7f0b3702a6cd5e6df4888d826a37431/
http://autobuild.buildroot.net/results/b1d/b1dfae81985daee106700191fcb82387833c2e3f/
http://autobuild.buildroot.net/results/5b4/5b42e8505856156389d480d0da19f6982cf120d8/
http://autobuild.buildroot.net/results/30a/30a76190428f902f03bcf54ba9f1f4f4377c6fc9/
http://autobuild.buildroot.net/results/e8c/e8c6bdc314b9a8d5de303633a3abd7b7e44beb2e/
http://autobuild.buildroot.net/results/483/4830c69cc6a62080e1516f0d9009c2ba619c23c1/

---
 package/sudo/sudo.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/sudo/sudo.mk +0 -0
index 0fcd740..56f83ea 100644

package/sudo/sudo.mk endif · line 49

Quoted 10 lines
package/sudo/sudo.mk +7 -0
@@ -40,6 +40,13 @@ endif
 ifeq ($(BR2_PACKAGE_OPENLDAP),y)
 SUDO_DEPENDENCIES += openldap
 SUDO_CONF_OPTS += --with-ldap
+# If we are building sudo statically and openldap was linked with openssl, then
+# when we link sudo with openldap we need to specify the openssl libs, otherwise
+# it will fail with "undefined reference" errors.
+ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_OPENSSL),yy)
+SUDO_DEPENDENCIES += host-pkgconf
+SUDO_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`"
+endif

Committed to 2017.02.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard