Skip to contentSkip to conversation

dhcpcd: fix build on old toolchains (sa_family_t)

PATCH New Luca Ceresoli 2 participants 6 messages Jan 2, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 dhcpcd: fix build on old toolchains (sa_family_t)

Fixes error such as:
.../sysroot/usr/include/linux/netlink.h:31:2: error: unknown type name 'sa_family_t' .../sysroot/usr/include/linux/netlink.h:31:2: error: expected specifier-qualifier-list before 'sa_family_t'

And autobuild failures:
http://autobuild.buildroot.net/results/d92/d92e7f2af0e64bc40f7b5c9ea081471de98bf8e8/
http://autobuild.buildroot.net/results/e97/e97e980a2f1e0ff4138a6dc03d86ad3ff0973e4a/
http://autobuild.buildroot.net/results/ca3/ca32c4de8b645c96cedb80b6270a792e9601ad84/

---
 ...ix-missing-sa_familiy_t-on-old-toolchains.patch | 35 ++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 package/dhcpcd/0001-Fix-missing-sa_familiy_t-on-old-toolchains.patch
package/dhcpcd/0001-Fix-missing-sa_familiy_t-on-old-toolchains.patch new file +35 -0
new file mode 100644
index 0000000..f518711
@@ -0,0 +1,35 @@
+From da2b6a5180a9620e1011f52143512b69cd518bad Mon Sep 17 00:00:00 2001
+From: Luca Ceresoli <[email protected]>
+Date: Tue, 30 Dec 2014 16:08:05 +0100
+Subject: [PATCH] Fix missing sa_familiy_t on old toolchains
+
+Fixes error such as:
+  .../sysroot/usr/include/linux/netlink.h:31:2: error: unknown type name 'sa_family_t'
+  .../sysroot/usr/include/linux/netlink.h:31:2: error: expected specifier-qualifier-list before 'sa_family_t'
+
+And autobuild failures:
+  http://autobuild.buildroot.net/results/d92/d92e7f2af0e64bc40f7b5c9ea081471de98bf8e8/
+  http://autobuild.buildroot.net/results/e97/e97e980a2f1e0ff4138a6dc03d86ad3ff0973e4a/
+  http://autobuild.buildroot.net/results/ca3/ca32c4de8b645c96cedb80b6270a792e9601ad84/
+
+Signed-off-by: Luca Ceresoli <[email protected]>
+
+---
+ configure | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure b/configure
+index f250d01..93919df 100755
+--- a/configure
++++ b/configure
+@@ -368,6 +368,7 @@ linux*)
+ 	echo "DHCPCD_SRCS+=	if-linux.c" >>$CONFIG_MK
+ 	# for RTM_NEWADDR and friends
+ 	echo "#include <asm/types.h> /* fix broken headers */" >>$CONFIG_H
++	echo "#include <sys/socket.h> /* for sa_family_t on old toolchains */" >>$CONFIG_H
+ 	echo "#include <linux/rtnetlink.h>" >>$CONFIG_H
+ 	;;
+ kfreebsd*)
+-- 
+1.9.1
+
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/2 dhcpcd: fix build on old toolchains (sa_family_t)

Hi Baruch, All,

Quoted 11 lines · Luca Ceresoli

Fixes error such as:
.../sysroot/usr/include/linux/netlink.h:31:2: error: unknown type name 'sa_family_t' .../sysroot/usr/include/linux/netlink.h:31:2: error: expected specifier-qualifier-list before 'sa_family_t'

And autobuild failures:

   http://autobuild.buildroot.net/results/d92/d92e7f2af0e64bc40f7b5c9ea081471de98bf8e8/
   http://autobuild.buildroot.net/results/e97/e97e980a2f1e0ff4138a6dc03d86ad3ff0973e4a/
   http://autobuild.buildroot.net/results/ca3/ca32c4de8b645c96cedb80b6270a792e9601ad84/

Ouch, this should be instead:
Cc: Baruch Siach <[email protected]>

Sorry, that was a silly copy-paste mistake!

Signature · 1 line
Luca
#2 lore raw

PATCH 2/2 Revert "dhcpcd: blacklist Sourcery PowerPC toolchains"

In reply to Luca Ceresoli

This reverts commit dfbfa6ef00ed32127bf01f5b4f525889921c3006 ("dhcpcd: blacklist Sourcery PowerPC toolchains").

Blacklisting those toolchains is not useful anymore, since a patch for dhcpcd 6.6.7 fixed the issue.

---
 package/dhcpcd/Config.in | 2 --
 1 file changed, 2 deletions(-)
package/dhcpcd/Config.in +0 -2
index f2ca099..ca0ad75 100644
@@ -2,8 +2,6 @@ config BR2_PACKAGE_DHCPCD
 	bool "dhcpcd"
 	# No support for AI_ADDRCONFIG
 	depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
-	# bad headers, no sa_family_t in linux/socket.h
-	depends on !(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 || BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009)
 	help
 	  An RFC2131 compliant DHCP client
 
Signature · 1 line
1.9.1
#3 lore raw

PATCH 2/2 Revert "dhcpcd: blacklist Sourcery PowerPC toolchains"

Hi Baruch, All,

Quoted 8 lines · Luca Ceresoli

This reverts commit dfbfa6ef00ed32127bf01f5b4f525889921c3006 ("dhcpcd: blacklist Sourcery PowerPC toolchains").

Blacklisting those toolchains is not useful anymore, since a patch for dhcpcd 6.6.7 fixed the issue.

Ouch, this should be instead:
Cc: Baruch Siach <[email protected]>

Sorry, that was a silly copy-paste mistake!

Signature · 1 line
Luca
#4 lore raw

PATCH 1/2 dhcpcd: fix build on old toolchains (sa_family_t)

In reply to Luca Ceresoli

Dear Luca Ceresoli,

Quoted 11 lines · Luca Ceresoli

Fixes error such as:
.../sysroot/usr/include/linux/netlink.h:31:2: error: unknown type name 'sa_family_t' .../sysroot/usr/include/linux/netlink.h:31:2: error: expected specifier-qualifier-list before 'sa_family_t'

And autobuild failures:
http://autobuild.buildroot.net/results/d92/d92e7f2af0e64bc40f7b5c9ea081471de98bf8e8/
http://autobuild.buildroot.net/results/e97/e97e980a2f1e0ff4138a6dc03d86ad3ff0973e4a/
http://autobuild.buildroot.net/results/ca3/ca32c4de8b645c96cedb80b6270a792e9601ad84/

But if it's actually the toolchain that is broken, should we instead have a patch against the toolchain headers? There are other packages that had similar problems with these toolchains.

Best regards,

Thomas

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

PATCH 1/2 dhcpcd: fix build on old toolchains (sa_family_t)

Hi Thomas,

Quoted 12 lines · Thomas Petazzoni

Dear Luca Ceresoli,

Quoted 9 lines · Luca Ceresoli

Fixes error such as:
.../sysroot/usr/include/linux/netlink.h:31:2: error: unknown type name 'sa_family_t' .../sysroot/usr/include/linux/netlink.h:31:2: error: expected specifier-qualifier-list before 'sa_family_t'

And autobuild failures:

   http://autobuild.buildroot.net/results/d92/d92e7f2af0e64bc40f7b5c9ea081471de98bf8e8/
   http://autobuild.buildroot.net/results/e97/e97e980a2f1e0ff4138a6dc03d86ad3ff0973e4a/
   http://autobuild.buildroot.net/results/ca3/ca32c4de8b645c96cedb80b6270a792e9601ad84/
Quoted 6 lines
Quoted 2 lines

But if it's actually the toolchain that is broken, should we instead have a patch against the toolchain headers? There are other packages that had similar problems with these toolchains.

Honestly I don't know. A few days ago I had the same problem with dhcpcd 6.6.7 and a pretty old custom toolchain. The issue only emerged since dhcpcd 6.6.6 (BWHAHAHA!). Changing toolchain was not an option here, so I came up with this quick fix.

When I saw Baruch's patch today on the list I thought I'd propose my patch. Maybe I was too quick and should have asked before sending...

At least my solution (o workaround, or whatever) is in the archives, and anybody with the same problem can find this workaround until a better solution is available.

Signature · 1 line
Luca