编译 wpa_supplicant 时发生致命错误。不知道该怎么办

编译 wpa_supplicant 时发生致命错误。不知道该怎么办

我是一个相对的菜鸟。

尝试将 WiFi Direct 添加到旧上网本上的 12.04 安装中。我遵循了以下建议:如何在我的 HP DM1 笔记本电脑上获取 wifi direct(wifi p2p)?

首先,我将 wpa_supplicant-2.3 下载到根目录并解压

myself@myself-AspireOne:~$ tar -xzf wpa_supplicant-2.3.tar.gz
myself@myself-AspireOne:~$ cd wpa_supplicant-2.3/wpa_supplicant

然后我创建了一个名为.配置来自以下信息https://wireless.wiki.kernel.org/en/developers/p2p/howto并开始编译。

myself@myself-AspireOne:~/wpa_supplicant-2.3/wpa_supplicant$ cp wpa_supplicant.conf /etc/wpa_supplicant.conf
cp: cannot create regular file `/etc/wpa_supplicant.conf': Permission denied
myself@myself-AspireOne:~/wpa_supplicant-2.3/wpa_supplicant$ sudo cp wpa_supplicant.conf /etc/wpa_supplicant.conf
[sudo] password for myself: 
myself@myself-AspireOne:~/wpa_supplicant-2.3/wpa_supplicant$ sudo make && make install
  CC  config.c
  CC  notify.c
  CC  bss.c
  CC  eap_register.c
  CC  ../src/utils/common.c
  CC  ../src/utils/wpa_debug.c
  CC  ../src/utils/wpabuf.c
  CC  ../src/utils/os_unix.c
  CC  ../src/utils/eloop.c
  CC  config_file.c
  CC  ../src/rsn_supp/wpa.c
  CC  ../src/rsn_supp/preauth.c
  CC  ../src/rsn_supp/pmksa_cache.c
  CC  ../src/rsn_supp/peerkey.c
  CC  ../src/rsn_supp/wpa_ie.c
  CC  ../src/common/wpa_common.c
  CC  p2p_supplicant.c
  CC  ../src/p2p/p2p.c
  CC  ../src/p2p/p2p_utils.c
  CC  ../src/p2p/p2p_parse.c
  CC  ../src/p2p/p2p_build.c
  CC  ../src/p2p/p2p_go_neg.c
  CC  ../src/p2p/p2p_sd.c
  CC  ../src/p2p/p2p_pd.c
  CC  ../src/p2p/p2p_invitation.c
  CC  ../src/p2p/p2p_dev_disc.c
  CC  ../src/p2p/p2p_group.c
  CC  ../src/ap/p2p_hostapd.c
  CC  ../src/utils/bitfield.c
  CC  ../src/eap_peer/eap_tls.c
  CC  ../src/eap_peer/eap_peap.c
  CC  ../src/eap_common/eap_peap_common.c
  CC  ../src/eap_peer/eap_ttls.c
  CC  ../src/eap_peer/eap_md5.c
  CC  ../src/eap_peer/eap_mschapv2.c
  CC  ../src/eap_peer/mschapv2.c
  CC  ../src/eap_peer/eap_gtc.c
  CC  ../src/eap_peer/eap_otp.c
  CC  ../src/eap_peer/eap_leap.c
  CC  wps_supplicant.c
  CC  ../src/utils/uuid.c
  CC  ../src/eap_peer/eap_wsc.c
  CC  ../src/eap_common/eap_wsc_common.c
  CC  ../src/wps/wps.c
  CC  ../src/wps/wps_common.c
  CC  ../src/wps/wps_attr_parse.c
  CC  ../src/wps/wps_attr_build.c
  CC  ../src/wps/wps_attr_process.c
  CC  ../src/wps/wps_dev_attr.c
  CC  ../src/wps/wps_enrollee.c
  CC  ../src/wps/wps_registrar.c
  CC  ../src/eapol_supp/eapol_supp_sm.c
  CC  ../src/eap_peer/eap.c
  CC  ../src/eap_peer/eap_methods.c
  CC  ap.c
  CC  ../src/ap/hostapd.c
  CC  ../src/ap/wpa_auth_glue.c
  CC  ../src/ap/utils.c
  CC  ../src/ap/authsrv.c
  CC  ../src/ap/ap_config.c
  CC  ../src/utils/ip_addr.c
  CC  ../src/ap/sta_info.c
  CC  ../src/ap/tkip_countermeasures.c
  CC  ../src/ap/ap_mlme.c
  CC  ../src/ap/ieee802_1x.c
  CC  ../src/eapol_auth/eapol_auth_sm.c
  CC  ../src/ap/ieee802_11_auth.c
  CC  ../src/ap/ieee802_11_shared.c
  CC  ../src/ap/drv_callbacks.c
  CC  ../src/ap/ap_drv_ops.c
  CC  ../src/ap/beacon.c
  CC  ../src/ap/eap_user_db.c
  CC  ../src/ap/ctrl_iface_ap.c
  CC  ../src/eap_server/eap_server.c
  CC  ../src/eap_server/eap_server_identity.c
  CC  ../src/eap_server/eap_server_methods.c
  CC  ../src/ap/wmm.c
  CC  ../src/ap/ap_list.c
  CC  ../src/ap/ieee802_11.c
  CC  ../src/ap/hw_features.c
  CC  ../src/ap/dfs.c
  CC  ../src/ap/wps_hostapd.c
  CC  ../src/eap_server/eap_server_wsc.c
  CC  ../src/ap/wpa_auth.c
  CC  ../src/ap/wpa_auth_ie.c
  CC  ../src/ap/pmksa_cache_auth.c
  CC  ../src/ap/peerkey_auth.c
  CC  ../src/crypto/ms_funcs.c

一切进展顺利,直到:编译最终遇到障碍。

  CC  ../src/eap_common/chap.c
  CC  ../src/eap_peer/eap_tls_common.c
../src/crypto/tls_openssl.c:19:25: fatal error: openssl/ssl.h: No such file or directory
compilation terminated.
make: *** [../src/crypto/tls_openssl.o] Error 1

有人能告诉我到底缺少了什么、为什么缺少以及如何修复它吗?使用不需要太多知识的说明。这是我第一次使用 make 命令。

谢谢你帮助新手。

此外,如果 wpa_gui 可以安全使用,有任何建议吗?运行时它会要求输入系统密码。

答案1

我在谷歌上搜索了几个具体错误后,终于可以编译了。你遇到的那个错误fatal error: openssl/ssl.h: No such file or directory compilation terminated.和我解决第一个错误后遇到的那个错误fatal error: netlink/genl/genl.h: No such file or directory compilation terminated。结果是我安装了 libnl1、libssl-dev 和 libnl-dev。使用以下命令安装它们

sudo apt-get install libnl1 libssl-dev libnl-dev

接下来make && make install照常运行

笔记:对于 .config,我使用了存档中的配置文件,只是取消注释了与 WiFi-Direct 相关的行,而不是示例指向的行这里在 Ubuntu 14.04 上编译成功

相关内容