The gw6c package fails to compile for me on my ARM testbed. It fails to find a truckload of uClibc++ symbols (seems like it does not find any). The uClibc++ linker options seem to be present, however. I was unable to fix this properly.
The following patch removes the uClibc++ dependency. It compiles properly with this applied. However, does somebody have an idea why it is unable to find uClibc++ symbols? Index: patches/100-no-uclibcxx.patch =================================================================== --- patches/100-no-uclibcxx.patch (revision 0) +++ patches/100-no-uclibcxx.patch (revision 0) @@ -0,0 +1,29 @@ +--- + gw6c/src/gw6c/platform/openwrt/Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- gw6c-5.0.orig/gw6c/src/gw6c/platform/openwrt/Makefile ++++ gw6c-5.0/gw6c/src/gw6c/platform/openwrt/Makefile +@@ -14,11 +14,11 @@ include ../../Mk/mk-$(target).mk + OBJDIR=../../objs + OBJ=$(OBJDIR)/tsp_local.o $(OBJDIR)/tsp_tun.o + OBJLINK=$(OBJDIR)/*.o +-EXTRALIBS=-nodefaultlibs -luClibc++ -lc -lgcc -lpthread -lgw6cconfig -lgw6cmessaging ++EXTRALIBS=-lpthread -lgw6cconfig -lgw6cmessaging + BIN=../../bin + TSPC=gw6c + +-CFLAGS=-g -Wall -I../../include -I../../platform/$(target) ++CFLAGS=-Wall -I../../include -I../../platform/$(target) + + all: $(OBJ) $(wildcard $(OBJLINK)) $(BIN)/$(TSPC) + +@@ -28,7 +28,7 @@ $(OBJDIR)/tsp_tun.o:tsp_tun.c + $(CC) $(CFLAGS) -c tsp_tun.c -o $(OBJDIR)/tsp_tun.o $(DEFINES) + + $(BIN)/$(TSPC): $(OBJ) $(wildcard $(OBJLINK)) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $(BIN)/$(TSPC) $(OBJLINK) $(EXTRALIBS) ++ $(LINKER) $(CFLAGS) $(LDFLAGS) -o $(BIN)/$(TSPC) $(OBJLINK) $(EXTRALIBS) + + clean: + rm -f $(OBJDIR)/*.o $(BIN)/$(TSPC) Index: Makefile =================================================================== --- Makefile (revision 23416) +++ Makefile (working copy) @@ -15,7 +15,7 @@ define Package/gw6c SECTION:=ipv6 CATEGORY:=IPv6 - DEPENDS:=+libpthread +ip +kmod-tun +kmod-ipv6 +uclibcxx +radvd + DEPENDS:=+libpthread +ip +kmod-tun +kmod-ipv6 +radvd TITLE:=IPv6 tunnel client software URL:=http://www.go6.net endef @@ -30,12 +30,17 @@ $(INSTALL_DIR) $(PKG_BUILD_DIR) bzcat $(DL_DIR)/$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | $(TAR) -C $(PKG_BUILD_DIR) -xvf - $(CP) $(PKG_BUILD_DIR)/gw6c/src/gw6c-config/gw6cconfig/gw6c_c_wrapper.h $(PKG_BUILD_DIR)/gw6c/src/gw6c/include + $(call Build/Patch) endef +EXTRA_CFLAGS:=\ + -include $(TOOLCHAIN_DIR)/include/stdlib.h \ + -include $(TOOLCHAIN_DIR)/include/string.h + GW6C_OPTS:= \ - C_COMPILER="$(TARGET_CC) -c -DNO_STDLIBCXX" \ - COMPILER="$(TARGET_CROSS)g++ -c -DNO_STDLIBCXX" \ - CPP_FLAGS="$(TARGET_CFLAGS) -fno-builtin -nostdinc++ -I. -Wall -DNDEBUG -I$(STAGING_DIR)/usr/include/uClibc++ $(TARGET_CPPFLAGS)" \ + C_COMPILER="$(TARGET_CC) -c" \ + COMPILER="$(TARGET_CROSS)g++ -c" \ + CPP_FLAGS="$(TARGET_CFLAGS) -I. -Wall -DNDEBUG $(TARGET_CPPFLAGS) $(EXTRA_CFLAGS)" \ RANLIB="$(TARGET_CROSS)ranlib" \ ARCHIVER="$(TARGET_CROSS)ar" \ C_LINKER="$(TARGET_CC)" \ @@ -50,11 +55,14 @@ $(GW6C_OPTS) $(MAKE) -C $(PKG_BUILD_DIR)/gw6c/src/gw6c \ CC="$(TARGET_CC)" \ - CFLAGS="$(TARGET_CFLAGS) -fno-builtin -Wall -I$(PKG_BUILD_DIR)/gw6c/src/gw6c/include \ - -I$(PKG_BUILD_DIR)/gw6c/src/gw6c/platform/openwrt -I$(PKG_BUILD_DIR)/gw6c/src/gw6c" \ + LINKER="$(TARGET_CROSS)g++" \ + CFLAGS="$(TARGET_CFLAGS) -Wall $(EXTRA_CFLAGS) \ + -I$(PKG_BUILD_DIR)/gw6c/src/gw6c/include \ + -I$(PKG_BUILD_DIR)/gw6c/src/gw6c/platform/openwrt \ + -I$(PKG_BUILD_DIR)/gw6c/src/gw6c" \ LDFLAGS="-L$(PKG_BUILD_DIR)/gw6c/src/gw6c/gw6cconfig \ -L$(PKG_BUILD_DIR)/gw6c/src/gw6c/gw6cmessaging \ - $(TARGET_LDFLAGS) -nodefaultlibs -luClibc++ $(LIBGCC_S)" \ + $(TARGET_LDFLAGS)" \ target="openwrt" \ installdir="$(PKG_INSTALL_DIR)" endef -- Greetings Michael. _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel