9647c3c5e9
The ncftp build process tries to build and run a small program called ccdv to beautify the build process output. If it manages to build and run it, then it uses it. Unfortunately, this doesn't work well when the target architecture is close to the host architecture, but not exactly the same. Because both architectures are close to each other, the test run of ccdv succeeds, but real use of ccdv during ncftp build process causes an Illegal instruction issue. This for example happens with the CodeSourcery AMD64 toolchain, on a build machine running an i7-4600U, and has been detected in the autobuilders since the CodeSourcery AMD64 toolchain was upgraded at the end of January: http://autobuild.buildroot.net/?reason=ncftp-3.2.6 The issue was also reported by Christopher Arguin back in July 2016: http://lists.busybox.net/pipermail/buildroot/2016-July/168026.html and at the time, we identified that simply disabling the ccdv tool, by passing --disable-ccdv, was enough to solve the issue. But Christopher never submitted the patch, so the problem remained unfixed. Therefore, we pass --disable-ccdv to the configure script, which fixes: http://autobuild.buildroot.net/results/6eadad0e879ca70bb07b13b4196d42c64b11699f/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
55 lines
1.5 KiB
Makefile
55 lines
1.5 KiB
Makefile
################################################################################
|
|
#
|
|
# ncftp
|
|
#
|
|
################################################################################
|
|
|
|
NCFTP_VERSION = 3.2.6
|
|
NCFTP_SOURCE = ncftp-$(NCFTP_VERSION)-src.tar.xz
|
|
NCFTP_SITE = ftp://ftp.ncftp.com/ncftp
|
|
NCFTP_TARGET_BINS = ncftp
|
|
NCFTP_LICENSE = Clarified Artistic License
|
|
NCFTP_LICENSE_FILES = doc/LICENSE.txt
|
|
|
|
NCFTP_DEPENDENCIES = host-autoconf
|
|
NCFTP_CONF_OPTS = --disable-ccdv
|
|
|
|
# The bundled configure script is generated by autoconf 2.13 and doesn't
|
|
# detect cross-compilation correctly. Therefore, we have to regenerate it.
|
|
# We need to pass -I because of the non-standard m4 directory name, and
|
|
# none of the other autotools are used, so the below is the easiest.
|
|
define NCFTP_RUN_AUTOCONF
|
|
(cd $(@D); $(HOST_DIR)/usr/bin/autoconf -I$(@D)/autoconf_local/)
|
|
endef
|
|
NCFTP_PRE_CONFIGURE_HOOKS += NCFTP_RUN_AUTOCONF
|
|
|
|
ifeq ($(BR2_PACKAGE_NCFTP_GET),y)
|
|
NCFTP_TARGET_BINS += ncftpget
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_NCFTP_PUT),y)
|
|
NCFTP_TARGET_BINS += ncftpput
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_NCFTP_LS),y)
|
|
NCFTP_TARGET_BINS += ncftpls
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_NCFTP_BATCH),y)
|
|
NCFTP_TARGET_BINS += ncftpbatch
|
|
NCFTP_INSTALL_NCFTP_BATCH = \
|
|
ln -sf /usr/bin/ncftpbatch $(TARGET_DIR)/usr/bin/ncftpspooler
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_NCFTP_BOOKMARKS),y)
|
|
NCFTP_TARGET_BINS += ncftpbookmarks
|
|
NCFTP_DEPENDENCIES += ncurses
|
|
endif
|
|
|
|
define NCFTP_INSTALL_TARGET_CMDS
|
|
$(INSTALL) -m 0755 $(addprefix $(NCFTP_DIR)/bin/, $(NCFTP_TARGET_BINS)) $(TARGET_DIR)/usr/bin
|
|
$(NCFTP_INSTALL_NCFTP_BATCH)
|
|
endef
|
|
|
|
$(eval $(autotools-package))
|