Created
December 8, 2018 22:58
-
-
Save neheb/5f4ddcfa370952808dca4842f5bd3dc5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- a/net/aircrack-ng/Makefile | |
+++ b/net/aircrack-ng/Makefile | |
@@ -33,6 +33,7 @@ PKG_CONFIG_DEPENDS:= \ | |
CONFIG_AIRCRACK_NG_HWLOC \ | |
CONFIG_AIRCRACK_NG_SQLITE3 | |
+include $(INCLUDE_DIR)/uclibc++.mk | |
include $(INCLUDE_DIR)/package.mk | |
define Package/aircrack-ng | |
@@ -91,7 +92,6 @@ ifeq ($(CONFIG_AIRCRACK_NG_OPTIMIZE_SPEED),y) | |
endif | |
TARGET_LDFLAGS+= \ | |
- -static-libstdc++ \ | |
-Wl,--gc-sections | |
define Package/aircrack-ng/install |
Nix that. I screwed up my .config
Does g++-uc
always, correctly, re-escape parameters passed onto g++? It seems like it's eating arguments.
No, it doesn't; in looking at: ./staging_dir/toolchain-mips_24kc_gcc-7.3.0_musl/bin/g++-uc
--- a/bin/Makefile 2018-12-10 13:14:47.824789823 -0700
+++ b/bin/Makefile 2018-12-10 13:16:25.602465991 -0700
@@ -24,7 +24,7 @@
echo 'WRAPPER_INCLIB="Y"' >> $@
echo 'while [ -n "$$1" ]' >> $@
echo 'do' >> $@
- echo ' WRAPPER_OPTIONS="$$WRAPPER_OPTIONS $$1"' >> $@
+ echo ' WRAPPER_OPTIONS="$$WRAPPER_OPTIONS '"'"'$$1'"'"'"' >> $@
echo ' if [ "$$1" = "-c" -o "$$1" = "-E" -o "$$1" = "-S" -o "$$1" = "-MF" ]' >> $@
echo ' then' >> $@
echo ' WRAPPER_INCLIB="N"' >> $@
@@ -45,5 +45,5 @@
ifeq ($(DODEBUG),y)
echo 'echo $(CXX) $(GEN_CFLAGS) $(GEN_CXXFLAGS) $(EH_CXXFLAGS) $$WRAPPER_INCLUDEDIR $$WRAPPER_OPTIONS' >> $@
endif
- echo 'exec $(CXX) $(GEN_CFLAGS) $(GEN_CXXFLAGS) $(EH_CXXFLAGS) $$WRAPPER_INCLUDEDIR $$WRAPPER_OPTIONS' >> $@
+ echo 'eval $(CXX) $(GEN_CFLAGS) $(GEN_CXXFLAGS) $(EH_CXXFLAGS) "$$WRAPPER_INCLUDEDIR" "$$WRAPPER_OPTIONS"' >> $@
chmod 755 $@
@neheb The above patch (maybe not a great one, though) does solve the parameter needing escaped issue with compilation.
That patch goes into package/libs/uclibc++/patches/060-Bugfix-escape-arguments.patch
.
The final patch, once the fix for the uClibc++ wrapper is applied, is:
--- /home/jbenden/Source/us.benden/Aircrack_Project/openwrt-packages/net/aircrack-ng/Makefile 2018-12-10 14:16:18.377453653 -0700
+++ feeds/packages/net/aircrack-ng/Makefile 2018-12-10 14:15:02.548224743 -0700
@@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=aircrack-ng
-PKG_VERSION:=1.5.2
+PKG_VERSION:=1.5
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/aircrack-ng/aircrack-ng/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=7e03f9828495a3a1a781ad79e41805971bf7347c092df852820232bca866a19b
+PKG_HASH:=dd90d1261dab794695dd1923ae7967a51dd06eb572028923e8cc9f1c7ef755cc
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
@@ -33,6 +33,7 @@
CONFIG_AIRCRACK_NG_HWLOC \
CONFIG_AIRCRACK_NG_SQLITE3
+include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
define Package/aircrack-ng
@@ -42,7 +43,7 @@
DEPENDS += +AIRCRACK_NG_OPENSSL:libopenssl
DEPENDS += +AIRCRACK_NG_GCRYPT:libgcrypt
DEPENDS += +AIRCRACK_NG_SQLITE3:libsqlite3
- DEPENDS += +libnl-core +libnl-genl +zlib
+ DEPENDS += +uclibcxx +libnl-core +libnl-genl +zlib
TITLE:=WLAN tools (without airmon-ng) for breaking 802.11 WEP/WPA keys
URL:=https://www.aircrack-ng.org/
SUBMENU:=wireless
@@ -91,7 +92,6 @@
endif
TARGET_LDFLAGS+= \
- -static-libstdc++ \
-Wl,--gc-sections
define Package/aircrack-ng/install
No need for that depends. uclibc++.mk handles it.
Actually the depends needs to be switched to $(CXX_DEPENDS). OpenWrt allows to select between libstdcpp and uclibc++ globally.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I couldn't reproduce a problem. I am using the latest master on both openwrt and packages, for mips_24kc_musl. I applied the changes above to the package too, using 1.5 aircrack-ng and not 1.4, as is in packages currently.