Skip to contentSkip to conversation

sane-backends: disable static configuration

PATCH New Frank Hunleth 2 participants 2 messages Nov 30, 2016

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 sane-backends: disable static configuration

While sane-backends can be compiled statically, it requires selection of a subset of scanner backends. Without this, all backends are compiled and link errors such as the following are generated:

../backend/.libs/libsane.a(libepsonds_la-epsonds.o):(.bss+0xc): multiple definition of source_list' ../backend/.libs/libsane.a(libepson2_la-epson2.o):(.data+0x40): first defined here ../backend/.libs/libsane.a(libepsonds_la-epsonds.o):(.data+0x10): multiple definition of mode_params' ../backend/.libs/libsane.a(libepson2_la-epson2.o):(.data+0x0): first defined here
collect2: error: ld returned 1 exit status

Buildroot currently doesn't allow fine grained selection of backends, so this disables static builds.

Fixes:

http://autobuild.buildroot.net/results/89c/89c6e4ec1596def74e72eb071ef4bf0f1a7cc9f8/
http://autobuild.buildroot.net/results/92a/92a54c99a9ba918ece4c56d7beb985729bee700b/
http://autobuild.buildroot.net/results/1b9/1b9eac5303dfed638063f3b18dfff5571a2c4231/
http://autobuild.buildroot.net/results/366/366979d0bd21dc2bf7f0336b9653ef3fd4e11123/

---
Changes v1 -> v2:
- Fixed missing "depends BR2_USE_MMU" for comment. Thanks to Baruch Siach for catching it.

 package/sane-backends/Config.in | 5 +++++
 1 file changed, 5 insertions(+)
package/sane-backends/Config.in +5 -0
index 8156e85..3e5a27f 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_SANE_BACKENDS
 	bool "sane-backends"
 	depends on BR2_USE_MMU # fork()
+	depends on !BR2_STATIC_LIBS
 	help
 	  SANE - Scanner Access Now Easy
 
@@ -9,3 +10,7 @@ config BR2_PACKAGE_SANE_BACKENDS
 	  Backends are included automatically based on the libraries that have
 	  been selected: libusb, jpeg, tiff, avahi (with dbus and libglib2),
 	  and netsnmp.
+
+comment "sane-backends needs a toolchain w/ dynamic library"
+	depends on BR2_USE_MMU
+	depends on BR2_STATIC_LIBS

--
2.7.4

#1 lore raw

PATCH v2 1/1 sane-backends: disable static configuration

Hello,

Quoted 20 lines · Frank Hunleth

While sane-backends can be compiled statically, it requires selection of a subset of scanner backends. Without this, all backends are compiled and link errors such as the following are generated:

../backend/.libs/libsane.a(libepsonds_la-epsonds.o):(.bss+0xc): multiple definition of source_list' ../backend/.libs/libsane.a(libepson2_la-epson2.o):(.data+0x40): first defined here ../backend/.libs/libsane.a(libepsonds_la-epsonds.o):(.data+0x10): multiple definition of mode_params' ../backend/.libs/libsane.a(libepson2_la-epson2.o):(.data+0x0): first defined here
collect2: error: ld returned 1 exit status

Buildroot currently doesn't allow fine grained selection of backends, so this disables static builds.

Fixes:

http://autobuild.buildroot.net/results/89c/89c6e4ec1596def74e72eb071ef4bf0f1a7cc9f8/
http://autobuild.buildroot.net/results/92a/92a54c99a9ba918ece4c56d7beb985729bee700b/
http://autobuild.buildroot.net/results/1b9/1b9eac5303dfed638063f3b18dfff5571a2c4231/
http://autobuild.buildroot.net/results/366/366979d0bd21dc2bf7f0336b9653ef3fd4e11123/

Quoted 5 lines

---
Changes v1 -> v2:
- Fixed missing "depends BR2_USE_MMU" for comment. Thanks to Baruch Siach for catching it.

I also agree that sane-backends in statically linked configurations is not very useful, so I've applied to master. Thanks!

Thomas

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