私はaskubuntuから得たいくつかの方法を試しましたが、問題は持続します。
#sudo dkms install rtlwifi-new/0.6
Kernel preparation unnecessary for this kernel. Skipping...
Building module: cleaning build area...(bad exit status: 2)
make -j4 KERNELRELEASE=3.10.0-1062.1.2.el7.x86_64 -C /lib/modules/3.10.0-1062.1.2.el7.x86_64/build M=/var/lib/dkms/rtlwifi-new/0.6/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 3.10.0-1062.1.2.el7.x86_64 (x86_64)
Consult /var/lib/dkms/rtlwifi-new/0.6/build/make.log for more information.
それでもこのエラーが発生します!どうすればいいですか?
カーネルを 5.3 にアップデートすると、ログイン画面が表示される前にロードが中断されました。
CentOS 7.7を使用しています。
これはログファイルです。私はこの記事を読んでから何も理解していませんでした。私は初心者です。
DKMS make.log for rtlwifi-new-0.6 for kernel 3.10.0-1062.1.2.el7.x86_64 (x86_64)
Tue Oct 8 09:42:47 IST 2019
make: Entering directory `/usr/src/kernels/3.10.0-1062.1.2.el7.x86_64'
LD /var/lib/dkms/rtlwifi-new/0.6/build/built-in.o
CC [M] /var/lib/dkms/rtlwifi-new/0.6/build/base.o
CC [M] /var/lib/dkms/rtlwifi-new/0.6/build/cam.o
CC [M] /var/lib/dkms/rtlwifi-new/0.6/build/core.o
CC [M] /var/lib/dkms/rtlwifi-new/0.6/build/debug.o
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/base.c:26:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:67:21: error: redefinition of ‘skb_put_data’
static inline void *skb_put_data(struct sk_buff *skb, const void *data,
^
In file included from include/linux/if_ether.h:23:0,
from include/linux/etherdevice.h:25,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:33,
from /var/lib/dkms/rtlwifi-new/0.6/build/base.c:26:
include/linux/skbuff.h:1990:21: note: previous definition of ‘skb_put_data’ was here
static inline void *skb_put_data(struct sk_buff *skb, const void *data,
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/base.c:26:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:77:21: error: redefinition of ‘skb_put_zero’
static inline void *skb_put_zero(struct sk_buff *skb, unsigned int len)
^
In file included from include/linux/if_ether.h:23:0,
from include/linux/etherdevice.h:25,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:33,
from /var/lib/dkms/rtlwifi-new/0.6/build/base.c:26:
include/linux/skbuff.h:1981:21: note: previous definition of ‘skb_put_zero’ was here
static inline void *skb_put_zero(struct sk_buff *skb, unsigned int len)
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/base.c:26:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:96:15: error: conflicting types for ‘time64_t’
typedef __s32 time64_t;
^
In file included from include/linux/time.h:7:0,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/sched.h:17,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:31,
from /var/lib/dkms/rtlwifi-new/0.6/build/base.c:26:
include/linux/time64.h:6:15: note: previous declaration of ‘time64_t’ was here
typedef __s64 time64_t;
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/base.c:26:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:54:27: error: ‘IEEE80211_NUM_BANDS’ undeclared here (not in a function)
#define NUM_NL80211_BANDS IEEE80211_NUM_BANDS
^
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:1708:40: note: in expansion of macro ‘NUM_NL80211_BANDS’
struct ieee80211_supported_band bands[NUM_NL80211_BANDS];
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/cam.c:25:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:67:21: error: redefinition of ‘skb_put_data’
static inline void *skb_put_data(struct sk_buff *skb, const void *data,
^
In file included from include/linux/if_ether.h:23:0,
from include/linux/etherdevice.h:25,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:33,
from /var/lib/dkms/rtlwifi-new/0.6/build/cam.c:25:
include/linux/skbuff.h:1990:21: note: previous definition of ‘skb_put_data’ was here
static inline void *skb_put_data(struct sk_buff *skb, const void *data,
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/cam.c:25:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:77:21: error: redefinition of ‘skb_put_zero’
static inline void *skb_put_zero(struct sk_buff *skb, unsigned int len)
^
In file included from include/linux/if_ether.h:23:0,
from include/linux/etherdevice.h:25,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:33,
from /var/lib/dkms/rtlwifi-new/0.6/build/cam.c:25:
include/linux/skbuff.h:1981:21: note: previous definition of ‘skb_put_zero’ was here
static inline void *skb_put_zero(struct sk_buff *skb, unsigned int len)
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/cam.c:25:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:96:15: error: conflicting types for ‘time64_t’
typedef __s32 time64_t;
^
In file included from include/linux/time.h:7:0,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/sched.h:17,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:31,
from /var/lib/dkms/rtlwifi-new/0.6/build/cam.c:25:
include/linux/time64.h:6:15: note: previous declaration of ‘time64_t’ was here
typedef __s64 time64_t;
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/base.c:33:0:
/var/lib/dkms/rtlwifi-new/0.6/build/pci.h:333:1: error: redefinition of ‘pci_zalloc_consistent’
pci_zalloc_consistent(struct pci_dev *hwdev, size_t size,
^
In file included from include/linux/pci.h:2148:0,
from /var/lib/dkms/rtlwifi-new/0.6/build/pci.h:29,
from /var/lib/dkms/rtlwifi-new/0.6/build/base.c:33:
include/linux/pci-dma-compat.h:29:1: note: previous definition of ‘pci_zalloc_consistent’ was here
pci_zalloc_consistent(struct pci_dev *hwdev, size_t size,
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/debug.c:25:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:67:21: error: redefinition of ‘skb_put_data’
static inline void *skb_put_data(struct sk_buff *skb, const void *data,
^
In file included from include/linux/if_ether.h:23:0,
from include/linux/etherdevice.h:25,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:33,
from /var/lib/dkms/rtlwifi-new/0.6/build/debug.c:25:
include/linux/skbuff.h:1990:21: note: previous definition of ‘skb_put_data’ was here
static inline void *skb_put_data(struct sk_buff *skb, const void *data,
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/debug.c:25:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:77:21: error: redefinition of ‘skb_put_zero’
static inline void *skb_put_zero(struct sk_buff *skb, unsigned int len)
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/cam.c:25:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:54:27: error: ‘IEEE80211_NUM_BANDS’ undeclared here (not in a function)
#define NUM_NL80211_BANDS IEEE80211_NUM_BANDS
^
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:1708:40: note: in expansion of macro ‘NUM_NL80211_BANDS’
struct ieee80211_supported_band bands[NUM_NL80211_BANDS];
^
In file included from include/linux/if_ether.h:23:0,
from include/linux/etherdevice.h:25,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:33,
from /var/lib/dkms/rtlwifi-new/0.6/build/debug.c:25:
include/linux/skbuff.h:1981:21: note: previous definition of ‘skb_put_zero’ was here
static inline void *skb_put_zero(struct sk_buff *skb, unsigned int len)
^
/var/lib/dkms/rtlwifi-new/0.6/build/base.c: In function ‘_rtl_init_mac80211’:
/var/lib/dkms/rtlwifi-new/0.6/build/base.c:532:12: error: incompatible types when assigning to type ‘long unsigned int[1]’ from type ‘int’
hw->flags = IEEE80211_HW_SIGNAL_DBM |
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/debug.c:25:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:96:15: error: conflicting types for ‘time64_t’
typedef __s32 time64_t;
^
In file included from include/linux/time.h:7:0,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/sched.h:17,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:31,
from /var/lib/dkms/rtlwifi-new/0.6/build/debug.c:25:
include/linux/time64.h:6:15: note: previous declaration of ‘time64_t’ was here
typedef __s64 time64_t;
^
/var/lib/dkms/rtlwifi-new/0.6/build/base.c:545:13: error: invalid operands to binary | (have ‘long unsigned int[1]’ and ‘int’)
hw->flags |= IEEE80211_HW_SUPPORTS_PS |
^
/var/lib/dkms/rtlwifi-new/0.6/build/base.c:550:13: error: invalid operands to binary | (have ‘long unsigned int[1]’ and ‘int’)
hw->flags |= IEEE80211_HW_SUPPORTS_PS |
^
/var/lib/dkms/rtlwifi-new/0.6/build/base.c:603:21: error: request for member ‘flags’ in something not a structure or union
hw->wiphy->wowlan.flags = WIPHY_WOWLAN_MAGIC_PKT;
^
/var/lib/dkms/rtlwifi-new/0.6/build/base.c:605:21: error: request for member ‘n_patterns’ in something not a structure or union
hw->wiphy->wowlan.n_patterns =
^
/var/lib/dkms/rtlwifi-new/0.6/build/base.c:607:21: error: request for member ‘pattern_min_len’ in something not a structure or union
hw->wiphy->wowlan.pattern_min_len =
^
/var/lib/dkms/rtlwifi-new/0.6/build/base.c:609:21: error: request for member ‘pattern_max_len’ in something not a structure or union
hw->wiphy->wowlan.pattern_max_len =
^
/var/lib/dkms/rtlwifi-new/0.6/build/base.c: In function ‘rtlwifi_rate_mapping’:
/var/lib/dkms/rtlwifi-new/0.6/build/base.c:1259:7: error: ‘IEEE80211_BAND_2GHZ’ undeclared (first use in this function)
if (IEEE80211_BAND_2GHZ == hw->conf.chandef.chan->band) {
^
/var/lib/dkms/rtlwifi-new/0.6/build/base.c:1259:7: note: each undeclared identifier is reported only once for each function it appears in
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/debug.c:25:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:54:27: error: ‘IEEE80211_NUM_BANDS’ undeclared here (not in a function)
#define NUM_NL80211_BANDS IEEE80211_NUM_BANDS
^
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:1708:40: note: in expansion of macro ‘NUM_NL80211_BANDS’
struct ieee80211_supported_band bands[NUM_NL80211_BANDS];
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/core.c:26:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:67:21: error: redefinition of ‘skb_put_data’
static inline void *skb_put_data(struct sk_buff *skb, const void *data,
^
In file included from include/linux/if_ether.h:23:0,
from include/linux/etherdevice.h:25,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:33,
from /var/lib/dkms/rtlwifi-new/0.6/build/core.c:26:
include/linux/skbuff.h:1990:21: note: previous definition of ‘skb_put_data’ was here
static inline void *skb_put_data(struct sk_buff *skb, const void *data,
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/core.c:26:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:77:21: error: redefinition of ‘skb_put_zero’
static inline void *skb_put_zero(struct sk_buff *skb, unsigned int len)
^
In file included from include/linux/if_ether.h:23:0,
from include/linux/etherdevice.h:25,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:33,
from /var/lib/dkms/rtlwifi-new/0.6/build/core.c:26:
include/linux/skbuff.h:1981:21: note: previous definition of ‘skb_put_zero’ was here
static inline void *skb_put_zero(struct sk_buff *skb, unsigned int len)
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/core.c:26:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:96:15: error: conflicting types for ‘time64_t’
typedef __s32 time64_t;
^
In file included from include/linux/time.h:7:0,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/sched.h:17,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:31,
from /var/lib/dkms/rtlwifi-new/0.6/build/core.c:26:
include/linux/time64.h:6:15: note: previous declaration of ‘time64_t’ was here
typedef __s64 time64_t;
^
make[1]: *** [/var/lib/dkms/rtlwifi-new/0.6/build/cam.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [/var/lib/dkms/rtlwifi-new/0.6/build/debug.o] Error 1
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/core.c:26:0:
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:54:27: error: ‘IEEE80211_NUM_BANDS’ undeclared here (not in a function)
#define NUM_NL80211_BANDS IEEE80211_NUM_BANDS
^
/var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:1708:40: note: in expansion of macro ‘NUM_NL80211_BANDS’
struct ieee80211_supported_band bands[NUM_NL80211_BANDS];
^
make[1]: *** [/var/lib/dkms/rtlwifi-new/0.6/build/base.o] Error 1
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/btcoexist/halbt_precomp.h:36:0,
from /var/lib/dkms/rtlwifi-new/0.6/build/btcoexist/rtl_btc.h:28,
from /var/lib/dkms/rtlwifi-new/0.6/build/core.c:33:
/var/lib/dkms/rtlwifi-new/0.6/build/btcoexist/../pci.h:333:1: error: redefinition of ‘pci_zalloc_consistent’
pci_zalloc_consistent(struct pci_dev *hwdev, size_t size,
^
In file included from include/linux/pci.h:2148:0,
from /var/lib/dkms/rtlwifi-new/0.6/build/btcoexist/../pci.h:29,
from /var/lib/dkms/rtlwifi-new/0.6/build/btcoexist/halbt_precomp.h:36,
from /var/lib/dkms/rtlwifi-new/0.6/build/btcoexist/rtl_btc.h:28,
from /var/lib/dkms/rtlwifi-new/0.6/build/core.c:33:
include/linux/pci-dma-compat.h:29:1: note: previous definition of ‘pci_zalloc_consistent’ was here
pci_zalloc_consistent(struct pci_dev *hwdev, size_t size,
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c: In function ‘_rtl_add_wowlan_patterns’:
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:464:54: warning: initialization from incompatible pointer type [enabled by default]
struct cfg80211_wowlan_trig_pkt_pattern *patterns = wow->patterns;
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:479:3: error: invalid use of undefined type ‘struct cfg80211_wowlan_trig_pkt_pattern’
if (patterns[i].pattern_len < 0 ||
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:479:15: error: dereferencing pointer to incomplete type
if (patterns[i].pattern_len < 0 ||
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:480:7: error: invalid use of undefined type ‘struct cfg80211_wowlan_trig_pkt_pattern’
patterns[i].pattern_len > MAX_WOL_PATTERN_SIZE) {
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:480:15: error: dereferencing pointer to incomplete type
patterns[i].pattern_len > MAX_WOL_PATTERN_SIZE) {
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:485:3: error: invalid use of undefined type ‘struct cfg80211_wowlan_trig_pkt_pattern’
pattern_os = patterns[i].pattern;
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:485:24: error: dereferencing pointer to incomplete type
pattern_os = patterns[i].pattern;
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:486:3: error: invalid use of undefined type ‘struct cfg80211_wowlan_trig_pkt_pattern’
mask_len = DIV_ROUND_UP(patterns[i].pattern_len, 8);
^
In file included from include/linux/kernel.h:16:0,
from include/linux/sched.h:15,
from /var/lib/dkms/rtlwifi-new/0.6/build/wifi.h:31,
from /var/lib/dkms/rtlwifi-new/0.6/build/core.c:26:
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:486:35: error: dereferencing pointer to incomplete type
mask_len = DIV_ROUND_UP(patterns[i].pattern_len, 8);
^
include/uapi/linux/kernel.h:12:40: note: in definition of macro ‘__KERNEL_DIV_ROUND_UP’
#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:486:14: note: in expansion of macro ‘DIV_ROUND_UP’
mask_len = DIV_ROUND_UP(patterns[i].pattern_len, 8);
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:487:3: error: invalid use of undefined type ‘struct cfg80211_wowlan_trig_pkt_pattern’
mask_os = patterns[i].mask;
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:487:21: error: dereferencing pointer to incomplete type
mask_os = patterns[i].mask;
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:490:11: error: invalid use of undefined type ‘struct cfg80211_wowlan_trig_pkt_pattern’
patterns[i].pattern_len);
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:490:19: error: dereferencing pointer to incomplete type
patterns[i].pattern_len);
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:550:3: error: invalid use of undefined type ‘struct cfg80211_wowlan_trig_pkt_pattern’
for (j = 12; j < patterns[i].pattern_len; j++) {
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:550:28: error: dereferencing pointer to incomplete type
for (j = 12; j < patterns[i].pattern_len; j++) {
^
In file included from /var/lib/dkms/rtlwifi-new/0.6/build/core.c:27:0:
/var/lib/dkms/rtlwifi-new/0.6/build/core.c: In function ‘rtl_op_configure_filter’:
/var/lib/dkms/rtlwifi-new/0.6/build/core.h:31:3: error: ‘FIF_PROMISC_IN_BSS’ undeclared (first use in this function)
(FIF_PROMISC_IN_BSS | \
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:862:16: note: in expansion of macro ‘RTL_SUPPORTED_FILTERS’
*new_flags &= RTL_SUPPORTED_FILTERS;
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.h:31:3: note: each undeclared identifier is reported only once for each function it appears in
(FIF_PROMISC_IN_BSS | \
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:862:16: note: in expansion of macro ‘RTL_SUPPORTED_FILTERS’
*new_flags &= RTL_SUPPORTED_FILTERS;
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c: At top level:
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:2272:2: warning: initialization from incompatible pointer type [enabled by default]
.ampdu_action = rtl_op_ampdu_action,
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:2272:2: warning: (near initialization for ‘rtl_ops.ampdu_action’) [enabled by default]
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:2273:2: warning: initialization from incompatible pointer type [enabled by default]
.sw_scan_start = rtl_op_sw_scan_start,
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:2273:2: warning: (near initialization for ‘rtl_ops.sw_scan_start’) [enabled by default]
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:2274:2: warning: initialization from incompatible pointer type [enabled by default]
.sw_scan_complete = rtl_op_sw_scan_complete,
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:2274:2: warning: (near initialization for ‘rtl_ops.sw_scan_complete’) [enabled by default]
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:2278:2: warning: initialization from incompatible pointer type [enabled by default]
.flush = rtl_op_flush,
^
/var/lib/dkms/rtlwifi-new/0.6/build/core.c:2278:2: warning: (near initialization for ‘rtl_ops.flush’) [enabled by default]
make[1]: *** [/var/lib/dkms/rtlwifi-new/0.6/build/core.o] Error 1
make: *** [_module_/var/lib/dkms/rtlwifi-new/0.6/build] Error 2
make: Leaving directory `/usr/src/kernels/3.10.0-1062.1.2.el7.x86_64
答え1
もしそのrtlwifi-new
ドライバーこれ、カーネルバージョン4.2以降でのみサポートされています。
CentOSのデフォルトカーネル(バージョン3.10.x)(多くのバックポートされたパッチを含む)で使用しようとしているので、このドライバパッケージはそのカーネルに比べて新すぎます。 Ubuntuでは問題ありませんが、CentOS 7.xではそうではありません。
基本CentOS 7.7システムで最先端の5.3カーネルを実行しようとすると、いくつかの欠陥があることがわかります。このカーネルの辞書パッケージのバージョンをどこかから入手しましたか?それともソースから直接コンパイルしましたか?
ELRepoパッケージリポジトリには、CentOS 7.xで利用可能な事前パッケージされた5.3カーネルがあります。https://computingforgeeks.com/install-linux-kernel-5-on-centos-7/
独自の5.3カーネルをコンパイルした場合、ハードウェア機能にとって重要なドライバの一部がカーネル構成で選択されていないことを意味する可能性があります。