Message ID | 20180321160329.20768-1-francois.perrad@gadz.org |
---|---|
State | Changes Requested |
Headers | show |
Series | [V3,1/2] dropbear: bump to version 2018.76 | expand |
Hello, On Wed, 21 Mar 2018 17:03:28 +0100, Francois Perrad wrote: > with this new version: > - "configure --enable-static" should now be used instead of > "make STATIC=1" > - any customised options should be put in localoptions.h > > Signed-off-by: Francois Perrad <francois.perrad@gadz.org> With this patch applied, the following defconfig: BR2_arm=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.11-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y BR2_INIT_NONE=y BR2_SYSTEM_BIN_SH_NONE=y # BR2_PACKAGE_BUSYBOX is not set BR2_PACKAGE_DROPBEAR=y # BR2_TARGET_ROOTFS_TAR is not set fails to build with: >>> dropbear 2018.76 Building PATH="/home/thomas/projets/buildroot/output/host/bin:/home/thomas/projets/buildroot/output/host/sbin:/usr/local/bin:/usr/bin:/bin:/home/thomas/.rvm/bin:/usr/local/sbin:/usr/sbin:/home/thomas/.rvm/bin:/home/thomas/sys/bin:/home/thomas/.gem/ruby/2.1.0/bin:/home/thomas/.rvm/bin" /usr/bin/make -j5 MULTI=1 SCPPROGRESS=1 PROGRAMS="dropbear dropbearkey dropbearconvert scp dbclient ssh dbclient" -C /home/thomas/projets/buildroot/output/build/dropbear-2018.76/ Creating default_options_guard.h /home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -c -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 dbmulti.c -o dbmulti.o /home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -c -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 atomicio.c -o atomicio.o /home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -c -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 bignum.c -o bignum.o /home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -c -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 buffer.c -o buffer.o /home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -c -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 circbuffer.c -o circbuffer.o In file included from options.h:23:0, from includes.h:29, from bignum.c:27: sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." ^ In file included from options.h:23:0, from includes.h:29, from buffer.c:27: sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." ^ In file included from options.h:23:0, from includes.h:29, from dbmulti.c:25: sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." ^ In file included from options.h:23:0, from includes.h:29, from circbuffer.c:25: sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." ^ In file included from options.h:23:0, from includes.h:29, from atomicio.c:30: sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." ^ In file included from includes.h:119:0, from buffer.c:27: compat.h:43:7: error: conflicting types for ‘__xpg_basename’ char *basename(const char* path); ^ /home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/libgen.h:34:14: note: previous declaration of ‘__xpg_basename’ was here extern char *__xpg_basename (char *__path) __THROW; ^ make[2]: *** [Makefile:128: buffer.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from includes.h:119:0, from circbuffer.c:25: compat.h:43:7: error: conflicting types for ‘__xpg_basename’ char *basename(const char* path); ^ /home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/libgen.h:34:14: note: previous declaration of ‘__xpg_basename’ was here extern char *__xpg_basename (char *__path) __THROW; ^ make[2]: *** [Makefile:128: circbuffer.o] Error 1 In file included from includes.h:119:0, from bignum.c:27: compat.h:43:7: error: conflicting types for ‘__xpg_basename’ char *basename(const char* path); ^ /home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/libgen.h:34:14: note: previous declaration of ‘__xpg_basename’ was here extern char *__xpg_basename (char *__path) __THROW; ^ In file included from includes.h:119:0, from dbmulti.c:25: compat.h:43:7: error: conflicting types for ‘__xpg_basename’ char *basename(const char* path); ^ /home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/libgen.h:34:14: note: previous declaration of ‘__xpg_basename’ was here extern char *__xpg_basename (char *__path) __THROW; ^ make[2]: *** [Makefile:128: bignum.o] Error 1 make[2]: *** [Makefile:128: dbmulti.o] Error 1 In file included from includes.h:119:0, from atomicio.c:30: compat.h:43:7: error: conflicting types for ‘__xpg_basename’ char *basename(const char* path); ^ /home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/libgen.h:34:14: note: previous declaration of ‘__xpg_basename’ was here extern char *__xpg_basename (char *__path) __THROW; ^ make[2]: *** [Makefile:128: atomicio.o] Error 1 make[1]: *** [package/pkg-generic.mk:224: /home/thomas/projets/buildroot/output/build/dropbear-2018.76/.stamp_built] Error 2 make: *** [Makefile:79: _all] Error 2 Could you have a look ? Thanks! Thomas Petazzoni
2018-03-26 22:18 GMT+02:00 Thomas Petazzoni <thomas.petazzoni@bootlin.com>: > Hello, > > On Wed, 21 Mar 2018 17:03:28 +0100, Francois Perrad wrote: > > with this new version: > > - "configure --enable-static" should now be used instead of > > "make STATIC=1" > > - any customised options should be put in localoptions.h > > > > Signed-off-by: Francois Perrad <francois.perrad@gadz.org> > > With this patch applied, the following defconfig: > > BR2_arm=y > BR2_TOOLCHAIN_EXTERNAL=y > BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y > BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y > BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/ > toolchains/tarballs/br-arm-full-2017.11-rc1.tar.bz2" > BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y > BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y > BR2_TOOLCHAIN_EXTERNAL_LOCALE=y > # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set > BR2_TOOLCHAIN_EXTERNAL_CXX=y > BR2_INIT_NONE=y > BR2_SYSTEM_BIN_SH_NONE=y > # BR2_PACKAGE_BUSYBOX is not set > BR2_PACKAGE_DROPBEAR=y > # BR2_TARGET_ROOTFS_TAR is not set > > fails to build with: > > >>> dropbear 2018.76 Building > PATH="/home/thomas/projets/buildroot/output/host/bin:/ > home/thomas/projets/buildroot/output/host/sbin:/usr/local/ > bin:/usr/bin:/bin:/home/thomas/.rvm/bin:/usr/local/ > sbin:/usr/sbin:/home/thomas/.rvm/bin:/home/thomas/sys/bin:/ > home/thomas/.gem/ruby/2.1.0/bin:/home/thomas/.rvm/bin" /usr/bin/make -j5 > MULTI=1 SCPPROGRESS=1 PROGRAMS="dropbear dropbearkey dropbearconvert scp > dbclient ssh dbclient" -C /home/thomas/projets/buildroot/output/build/ > dropbear-2018.76/ > Creating default_options_guard.h > /home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -c > -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. > -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W > -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong > -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER > -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert > -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient > -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 dbmulti.c -o dbmulti.o > /home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -c > -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. > -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W > -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong > -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER > -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert > -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient > -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 atomicio.c -o atomicio.o > /home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -c > -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. > -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W > -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong > -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER > -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert > -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient > -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 bignum.c -o bignum.o > /home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -c > -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. > -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W > -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong > -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER > -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert > -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient > -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 buffer.c -o buffer.o > /home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -c > -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. > -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W > -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong > -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER > -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert > -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient > -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 circbuffer.c -o circbuffer.o > In file included from options.h:23:0, > from includes.h:29, > from bignum.c:27: > sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires > `crypt()'." > #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." > ^ > In file included from options.h:23:0, > from includes.h:29, > from buffer.c:27: > sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires > `crypt()'." > #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." > ^ > In file included from options.h:23:0, > from includes.h:29, > from dbmulti.c:25: > sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires > `crypt()'." > #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." > ^ > In file included from options.h:23:0, > from includes.h:29, > from circbuffer.c:25: > sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires > `crypt()'." > #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." > ^ > In file included from options.h:23:0, > from includes.h:29, > from atomicio.c:30: > sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires > `crypt()'." > #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." > ^ > In file included from includes.h:119:0, > from buffer.c:27: > compat.h:43:7: error: conflicting types for ‘__xpg_basename’ > char *basename(const char* path); > ^ > /home/thomas/projets/buildroot/output/host/arm- > buildroot-linux-uclibcgnueabi/sysroot/usr/include/libgen.h:34:14: note: > previous declaration of ‘__xpg_basename’ was here > extern char *__xpg_basename (char *__path) __THROW; > ^ > make[2]: *** [Makefile:128: buffer.o] Error 1 > make[2]: *** Waiting for unfinished jobs.... > In file included from includes.h:119:0, > from circbuffer.c:25: > compat.h:43:7: error: conflicting types for ‘__xpg_basename’ > char *basename(const char* path); > ^ > /home/thomas/projets/buildroot/output/host/arm- > buildroot-linux-uclibcgnueabi/sysroot/usr/include/libgen.h:34:14: note: > previous declaration of ‘__xpg_basename’ was here > extern char *__xpg_basename (char *__path) __THROW; > ^ > make[2]: *** [Makefile:128: circbuffer.o] Error 1 > In file included from includes.h:119:0, > from bignum.c:27: > compat.h:43:7: error: conflicting types for ‘__xpg_basename’ > char *basename(const char* path); > ^ > /home/thomas/projets/buildroot/output/host/arm- > buildroot-linux-uclibcgnueabi/sysroot/usr/include/libgen.h:34:14: note: > previous declaration of ‘__xpg_basename’ was here > extern char *__xpg_basename (char *__path) __THROW; > ^ > In file included from includes.h:119:0, > from dbmulti.c:25: > compat.h:43:7: error: conflicting types for ‘__xpg_basename’ > char *basename(const char* path); > ^ > /home/thomas/projets/buildroot/output/host/arm- > buildroot-linux-uclibcgnueabi/sysroot/usr/include/libgen.h:34:14: note: > previous declaration of ‘__xpg_basename’ was here > extern char *__xpg_basename (char *__path) __THROW; > ^ > make[2]: *** [Makefile:128: bignum.o] Error 1 > make[2]: *** [Makefile:128: dbmulti.o] Error 1 > In file included from includes.h:119:0, > from atomicio.c:30: > compat.h:43:7: error: conflicting types for ‘__xpg_basename’ > char *basename(const char* path); > ^ > /home/thomas/projets/buildroot/output/host/arm- > buildroot-linux-uclibcgnueabi/sysroot/usr/include/libgen.h:34:14: note: > previous declaration of ‘__xpg_basename’ was here > extern char *__xpg_basename (char *__path) __THROW; > ^ > make[2]: *** [Makefile:128: atomicio.o] Error 1 > make[1]: *** [package/pkg-generic.mk:224: /home/thomas/projets/ > buildroot/output/build/dropbear-2018.76/.stamp_built] Error 2 > make: *** [Makefile:79: _all] Error 2 > > Could you have a look ? > > The presence of crypt() is detected by the configure script. in dropbear-2017-75/options.h, the logic was : /* This requires crypt() */ #ifdef HAVE_CRYPT #define ENABLE_SVR_PASSWORD_AUTH #endif in dropbear-2018-76/sysoptions.h, the logic is now : #if DROPBEAR_SVR_PASSWORD_AUTH && !HAVE_CRYPT #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." #endif So, without something like BR2_TOOLCHAIN_HAS_CRYPT, we must always disable the option DROPBEAR_SVR_PASSWORD_AUTH in localoptions.h. François > Thanks! > > Thomas Petazzoni > -- > Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) > Embedded Linux and Kernel engineering > https://bootlin.com > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot > <div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2018-03-26 22:18 GMT+02:00 Thomas Petazzoni <span dir="ltr"><<a href="mailto:thomas.petazzoni@bootlin.com" target="_blank">thomas.petazzoni@bootlin.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br> <span class="gmail-"><br> On Wed, 21 Mar 2018 17:03:28 +0100, Francois Perrad wrote:<br> > with this new version:<br> > - "configure --enable-static" should now be used instead of<br> > "make STATIC=1"<br> > - any customised options should be put in localoptions.h<br> ><br> > Signed-off-by: Francois Perrad <<a href="mailto:francois.perrad@gadz.org">francois.perrad@gadz.org</a>><br> <br> </span>With this patch applied, the following defconfig:<br> <br> BR2_arm=y<br> BR2_TOOLCHAIN_EXTERNAL=y<br> BR2_TOOLCHAIN_EXTERNAL_CUSTOM=<wbr>y<br> BR2_TOOLCHAIN_EXTERNAL_<wbr>DOWNLOAD=y<br> BR2_TOOLCHAIN_EXTERNAL_URL="<a href="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.11-rc1.tar.bz2" rel="noreferrer" target="_blank">ht<wbr>tp://autobuild.buildroot.org/<wbr>toolchains/tarballs/br-arm-<wbr>full-2017.11-rc1.tar.bz2</a>"<br> BR2_TOOLCHAIN_EXTERNAL_GCC_4_<wbr>9=y<br> BR2_TOOLCHAIN_EXTERNAL_<wbr>HEADERS_3_10=y<br> BR2_TOOLCHAIN_EXTERNAL_LOCALE=<wbr>y<br> # BR2_TOOLCHAIN_EXTERNAL_HAS_<wbr>THREADS_DEBUG is not set<br> BR2_TOOLCHAIN_EXTERNAL_CXX=y<br> BR2_INIT_NONE=y<br> BR2_SYSTEM_BIN_SH_NONE=y<br> # BR2_PACKAGE_BUSYBOX is not set<br> BR2_PACKAGE_DROPBEAR=y<br> # BR2_TARGET_ROOTFS_TAR is not set<br> <br> fails to build with:<br> <br> >>> dropbear 2018.76 Building<br> PATH="/home/thomas/projets/<wbr>buildroot/output/host/bin:/<wbr>home/thomas/projets/buildroot/<wbr>output/host/sbin:/usr/local/<wbr>bin:/usr/bin:/bin:/home/<wbr>thomas/.rvm/bin:/usr/local/<wbr>sbin:/usr/sbin:/home/thomas/.<wbr>rvm/bin:/home/thomas/sys/bin:/<wbr>home/thomas/.gem/ruby/2.1.0/<wbr>bin:/home/thomas/.rvm/bin" /usr/bin/make -j5 MULTI=1 SCPPROGRESS=1 PROGRAMS="dropbear dropbearkey dropbearconvert scp dbclient ssh dbclient" -C /home/thomas/projets/<wbr>buildroot/output/build/<wbr>dropbear-2018.76/<br> Creating default_options_guard.h<br> /home/thomas/projets/<wbr>buildroot/output/host/bin/arm-<wbr>linux-gcc -c -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 dbmulti.c -o dbmulti.o<br> /home/thomas/projets/<wbr>buildroot/output/host/bin/arm-<wbr>linux-gcc -c -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 atomicio.c -o atomicio.o<br> /home/thomas/projets/<wbr>buildroot/output/host/bin/arm-<wbr>linux-gcc -c -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 bignum.c -o bignum.o<br> /home/thomas/projets/<wbr>buildroot/output/host/bin/arm-<wbr>linux-gcc -c -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 buffer.c -o buffer.o<br> /home/thomas/projets/<wbr>buildroot/output/host/bin/arm-<wbr>linux-gcc -c -I./libtomcrypt/src/headers/ -DLOCALOPTIONS_H_EXISTS -I. -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W -Wall -Wno-pointer-sign -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DPROGRESS_METER -DDBMULTI_dropbear -DDBMULTI_dropbearkey -DDBMULTI_dropbearconvert -DDBMULTI_scp -DDBMULTI_dbclient -DDBMULTI_ssh -DDBMULTI_dbclient -DDROPBEAR_MULTI -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 circbuffer.c -o circbuffer.o<br> In file included from options.h:23:0,<br> from includes.h:29,<br> from bignum.c:27:<br> sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> ^<br> In file included from options.h:23:0,<br> from includes.h:29,<br> from buffer.c:27:<br> sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> ^<br> In file included from options.h:23:0,<br> from includes.h:29,<br> from dbmulti.c:25:<br> sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> ^<br> In file included from options.h:23:0,<br> from includes.h:29,<br> from circbuffer.c:25:<br> sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> ^<br> In file included from options.h:23:0,<br> from includes.h:29,<br> from atomicio.c:30:<br> sysoptions.h:237:3: error: #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> ^<br> In file included from includes.h:119:0,<br> from buffer.c:27:<br> compat.h:43:7: error: conflicting types for ‘__xpg_basename’<br> char *basename(const char* path);<br> ^<br> /home/thomas/projets/<wbr>buildroot/output/host/arm-<wbr>buildroot-linux-uclibcgnueabi/<wbr>sysroot/usr/include/libgen.h:<wbr>34:14: note: previous declaration of ‘__xpg_basename’ was here<br> extern char *__xpg_basename (char *__path) __THROW;<br> ^<br> make[2]: *** [Makefile:128: buffer.o] Error 1<br> make[2]: *** Waiting for unfinished jobs....<br> In file included from includes.h:119:0,<br> from circbuffer.c:25:<br> compat.h:43:7: error: conflicting types for ‘__xpg_basename’<br> char *basename(const char* path);<br> ^<br> /home/thomas/projets/<wbr>buildroot/output/host/arm-<wbr>buildroot-linux-uclibcgnueabi/<wbr>sysroot/usr/include/libgen.h:<wbr>34:14: note: previous declaration of ‘__xpg_basename’ was here<br> extern char *__xpg_basename (char *__path) __THROW;<br> ^<br> make[2]: *** [Makefile:128: circbuffer.o] Error 1<br> In file included from includes.h:119:0,<br> from bignum.c:27:<br> compat.h:43:7: error: conflicting types for ‘__xpg_basename’<br> char *basename(const char* path);<br> ^<br> /home/thomas/projets/<wbr>buildroot/output/host/arm-<wbr>buildroot-linux-uclibcgnueabi/<wbr>sysroot/usr/include/libgen.h:<wbr>34:14: note: previous declaration of ‘__xpg_basename’ was here<br> extern char *__xpg_basename (char *__path) __THROW;<br> ^<br> In file included from includes.h:119:0,<br> from dbmulti.c:25:<br> compat.h:43:7: error: conflicting types for ‘__xpg_basename’<br> char *basename(const char* path);<br> ^<br> /home/thomas/projets/<wbr>buildroot/output/host/arm-<wbr>buildroot-linux-uclibcgnueabi/<wbr>sysroot/usr/include/libgen.h:<wbr>34:14: note: previous declaration of ‘__xpg_basename’ was here<br> extern char *__xpg_basename (char *__path) __THROW;<br> ^<br> make[2]: *** [Makefile:128: bignum.o] Error 1<br> make[2]: *** [Makefile:128: dbmulti.o] Error 1<br> In file included from includes.h:119:0,<br> from atomicio.c:30:<br> compat.h:43:7: error: conflicting types for ‘__xpg_basename’<br> char *basename(const char* path);<br> ^<br> /home/thomas/projets/<wbr>buildroot/output/host/arm-<wbr>buildroot-linux-uclibcgnueabi/<wbr>sysroot/usr/include/libgen.h:<wbr>34:14: note: previous declaration of ‘__xpg_basename’ was here<br> extern char *__xpg_basename (char *__path) __THROW;<br> ^<br> make[2]: *** [Makefile:128: atomicio.o] Error 1<br> make[1]: *** [package/<a href="http://pkg-generic.mk:224" rel="noreferrer" target="_blank">pkg-generic.mk:224</a>: /home/thomas/projets/<wbr>buildroot/output/build/<wbr>dropbear-2018.76/.stamp_built] Error 2<br> make: *** [Makefile:79: _all] Error 2<br> <br> Could you have a look ?<br> <br></blockquote><div><br><br>The presence of crypt() is detected by the configure script.<br><br>in dropbear-2017-75/options.h, the logic was :<br> /* This requires crypt() */<br> #ifdef HAVE_CRYPT<br> #define ENABLE_SVR_PASSWORD_AUTH<br> #endif<br><br>in dropbear-2018-76/sysoptions.h, the logic is now :<br> #if DROPBEAR_SVR_PASSWORD_AUTH && !HAVE_CRYPT<br> #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> #endif<br><br>So, without something like BR2_TOOLCHAIN_HAS_CRYPT,<br>we must always disable the option DROPBEAR_SVR_PASSWORD_AUTH in localoptions.h.<br><br></div><div>François<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> Thanks!<br> <span class="gmail-HOEnZb"><font color="#888888"><br> Thomas Petazzoni<br> --<br> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)<br> Embedded Linux and Kernel engineering<br> <a href="https://bootlin.com" rel="noreferrer" target="_blank">https://bootlin.com</a><br> ______________________________<wbr>_________________<br> buildroot mailing list<br> <a href="mailto:buildroot@busybox.net">buildroot@busybox.net</a><br> <a href="http://lists.busybox.net/mailman/listinfo/buildroot" rel="noreferrer" target="_blank">http://lists.busybox.net/<wbr>mailman/listinfo/buildroot</a><br> </font></span></blockquote></div><br></div></div>
Hello, On Wed, 28 Mar 2018 09:57:57 +0200, François Perrad wrote: > > Could you have a look ? > > The presence of crypt() is detected by the configure script. So, if it's detected by the configure script, there should be no problem, no ? > in dropbear-2017-75/options.h, the logic was : > /* This requires crypt() */ > #ifdef HAVE_CRYPT > #define ENABLE_SVR_PASSWORD_AUTH > #endif > > in dropbear-2018-76/sysoptions.h, the logic is now : > #if DROPBEAR_SVR_PASSWORD_AUTH && !HAVE_CRYPT > #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." > #endif > > So, without something like BR2_TOOLCHAIN_HAS_CRYPT, > we must always disable the option DROPBEAR_SVR_PASSWORD_AUTH in > localoptions.h. I don't understand. On one hand, you say that the presence of crypt() is detected by the configure script, and on the other hand, you say that we must tell Dropbear explicitly whether crypt() is available or not. Could you clarify ? Thanks! Thomas
2018-03-28 10:01 GMT+02:00 Thomas Petazzoni <thomas.petazzoni@bootlin.com>: > Hello, > > On Wed, 28 Mar 2018 09:57:57 +0200, François Perrad wrote: > > > > Could you have a look ? > > > > The presence of crypt() is detected by the configure script. > > So, if it's detected by the configure script, there should be no > problem, no ? > > > in dropbear-2017-75/options.h, the logic was : > > /* This requires crypt() */ > > #ifdef HAVE_CRYPT > > #define ENABLE_SVR_PASSWORD_AUTH > > #endif > > > > in dropbear-2018-76/sysoptions.h, the logic is now : > > #if DROPBEAR_SVR_PASSWORD_AUTH && !HAVE_CRYPT > > #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'." > > #endif > > > > So, without something like BR2_TOOLCHAIN_HAS_CRYPT, > > we must always disable the option DROPBEAR_SVR_PASSWORD_AUTH in > > localoptions.h. > > I don't understand. On one hand, you say that the presence of crypt() > is detected by the configure script, and on the other hand, you say > that we must tell Dropbear explicitly whether crypt() is available or > not. > > Could you clarify ? > > I solve the issue by writing : #if !HAVE_CRYPT #define DROPBEAR_SVR_PASSWORD_AUTH 0 #endif in the localoptions.h file. François > Thanks! > > Thomas > -- > Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) > Embedded Linux and Kernel engineering > https://bootlin.com > <div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2018-03-28 10:01 GMT+02:00 Thomas Petazzoni <span dir="ltr"><<a href="mailto:thomas.petazzoni@bootlin.com" target="_blank">thomas.petazzoni@bootlin.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br> <span class="gmail-"><br> On Wed, 28 Mar 2018 09:57:57 +0200, François Perrad wrote:<br> <br> > > Could you have a look ?<br> ><br> > The presence of crypt() is detected by the configure script.<br> <br> </span>So, if it's detected by the configure script, there should be no<br> problem, no ?<br> <span class="gmail-"><br> > in dropbear-2017-75/options.h, the logic was :<br> > /* This requires crypt() */<br> > #ifdef HAVE_CRYPT<br> > #define ENABLE_SVR_PASSWORD_AUTH<br> > #endif<br> ><br> > in dropbear-2018-76/sysoptions.h, the logic is now :<br> > #if DROPBEAR_SVR_PASSWORD_AUTH && !HAVE_CRYPT<br> > #error "DROPBEAR_SVR_PASSWORD_AUTH requires `crypt()'."<br> > #endif<br> ><br> > So, without something like BR2_TOOLCHAIN_HAS_CRYPT,<br> > we must always disable the option DROPBEAR_SVR_PASSWORD_AUTH in<br> > localoptions.h.<br> <br> </span>I don't understand. On one hand, you say that the presence of crypt()<br> is detected by the configure script, and on the other hand, you say<br> that we must tell Dropbear explicitly whether crypt() is available or<br> not.<br> <br> Could you clarify ?<br> <br></blockquote><div><br></div><div>I solve the issue by writing :<br> #if !HAVE_CRYPT<br> #define DROPBEAR_SVR_PASSWORD_AUTH 0<br> #endif<br></div><div>in the localoptions.h file.<br></div><div><br></div><div>François<br></div><div><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> Thanks!<br> <span class="gmail-HOEnZb"><font color="#888888"><br> Thomas<br> </font></span><div class="gmail-HOEnZb"><div class="gmail-h5">--<br> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)<br> Embedded Linux and Kernel engineering<br> <a href="https://bootlin.com" rel="noreferrer" target="_blank">https://bootlin.com</a><br> </div></div></blockquote></div><br></div></div>
diff --git a/package/dropbear/dropbear.hash b/package/dropbear/dropbear.hash index 98776e717..ef2011d90 100644 --- a/package/dropbear/dropbear.hash +++ b/package/dropbear/dropbear.hash @@ -1,2 +1,2 @@ # From https://matt.ucc.asn.au/dropbear/releases/SHA256SUM.asc -sha256 6cbc1dcb1c9709d226dff669e5604172a18cf5dbf9a201474d5618ae4465098c dropbear-2017.75.tar.bz2 +sha256 f2fb9167eca8cf93456a5fc1d4faf709902a3ab70dd44e352f3acbc3ffdaea65 dropbear-2018.76.tar.bz2 diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk index 01a1a07b7..634396dc0 100644 --- a/package/dropbear/dropbear.mk +++ b/package/dropbear/dropbear.mk @@ -4,7 +4,7 @@ # ################################################################################ -DROPBEAR_VERSION = 2017.75 +DROPBEAR_VERSION = 2018.76 DROPBEAR_SITE = https://matt.ucc.asn.au/dropbear/releases DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2 DROPBEAR_LICENSE = MIT, BSD-2-Clause-like, BSD-2-Clause @@ -23,32 +23,22 @@ DROPBEAR_MAKE = \ PROGRAMS="$(DROPBEAR_PROGRAMS)" ifeq ($(BR2_STATIC_LIBS),y) -DROPBEAR_MAKE += STATIC=1 +DROPBEAR_CONF_OPTS += --enable-static endif -define DROPBEAR_FIX_XAUTH - $(SED) 's,^#define XAUTH_COMMAND.*/xauth,#define XAUTH_COMMAND "/usr/bin/xauth,g' $(@D)/options.h -endef - -DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_FIX_XAUTH - define DROPBEAR_ENABLE_REVERSE_DNS - $(SED) 's:.*\(#define DO_HOST_LOOKUP\).*:\1:' $(@D)/options.h -endef - -define DROPBEAR_BUILD_SMALL - $(SED) 's:.*\(#define NO_FAST_EXPTMOD\).*:\1:' $(@D)/options.h + echo '#define DO_HOST_LOOKUP 1' >> $(@D)/localoptions.h endef define DROPBEAR_BUILD_FEATURED - $(SED) 's:^#define DROPBEAR_SMALL_CODE::' $(@D)/options.h - $(SED) 's:.*\(#define DROPBEAR_BLOWFISH\).*:\1:' $(@D)/options.h - $(SED) 's:.*\(#define DROPBEAR_TWOFISH128\).*:\1:' $(@D)/options.h - $(SED) 's:.*\(#define DROPBEAR_TWOFISH256\).*:\1:' $(@D)/options.h + echo '#define DROPBEAR_SMALL_CODE 0' >> $(@D)/localoptions.h + echo '#define DROPBEAR_BLOWFISH 1' >> $(@D)/localoptions.h + echo '#define DROPBEAR_TWOFISH128 1' >> $(@D)/localoptions.h + echo '#define DROPBEAR_TWOFISH256 1' >> $(@D)/localoptions.h endef define DROPBEAR_DISABLE_STANDALONE - $(SED) 's:\(#define NON_INETD_MODE\):/*\1 */:' $(@D)/options.h + echo '#define NON_INETD_MODE 0' >> $(@D)/localoptions.h endef define DROPBEAR_INSTALL_INIT_SYSTEMD @@ -73,7 +63,6 @@ DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_ENABLE_REVERSE_DNS endif ifeq ($(BR2_PACKAGE_DROPBEAR_SMALL),y) -DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_BUILD_SMALL DROPBEAR_CONF_OPTS += --disable-zlib else DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_BUILD_FEATURED
with this new version: - "configure --enable-static" should now be used instead of "make STATIC=1" - any customised options should be put in localoptions.h Signed-off-by: Francois Perrad <francois.perrad@gadz.org> --- package/dropbear/dropbear.hash | 2 +- package/dropbear/dropbear.mk | 27 ++++++++------------------- 2 files changed, 9 insertions(+), 20 deletions(-)