Woops I meant
$ ./autogen.sh $ ./configure On Wed, Nov 30, 2016 at 4:31 PM, Alberto Leiva <ydah...@gmail.com> wrote: > Well, I'm going to risk looking like a complete dumb bag by admitting that > I've always wondered why argp doesn't seem to need to be linked. Perhaps we > should anyway. > > Yes, from your build log, it does look like it ignores EXTRA_FLAGS. > Autoconf is the one normally supposed to take care of the -l<whatever>s. > Don't know if you've tried this: Open usr/configure.ac and add > > AC_SEARCH_LIBS([argp_parse], [argp]) > > , preferably along the other AC_SEARCH_LIBS. If autoconf realizes the > function does not exist, it should append -largp I suppose. > > That does seem to want to do something, but since I don't need it, it > becomes a no-op in my system: > > $ ./autoconf.sh > $ ./configure > ... > checking for pow... no > checking for library containing pow... -lm > checking for library containing pthread_create... -lpthread > checking for library containing argp_parse... none required <---- This > ... > > Perhaps it will do something useful in yours? > > You might want to send a pull request if it works. > > > On Wed, Nov 30, 2016 at 3:23 PM, Dan Lüdtke <m...@danrl.com> wrote: > >> Hi, >> >> I am working on a Jool package for LEDE and I am having trouble building >> the user space binaries for Jool SIIT/NAT64. It is missing `argp` AFAIK. >> >> > ../common/jool-jool.o: In function `main': >> > jool.c:(.text.startup+0x89): undefined reference to `argp_parse' >> > collect2: error: ld returned 1 exit status >> > Makefile:504: recipe for target 'jool' failed >> > make[6]: *** [jool] Error 1 >> >> However, my build depends on argp-standalone and I also added argp to the >> EXTRA_CFLAGS (and out of desperation also to EXTRA_LDFLAGS). >> >> This affects the toolchain using musl. If the toolchain uses glibc the >> packet builds just fine. >> >> Can someone please help me spot the mistake? >> I am also not very confident that I understood how the LEDE build system >> invokes ./configure and automake, any hints there are appreciated, too. >> >> Cheers! >> >> Dan >> >> Build Log: https://paste.fedoraproject.org/494383/14805388/ >> Makefile: https://paste.fedoraproject.org/494385/05389191/ >> >> >> ==Build log== >> Also here: https://paste.fedoraproject.org/494383/14805388/ >> >> x86_64-openwrt-linux-musl-gcc -DPACKAGE_NAME=\"Jool\" >> -DPACKAGE_TARNAME=\"jool\" -DPACKAGE_VERSION=\"3.5.1\" >> -DPACKAGE_STRING=\"Jool\ 3.5.1\" -DPACKAGE_BUGREPORT=\"j...@nic.mx\" >> -DPACKAGE_URL=\"\" -DPACKAGE=\"jool\" -DVERSION=\"3.5.1\" -DSTDC_HEADERS=1 >> -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 >> -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 >> -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_STDLIB_H=1 >> -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE__BOOL=1 -DHAVE_INET_NTOA=1 >> -DHAVE_MEMSET=1 -DHAVE_STRCASECMP=1 -DHAVE_STRTOL=1 -I. -Wall -O2 >> -I./../../include -I/home/danrl/lede/nat64/sourc >> e/staging_dir/target-x86_64_musl-1.1.15/usr/include/libnl3 -MT >> ../common/target/jool-session.o -MD -MP -MF >> ../common/target/.deps/jool-session.Tpo -c -o >> ../common/target/jool-session.o `test -f '../common/target/session.c' || >> echo './'`../common/target/session.c >> mv -f ../common/target/.deps/jool-session.Tpo >> ../common/target/.deps/jool-session.Po >> x86_64-openwrt-linux-musl-gcc -Wall -O2 -I./../../include >> -I/home/danrl/lede/nat64/source/staging_dir/target-x86_64_ >> musl-1.1.15/usr/include/libnl3 -o jool ../../common/netlink/jool-config.o >> ../../common/stateful/jool-xlat.o ../common/jool-cJSON.o >> ../common/jool-dns.o ../common/jool-file.o ../common/jool-jool.o >> ../common/jool-netlink2.o ../common/jool-str_utils.o >> ../common/argp/jool-options.o ../common/nl/jool-buffer.o >> ../common/target/jool-bib.o ../common/target/jool-eam.o >> ../common/target/jool-global.o ../common/target/jool-instance.o >> ../common/target/jool-joold.o ../common/target/jool-json.o >> ../common/target/jool-log_time.o ../common/target/jool-pool.o >> ../common/target/jool-pool4.o ../common/target/jool-pool6.o >> ../common/target/jool-session.o -L/home/danrl/lede/nat64/sourc >> e/staging_dir/target-x86_64_musl-1.1.15/usr/lib -lnl-genl-3 -lnl-3 >> -lpthread -lm >> ../common/jool-jool.o: In function `main': >> jool.c:(.text.startup+0x89): undefined reference to `argp_parse' >> collect2: error: ld returned 1 exit status >> Makefile:504: recipe for target 'jool' failed >> make[6]: *** [jool] Error 1 >> make[6]: Leaving directory '/home/danrl/lede/nat64/source >> /build_dir/target-x86_64_musl-1.1.15/jool-a37b795993c59fb246 >> e93ada49d0ead0775daa69/usr/stateful' >> Makefile:345: recipe for target 'all-recursive' failed >> make[5]: *** [all-recursive] Error 1 >> make[5]: Leaving directory '/home/danrl/lede/nat64/source >> /build_dir/target-x86_64_musl-1.1.15/jool-a37b795993c59fb246 >> e93ada49d0ead0775daa69/usr' >> Makefile:124: recipe for target '/home/danrl/lede/nat64/source >> /build_dir/target-x86_64_musl-1.1.15/jool-a37b795993c59fb246e93ada49d0ead0775daa69/.built' >> failed >> make[4]: *** [/home/danrl/lede/nat64/source/build_dir/target-x86_64_musl- >> 1.1.15/jool-a37b795993c59fb246e93ada49d0ead0775daa69/.built] Error 2 >> make[4]: Leaving directory '/home/danrl/lede/nat64/source >> /feeds/sixfw/net/jool' >> package/Makefile:127: recipe for target 'package/feeds/sixfw/jool/compile' >> failed >> make[3]: *** [package/feeds/sixfw/jool/compile] Error 2 >> make[3]: Leaving directory '/home/danrl/lede/nat64/source' >> package/Makefile:124: recipe for target '/home/danrl/lede/nat64/source >> /staging_dir/target-x86_64_musl-1.1.15/stamp/.package_compile' failed >> make[2]: *** [/home/danrl/lede/nat64/source/staging_dir/target-x86_64_ >> musl-1.1.15/stamp/.package_compile] Error 2 >> make[2]: Leaving directory '/home/danrl/lede/nat64/source' >> /home/danrl/lede/nat64/source/include/toplevel.mk:194: recipe for target >> 'world' failed >> make[1]: *** [world] Error 2 >> make[1]: Leaving directory '/home/danrl/lede/nat64/source' >> Makefile:29: recipe for target 'verbose' failed >> make: *** [verbose] Error 2 >> >> >> ==Makefile== >> Also here: https://paste.fedoraproject.org/494385/05389191/ >> >> # >> # Copyright (C) 2016 Dan Luedtke <m...@danrl.com> >> # >> # This is free software, licensed under the GNU General Public License v2. >> # See /LICENSE for more information. >> >> include $(TOPDIR)/rules.mk >> >> PKG_NAME:=jool >> PKG_VERSION:=3.5.1 >> PKG_RELEASE:=1 >> >> PKG_LICENSE:=GPL-3.0 >> PKG_LICENSE_FILES:=COPYING >> >> PKG_SOURCE_PROTO:=git >> PKG_SOURCE_URL:=https://github.com/sixfw/Jool.git >> PKG_SOURCE_VERSION:=a37b795993c59fb246e93ada49d0ead0775daa69 >> PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION) >> PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz >> PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR) >> PKG_BUILD_PARALLEL:=1 >> PKG_BUILD_DEPENDS:=+argp-standalone >> PKG_AUTOMAKE_PATHS:=usr >> PKG_FIXUP:=autoreconf >> MAKE_PATH:=usr >> >> # does not work >> #EXTRA_CFLAGS:=-largp-standalone >> #EXTRA_LDFLAGS:=-largp-standalone >> >> # does not work either >> EXTRA_CFLAGS:=-largp >> EXTRA_LDFLAGS:=-largp >> >> include $(INCLUDE_DIR)/kernel.mk >> include $(INCLUDE_DIR)/package.mk >> >> define Package/jool/Default >> SECTION:=net >> CATEGORY:=Network >> URL:=https://www.jool.mx >> MAINTAINER:=Dan Luedtke <m...@danrl.com> >> endef >> >> define Package/jool/Default/description >> Jool is an Open Source SIIT and NAT64 for Linux. >> endef >> >> define Package/jool >> $(call Package/jool/Default) >> TITLE:=Jool meta-package >> DEPENDS:=+kmod-jool +jool-tools >> endef >> >> define Package/jool/description >> $(call Package/jool/Default/description) >> endef >> >> include $(INCLUDE_DIR)/kernel-defaults.mk >> include $(INCLUDE_DIR)/package-defaults.mk >> >> define KernelPackage/jool >> SECTION:=kernel >> CATEGORY:=Kernel modules >> SUBMENU:=Network Support >> TITLE:=Jool kernel module >> DEPENDS:= \ >> @IPV6 \ >> +kmod-crypto-md5 \ >> +kmod-nf-conntrack \ >> +kmod-nf-conntrack6 >> FILES:= \ >> $(PKG_BUILD_DIR)/mod/stateful/jool.$(LINUX_KMOD_SUFFIX) \ >> $(PKG_BUILD_DIR)/mod/stateless/jool_siit.$(LINUX_KMOD_ >> SUFFIX) >> endef >> >> define KernelPackage/jool/description >> $(call Package/jool/Default/description) >> >> This package provides the kernel module for Jool. >> endef >> >> define Package/jool-tools >> $(call Package/jool/Default) >> TITLE:=Jool userspace control programs >> DEPENDS:=+libnl +ethtool >> endef >> >> define Package/jool-tools/description >> $(call Package/jool/Default/description) >> >> This package provides the userspace control programs for Jool. >> endef >> >> define Package/jool-tools/install >> $(INSTALL_DIR) $(1)/usr/sbin/ >> $(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateful/jool >> $(1)/usr/sbin/ >> $(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateless/jool_siit >> $(1)/usr/sbin/ >> endef >> >> define Build/Configure >> ( cd $(PKG_BUILD_DIR)/usr; ./configure ) >> endef >> >> define Build/Compile >> $(MAKE) -C "$(LINUX_DIR)" \ >> KERNEL_DIR="$(LINUX_DIR)" \ >> ARCH="$(LINUX_KARCH)" \ >> CROSS_COMPILE="$(TARGET_CROSS)" \ >> SUBDIRS="$(PKG_BUILD_DIR)/mod/stateful" \ >> V="$(V)" \ >> modules >> $(MAKE) -C "$(LINUX_DIR)" \ >> KERNEL_DIR="$(LINUX_DIR)" \ >> ARCH="$(LINUX_KARCH)" \ >> CROSS_COMPILE="$(TARGET_CROSS)" \ >> SUBDIRS="$(PKG_BUILD_DIR)/mod/stateless" \ >> V="$(V)" \ >> modules >> $(call Build/Compile/Default) >> endef >> >> $(eval $(call BuildPackage,jool)) >> $(eval $(call KernelPackage,jool)) >> $(eval $(call BuildPackage,jool-tools)) >> >> _______________________________________________ >> Jool-list mailing list >> Jool-list@nic.mx >> https://mail-lists.nic.mx/listas/listinfo/jool-list >> > >
_______________________________________________ Jool-list mailing list Jool-list@nic.mx https://mail-lists.nic.mx/listas/listinfo/jool-list