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