Modify

Opened 7 years ago

Closed 7 years ago

Last modified 4 years ago

#8971 closed defect (fixed)

dropbear 0.53.1 fails to find -lcrypt

Reported by: openwrt-devel@… Owned by: developers
Priority: high Milestone: Barrier Breaker 14.07
Component: packages Version: Trunk
Keywords: dropbear, crypt, linking, compiling Cc:

Description

Darwin, 10.6.6 host, recent update to 0.53.1 causes dropbear compile to fail

$ make -j1 package/dropbear/{clean,compile} V=99
+ mkdir -p /Volumes/OpenWrt/DIR825/trunk/staging_dir/toolchain-mips_r2_gcc-linaro_uClibc-0.9.32
+ cd /Volumes/OpenWrt/DIR825/trunk/staging_dir/toolchain-mips_r2_gcc-linaro_uClibc-0.9.32
+ mkdir -p stamp lib usr/include usr/lib
make[4]: Entering directory `/Volumes/OpenWrt/DIR825/trunk/target/linux'
make[5]: Entering directory `/Volumes/OpenWrt/DIR825/trunk/target/linux/ar71xx'
make[6]: Entering directory `/Volumes/OpenWrt/DIR825/trunk/target/linux/ar71xx/image'
make[6]: Leaving directory `/Volumes/OpenWrt/DIR825/trunk/target/linux/ar71xx/image'
make[5]: Leaving directory `/Volumes/OpenWrt/DIR825/trunk/target/linux/ar71xx'
make[4]: Leaving directory `/Volumes/OpenWrt/DIR825/trunk/target/linux'
Checking 'xgettext'... ok.
make[1]: Entering directory `/Volumes/OpenWrt/DIR825/trunk'
make[2]: Entering directory `/Volumes/OpenWrt/DIR825/trunk/package/dropbear'
rm -f /Volumes/OpenWrt/DIR825/trunk/staging_dir/target-mips_r2_uClibc-0.9.32/stamp/.dropbear_installed
rm -f /Volumes/OpenWrt/DIR825/trunk/bin/ar71xx/packages/dropbear_*
rm -f /Volumes/OpenWrt/DIR825/trunk/bin/ar71xx/packages/dropbearconvert_*
rm -f /Volumes/OpenWrt/DIR825/trunk/staging_dir/target-mips_r2_uClibc-0.9.32/packages/dropbear.list /Volumes/OpenWrt/DIR825/trunk/staging_dir/host/packages/dropbear.list
rm -rf /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1
make[2]: Leaving directory `/Volumes/OpenWrt/DIR825/trunk/package/dropbear'
make[1]: Leaving directory `/Volumes/OpenWrt/DIR825/trunk'
make[1]: Entering directory `/Volumes/OpenWrt/DIR825/trunk'
make[2]: Entering directory `/Volumes/OpenWrt/DIR825/trunk/package/dropbear'
. /Volumes/OpenWrt/DIR825/trunk/include/shell.sh; . /Volumes/OpenWrt/DIR825/trunk/include/shell.sh; gzip -dc /Volumes/OpenWrt/DIR825/trunk/dl/dropbear-0.53.1.tar.gz | trapret 2 /usr/bin/gnutar -C /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1/.. -xf - 

Applying ./patches/100-pubkey_path.patch using plaintext: 
patching file svr-authpubkey.c

Applying ./patches/110-change_user.patch using plaintext: 
patching file svr-chansession.c

Applying ./patches/120-openwrt_options.patch using plaintext: 
patching file options.h

Applying ./patches/130-ssh_ignore_o_and_x_args.patch using plaintext: 
patching file cli-runopts.c

Applying ./patches/150-dbconvert_standalone.patch using plaintext: 
patching file options.h
touch /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1/.prepared_d933f61f3b36d58ab7a7b79e8b05dfd9
/Volumes/OpenWrt/DIR825/trunk/staging_dir/host/bin/sed -i -e 's,^/\* #define PKG_MULTI.*,#define PKG_MULTI,g' /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1/options.h
/Volumes/OpenWrt/DIR825/trunk/staging_dir/host/bin/sed -i -e 's,^#define DO_HOST_LOOKUP,/* & */,g' /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1/options.h
(cd /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1/./; if [ -x ./configure ]; then /opt/local/bin/gfind /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1/ -name config.guess | xargs chmod u+w; /opt/local/bin/gfind /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1/ -name config.guess | xargs -n1 cp /Volumes/OpenWrt/DIR825/trunk/scripts/config.guess; /opt/local/bin/gfind /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1/ -name config.sub | xargs chmod u+w; /opt/local/bin/gfind /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1/ -name config.sub | xargs -n1 cp /Volumes/OpenWrt/DIR825/trunk/scripts/config.sub; AR=mips-openwrt-linux-uclibc-ar AS="mips-openwrt-linux-uclibc-gcc -c -Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time -fhonour-copts -msoft-float -DARGTYPE=3 -ffunction-sections -fdata-sections" LD=mips-openwrt-linux-uclibc-ld NM=mips-openwrt-linux-uclibc-nm CC="mips-openwrt-linux-uclibc-gcc" GCC="mips-openwrt-linux-uclibc-gcc" CXX="mips-openwrt-linux-uclibc-g++" RANLIB=mips-openwrt-linux-uclibc-ranlib STRIP=mips-openwrt-linux-uclibc-strip OBJCOPY=mips-openwrt-linux-uclibc-objcopy OBJDUMP=mips-openwrt-linux-uclibc-objdump SIZE=mips-openwrt-linux-uclibc-size CFLAGS="-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time -fhonour-copts -msoft-float -DARGTYPE=3 -ffunction-sections -fdata-sections " CXXFLAGS="-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time -fhonour-copts -msoft-float -DARGTYPE=3 -ffunction-sections -fdata-sections " CPPFLAGS="-I/Volumes/OpenWrt/DIR825/trunk/staging_dir/target-mips_r2_uClibc-0.9.32/usr/include -I/Volumes/OpenWrt/DIR825/trunk/staging_dir/target-mips_r2_uClibc-0.9.32/include -I/Volumes/OpenWrt/DIR825/trunk/staging_dir/toolchain-mips_r2_gcc-linaro_uClibc-0.9.32/usr/include -I/Volumes/OpenWrt/DIR825/trunk/staging_dir/toolchain-mips_r2_gcc-linaro_uClibc-0.9.32/include " LDFLAGS="-L/Volumes/OpenWrt/DIR825/trunk/staging_dir/target-mips_r2_uClibc-0.9.32/usr/lib -L/Volumes/OpenWrt/DIR825/trunk/staging_dir/target-mips_r2_uClibc-0.9.32/lib -L/Volumes/OpenWrt/DIR825/trunk/staging_dir/toolchain-mips_r2_gcc-linaro_uClibc-0.9.32/usr/lib -L/Volumes/OpenWrt/DIR825/trunk/staging_dir/toolchain-mips_r2_gcc-linaro_uClibc-0.9.32/lib -Wl,--gc-sections "   ./configure --target=mips-openwrt-linux --host=mips-openwrt-linux --build=x86_64-apple-darwin10.6.0 --program-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls   --with-shared --disable-pam --enable-openpty --enable-syslog  --disable-lastlog --disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx --disable-loginfunc --disable-pututline --disable-pututxline --disable-zlib --enable-bundled-libtom ; fi; )
configure: loading site script /Volumes/OpenWrt/DIR825/trunk/include/site/mips-openwrt-linux-uclibc
checking for mips-openwrt-linux-gcc... mips-openwrt-linux-uclibc-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mips-openwrt-linux-uclibc-gcc accepts -g... yes
checking for mips-openwrt-linux-uclibc-gcc option to accept ISO C89... none needed
checking whether make sets $(MAKE)... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking build system type... x86_64-apple-darwin10.6.0
checking host system type... mips-openwrt-linux-gnu
checking for mips-openwrt-linux-ar... mips-openwrt-linux-uclibc-ar
checking for mips-openwrt-linux-ranlib... mips-openwrt-linux-uclibc-ranlib
checking for mips-openwrt-linux-strip... mips-openwrt-linux-uclibc-strip
checking for mips-openwrt-linux-install... no
checking for install... install
configure: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet.  If you think this
configuration is useful to you, please write to autoconf@gnu.org.
checking how to run the C preprocessor... mips-openwrt-linux-uclibc-gcc -E
checking for grep that handles long lines and -e... /opt/local/bin/grep
checking for egrep... /opt/local/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether __UCLIBC__ is declared... yes
configure: Using uClibc - login() and logout() probably don't work, so we won't use them.
checking for crypt in -lcrypt... yes
configure: Disabling zlib
configure: Disabling PAM
configure: Using openpty if available
checking for library containing openpty... -lutil
configure: Enabling syslog
checking shadow.h usability... yes
checking shadow.h presence... yes
checking for shadow.h... yes
configure: Using shadow passwords if available
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking crypt.h usability... yes
checking crypt.h presence... yes
checking for crypt.h... yes
checking pty.h usability... yes
checking pty.h presence... yes
checking for pty.h... yes
checking ioctl.h usability... no
checking ioctl.h presence... no
checking for ioctl.h... no
checking libutil.h usability... no
checking libutil.h presence... no
checking for libutil.h... no
checking libgen.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking for inttypes.h... (cached) yes
checking stropts.h usability... no
checking stropts.h presence... no
checking for stropts.h... no
checking utmp.h usability... yes
checking utmp.h presence... yes
checking for utmp.h... yes
checking utmpx.h usability... no
checking utmpx.h presence... no
checking for utmpx.h... no
checking lastlog.h usability... yes
checking lastlog.h presence... yes
checking for lastlog.h... yes
checking paths.h usability... yes
checking paths.h presence... yes
checking for paths.h... yes
checking util.h usability... no
checking util.h presence... no
checking for util.h... no
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking security/pam_appl.h usability... no
checking security/pam_appl.h presence... no
checking for security/pam_appl.h... no
checking pam/pam_appl.h usability... no
checking pam/pam_appl.h presence... no
checking for pam/pam_appl.h... no
checking netinet/in_systm.h usability... yes
checking netinet/in_systm.h presence... yes
checking for netinet/in_systm.h... yes
checking for an ANSI C-conforming const... yes
checking for uid_t in sys/types.h... yes
checking for mode_t... yes
checking for pid_t... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking for uint16_t... yes
checking for u_int16_t... yes
checking for struct sockaddr_storage... no
checking for socklen_t... yes
checking for struct sockaddr_storage... yes
checking for struct sockaddr_in6... yes
checking for struct in6_addr... yes
checking for struct addrinfo... yes
checking for gai_strerror... yes
checking for struct utmp.ut_host... yes
checking for struct utmp.ut_pid... yes
checking for struct utmp.ut_type... yes
checking for struct utmp.ut_tv... yes
checking for struct utmp.ut_id... yes
checking for struct utmp.ut_addr... yes
checking for struct utmp.ut_addr_v6... yes
checking for struct utmp.ut_exit... yes
checking for struct utmp.ut_time... yes
checking for struct utmpx.ut_host... no
checking for struct utmpx.ut_syslen... no
checking for struct utmpx.ut_type... no
checking for struct utmpx.ut_id... no
checking for struct utmpx.ut_addr... no
checking for struct utmpx.ut_addr_v6... no
checking for struct utmpx.ut_time... no
checking for struct utmpx.ut_tv... no
checking for struct sockaddr_storage.ss_family... yes
checking for endutent... yes
checking for getutent... yes
checking for getutid... yes
checking for getutline... yes
checking for pututline... yes
checking for setutent... yes
checking for utmpname... yes
checking for endutxent... no
checking for getutxent... no
checking for getutxid... no
checking for getutxline... no
checking for pututxline... no
checking for setutxent... no
checking for utmpxname... no
checking for logout... yes
checking for updwtmp... yes
checking for logwtmp... yes
configure: Forcing bundled libtom*
configure: Not using login() etc
checking if your system defines LASTLOG_FILE... no
checking if your system defines _PATH_LASTLOG... yes
checking if your system defines UTMP_FILE... yes
checking if your system defines WTMP_FILE... yes
checking if your system defines UTMPX_FILE... no
checking if your system defines WTMPX_FILE... no
checking whether mips-openwrt-linux-uclibc-gcc needs -traditional... no
checking for working memcmp... (cached) yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking return type of signal handlers... void
checking for dup2... yes
checking for getspnam... yes
checking for getusershell... yes
checking for memset... yes
checking for putenv... yes
checking for select... yes
checking for socket... yes
checking for strdup... yes
checking for clearenv... yes
checking for strlcpy... yes
checking for strlcat... yes
checking for daemon... yes
checking for basename... yes
checking for _getpty... no
checking for getaddrinfo... (cached) yes
checking for freeaddrinfo... yes
checking for getnameinfo... yes
checking for library containing basename... none required
configure: Not checking for /dev/ptc & /dev/pts since we're cross-compiling
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libtomcrypt/Makefile
config.status: creating config.h
config.status: config.h is unchanged
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libtomcrypt/Makefile
config.status: creating libtommath/Makefile
config.status: creating config.h
config.status: config.h is unchanged
configure: 
configure: Using bundled libtomcrypt and libtommath
configure: 
configure: Now edit options.h to choose features.
touch /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1/.configured_
make  -j1 -C /Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1 AR=mips-openwrt-linux-uclibc-ar AS="mips-openwrt-linux-uclibc-gcc -c -Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time -fhonour-copts -msoft-float -DARGTYPE=3 -ffunction-sections -fdata-sections" LD=mips-openwrt-linux-uclibc-ld NM=mips-openwrt-linux-uclibc-nm CC="mips-openwrt-linux-uclibc-gcc" GCC="mips-openwrt-linux-uclibc-gcc" CXX="mips-openwrt-linux-uclibc-g++" RANLIB=mips-openwrt-linux-uclibc-ranlib STRIP=mips-openwrt-linux-uclibc-strip OBJCOPY=mips-openwrt-linux-uclibc-objcopy OBJDUMP=mips-openwrt-linux-uclibc-objdump SIZE=mips-openwrt-linux-uclibc-size LD="mips-openwrt-linux-uclibc-gcc" PROGRAMS="dropbear dbclient dropbearkey scp" MULTI=1 SCPPROGRESS=1
mips-openwrt-linux-uclibc-gcc  -I./libtomcrypt/src/headers/  -I. -I. -I/Volumes/OpenWrt/DIR825/trunk/staging_dir/target-mips_r2_uClibc-0.9.32/usr/include -I/Volumes/OpenWrt/DIR825/trunk/staging_dir/target-mips_r2_uClibc-0.9.32/include -I/Volumes/OpenWrt/DIR825/trunk/staging_dir/toolchain-mips_r2_gcc-linaro_uClibc-0.9.32/usr/include -I/Volumes/OpenWrt/DIR825/trunk/staging_dir/toolchain-mips_r2_gcc-linaro_uClibc-0.9.32/include  -Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time -fhonour-copts -msoft-float -DARGTYPE=3 -ffunction-sections -fdata-sections  -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER -DDBMULTI_dropbear -DDBMULTI_dbclient -DDBMULTI_dropbearkey -DDBMULTI_scp -DDROPBEAR_MULTI -I/Volumes/OpenWrt/DIR825/trunk/staging_dir/target-mips_r2_uClibc-0.9.32/usr/include -I/Volumes/OpenWrt/DIR825/trunk/staging_dir/target-mips_r2_uClibc-0.9.32/include -I/Volumes/OpenWrt/DIR825/trunk/staging_dir/toolchain-mips_r2_gcc-linaro_uClibc-0.9.32/usr/include -I/Volumes/OpenWrt/DIR825/trunk/staging_dir/toolchain-mips_r2_gcc-linaro_uClibc-0.9.32/include   -c -o dbmulti.o dbmulti.c
make[3]: *** No rule to make target `-lcrypt', needed by `multibinary'.  Stop.
make[2]: *** [/Volumes/OpenWrt/DIR825/trunk/build_dir/target-mips_r2_uClibc-0.9.32/dropbear-0.53.1/.built] Error 2
make[2]: Leaving directory `/Volumes/OpenWrt/DIR825/trunk/package/dropbear'
make[1]: *** [package/dropbear/compile] Error 2
make[1]: Leaving directory `/Volumes/OpenWrt/DIR825/trunk'
make: *** [package/dropbear/compile] Error 2

Attachments (1)

200-lcrypt_bsdfix.patch (646 bytes) - added by dirtyfreebooter <openwrt-devel@…> 7 years ago.
Workaround for dropbear darwin/bsd makefile bug

Download all attachments as: .zip

Change History (5)

comment:1 Changed 7 years ago by coatto87 <coatto87@…>

Same issue :(

comment:2 Changed 7 years ago by dirtyfreebooter <openwrt-devel@…>

I am working with the dropbear dev, Matt Johnston, on resolving this cross-compilation issue with the makefiles. In the meantime, I've attached a workaround patch. Just place it in the package/dropbear/patches/ directory.

Changed 7 years ago by dirtyfreebooter <openwrt-devel@…>

Workaround for dropbear darwin/bsd makefile bug

comment:3 Changed 7 years ago by jow

  • Resolution set to fixed
  • Status changed from new to closed

Fix added in r25891 - thank you!

comment:4 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.