Hey Larkin,

Hmm, this is a bit weird, but since Matt seems busy these days, I'll see what I can to do help someone else interested in Dropbear. This is all my own cursory, 5 minute check over the problem:

Firstly, to disable PIE since you don't need it, pass --disable-harden to the configure script. The problematic part of the configure script is between lines 3983 and 4028, so commenting that out could temporarily at least get your configure going. If that still breaks zlib, you should be able to still build dropbear without zlib -- try passing --disable-zlib. Worst case, you can just add -lz manually to the makefile.

As for correcting the issues permanently, there's a lot of minor issues in dropbear that are caused by the gnu autoconf and intermediate makefiles assuming many compilers support GCCisms, and there's not always good workarounds. You can refer to my old fix here for examples of potential issues: https://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/2021q2/002294.html

I have a lot of other patches that may prove beneficial. I'm not super familiar with the ins and outs of autoconf, but this should fix the build for you at least for now.

If you're interested, I've considered making a POSIX Make fork of dropbear and related utilities that should prove easier for people on niche UNIX systems to build Dropbear. If you're interested, you can be a tester. I have people interested with HP-UX, IRIX (me lawl) and Unixware systems, so having a Tru64 tester would be beneficial.

If this doesn't fix it, you'll need to dive deep into the macro soup that is autoconf, and that's something I'm not quite good at myself.

Let me know if cutting out that bit fixes it for both, if it doesn't, then I can probably try to find it elsewhere.

-- Kaz Kuroi

On 6/4/2021 5:15 PM, Larkin Nickle wrote:
On Tru64 5.1B with the Compaq C compiler, configure fails when finding zlib because multiple incompatible flags are added to CFLAGS. It appears the tests for these flags are passing even though the compiler doesn't actually support them.

e.g.

configure: Checking if compiler 'cc' supports -Wno-pointer-sign
configure: Setting -Wno-pointer-sign
configure: Checking if compiler 'cc' supports -fno-strict-overflow
configure: Setting -fno-strict-overflow
configure: Checking for available hardened build flags:
configure: Setting -fPIE

However, the zlib check fails due to:

configure:3323: cc -o conftest -g -Wno-pointer-sign -fno-strict-overflow -fPIE -pie conftest.c  >&5 ld: Invalid flag usage: Wno-pointer-sign, -Wx,-option must appear after -_SYSTYPE_SVR4

If the check for `-Wno-pointer-sign` is modified so that it doesn't actually get added to CFLAGS, then the zlib check fails as `-fno-strict-overflow` isn't supported.

configure:4845: checking for deflate in -lz
configure:4870: cc -o conftest -g  -fno-strict-overflow -fPIE -fstack-protector-strong -D_FORTIFY_SOURCE=2 -mfunction-return=thunk -mindirect-branch=thunk -I/usr/util/include  -L/usr/util/lib  conftest.c -lz   >&5
ld: -fno-strict-overflow: Unknown flag

Larkin

Reply via email to