From: Kai Kang <[email protected]>

Hi Khem,

I am updating networkmanager to 1.20. But I meet a problem with musl
that "error: redefinition of 'struct ethhdr'". I find a patch for kernel
which is created in Jan 2018. The musl part has been merged in musl:

commit b583c5d3b4cc2c54c68eef5eb7855ecfacee8bfc
Author: Hauke Mehrtens <[email protected]>
Date:   Sat Jan 6 23:32:52 2018 +0100

    add additional uapi guards for Linux kernel header files
    
    With Linux kernel 4.16 it will be possible to guard more parts of the
    Linux header files from a libc. Make use of this in musl to guard all
    the structures and other definitions from the Linux header files which
    are also defined by the header files provided by musl. This will make
    it possible to compile source files which include both the libc
    headers and the kernel userspace headers.
    
    This extends the definitions done in commit 04983f227238 ("make
    netinet/in.h suppress clashing definitions from kernel headers")

But the kernel part doesn't exist in current kernel source.
It should not be networkmanager specified.

Do you have any suggestion to fix this error? Thanks.


PS: detailed error messages:

x86_64-poky-linux-musl-gcc -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse 
-fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security 
-Werror=format-security 
--sysroot=/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot
 -Isrc/25a6634@@NetworkManager@sta -Isrc -I../NetworkManager-1.20.0/src 
-Ilibnm-core -I../NetworkManager-1.20.0/libnm-core -I. 
-I../NetworkManager-1.20.0/ -Ishared -I../NetworkManager-1.20.0/shared 
-I../NetworkManager-1.20.0/shared/systemd/sd-adapt-shared 
-I../NetworkManager-1.20.0/shared/systemd/src/basic 
-I../NetworkManager-1.20.0/shared/systemd/src/shared 
-I/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot/usr/include/gio-unix-2.0
 
-I/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot/usr/include/glib-2.0
 -I/home/kkang/buildarea/
 
222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot/usr/lib/glib-2.0/include
 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu11 
-fdata-sections -ffunction-sections -O2 -g -feliminate-unused-debug-types 
-fmacro-prefix-map=/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0=/usr/src/debug/networkmanager/1.20.0-r0
 
-fdebug-prefix-map=/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0=/usr/src/debug/networkmanager/1.20.0-r0
 
-fdebug-prefix-map=/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot=
 
-fdebug-prefix-map=/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot-native=
 -DRTLD_DEEPBIND=0 -fPIC -pthread -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 
-DGLIB_VERS
 ION_MAX_ALLOWED=GLIB_VERSION_2_40 
-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_DAEMON -MD -MQ 
'src/25a6634@@NetworkManager@sta/devices_nm-device.c.o' -MF 
'src/25a6634@@NetworkManager@sta/devices_nm-device.c.o.d' -o 
'src/25a6634@@NetworkManager@sta/devices_nm-device.c.o' -c 
../NetworkManager-1.20.0/src/devices/nm-device.c                                
                             
In file included from 
/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot/usr/include/net/ethernet.h:10,
                 from 
../NetworkManager-1.20.0/src/systemd/src/systemd/sd-dhcp-client.h:23,
                 from ../NetworkManager-1.20.0/src/systemd/nm-sd.h:21,
                 from ../NetworkManager-1.20.0/src/devices/nm-device.c:76:
/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot/usr/include/netinet/if_ether.h:111:8:
 error: redefinition of 'struct ethhdr'
  111 | struct ethhdr {
      |        ^~~~~~
In file included from ../NetworkManager-1.20.0/libnm-core/nm-utils.h:32,
                 from 
../NetworkManager-1.20.0/libnm-core/nm-setting-ip-config.h:29,
                 from ../NetworkManager-1.20.0/src/NetworkManagerUtils.h:26,
                 from ../NetworkManager-1.20.0/src/devices/nm-device.h:31,
                 from ../NetworkManager-1.20.0/src/devices/nm-device.c:23:
/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot/usr/include/linux/if_ether.h:167:8:
 note: originally defined here
  167 | struct ethhdr {
      |        ^~~~~~
In file included from 
/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot/usr/include/netinet/if_ether.h:118,
                 from 
/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot/usr/include/net/ethernet.h:10,
                 from 
../NetworkManager-1.20.0/src/systemd/src/systemd/sd-dhcp-client.h:23,
                 from ../NetworkManager-1.20.0/src/systemd/nm-sd.h:21,
                 from ../NetworkManager-1.20.0/src/devices/nm-device.c:76:
/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot/usr/include/net/if_arp.h:22:8:
 error: redefinition of 'struct arphdr'
   22 | struct arphdr {
      |        ^~~~~~
In file included from ../NetworkManager-1.20.0/src/devices/nm-device.c:34:
/home/kkang/buildarea/222-Yocto/build-xfce-x86-64/tmp/work/core2-64-poky-linux-musl/networkmanager/1.20.0-r0/recipe-sysroot/usr/include/linux/if_arp.h:144:8:
 note: originally defined here
  144 | struct arphdr {
      |        ^~~~~~


Regards,
Kai




Kai Kang (1):
  networkmanager: 1.18.2 -> 1.20.0

 ...e.ac-Fix-pkgconfig-sysroot-locations.patch |  22 ---
 ...ttings-settings-property-documentati.patch |  71 ---------
 ...on.build-pkgconfig-sysroot-locations.patch |  23 +++
 ...eate-settings-property-documentation.patch | 146 ++++++++++++++++++
 ...Fix-build-with-musl-systemd-specific.patch |  10 +-
 .../musl/0002-Fix-build-with-musl.patch       |  12 +-
 .../musl/0003-Fix-mrand48_r-with-musl.patch   |  47 ++++++
 ...ger_1.18.2.bb => networkmanager_1.20.0.bb} |  72 +++++----
 8 files changed, 262 insertions(+), 141 deletions(-)
 delete mode 100644 
meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
 delete mode 100644 
meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch
 create mode 100644 
meta-networking/recipes-connectivity/networkmanager/networkmanager/fix-meson.build-pkgconfig-sysroot-locations.patch
 create mode 100644 
meta-networking/recipes-connectivity/networkmanager/networkmanager/meson-do-not-create-settings-property-documentation.patch
 create mode 100644 
meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-Fix-mrand48_r-with-musl.patch
 rename 
meta-networking/recipes-connectivity/networkmanager/{networkmanager_1.18.2.bb 
=> networkmanager_1.20.0.bb} (62%)

-- 
2.20.0

-- 
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to