1. compile wpa_supplicant
#tar zxvf wpa_supplicant_8_O_8.x_rtw_r33457.20190507.tar.gz
#cd wpa_supplicant_8_O_8.x_rtw_r33457.20190507
#cd wpa_supplicant
#make

2.If compile fail like this:
...
...
../src/drivers/driver_nl80211.c:19:31: fatal error: netlink/genl/genl.h: No such file
#include <netlink/genl/genl.h>
^
compilation terminated.
make: *** [../src/drivers/driver_nl80211.o] Error 1


2.1 install apt-file, pkg-config and openssl
#sudo apt-get install apt-file
#sudo apt-file update

#sudo apt-get install pkg-config

#sudo apt-get install openssl
#sudo apt-get install libssl-dev

2.2 Try to find which library contains the missing file by:
#sudo apt-file search /netlink/genl/genl.h
you may see:
libnl-3-dev: /usr/include/libnl3/netlink/genl/genl.h

2.3 If lost libnl, install the library:
#sudo apt-get install libnl-dev
or
#sudo apt-get install libnl-3-dev

Base on your libnl version to modify .config

For libnl-1.x:
LIBNL=<path to install the libnl>
CFLAGS += -I$(LIBNL)/include/libnl
LIBS += -L$(LIBNL)/lib/x86_64-linux-gnu(<= for x64)
LIBS += -L$(LIBNL)/lib/i386-linux-gnu(<= for x86)

For libnl-3.x:
LIBNL=/usr
CFLAGS += -I$(LIBNL)/include/libnl3
LIBS += -L$(LIBNL)/lib/x86_64-linux-gnu(<= for x64)
LIBS += -L$(LIBNL)/lib/i386-linux-gnu(<= for x86)
CONFIG_LIBNL20=y
CONFIG_LIBNL32=y

2.3.2 modify SAE settings in .config
CONFIG_TLS=openssl
CONFIG_IEEE80211W=y
CONFIG_SAE=y

2.4 make soft link for libnl-genl-3.so:

2.4.1 find libnl-genl.so file
#cd /
#sudo find . | grep libnl-genl-3* => ex. /usr/lib/x86_64-linux-gnu/libnl-genl-3.so.200.22.0

2.4.2 make softlink
#cd /usr/lib/x86_64-linux-gnu(<= for x64) or
#cd /usr/lib/i386-linux-gnu(<= for x86)
#sudo ln -s /usr/lib/x86_64-linux-gnu/libnl-genl-3.so.200.22.0 libnl-genl-3.so

2.5 compile again

2.5.1 go back to wpa_supplicant folder
#cd /home/wpa_supplicant_8_O_8.x_rtw_r33457.20190507/wpa_supplicant <= /home means the folder you place wpa_supplicant_8_O_8.x_rtw_r33457.20190507.tar.gz
2.5.2 make
#make

3. start wpa_supplicant:
3.1 startup interface
#iwconfig => 
	ex.wlx542aa217a161  IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr=2347 B   Fragment thr:off
          Encryption key:off
          Power Management:off
#ifconfig wlx542aa217a161 up

3.2 copy wpa_0_8.conf into wpa_supplicant
#cp ../../wpa_0_8.conf ./

3.3 confirm network settings
check wpa_0_8.conf end network settings as following:
#network={
#	ssid="842_WPA3_2G"
#	key_mgmt=SAE
#	ieee80211w=2
#	pairwise=CCMP
#	psk="12345678"
#}
remove all # and fill correct ssid/keymgmt/ieee80211w/pairwise/psk

3.4 start wpa_suplicant with debug mode
#sudo service network-manager stop
#sudo service wpa_supplicant stop
#sudo ./wpa_supplicant –Dnl80211 -i wlx542aa217a161 -c wpa_0_8.conf -dd


notice:
If want to using original network manager, please close terminal or press ctrl + c and then turn on network manager:
#sudo service network-manager start