Thanks Stefan, tried make and make static on amd64 and it worked with no regressions agreed on delaying fix in ports until release of new package upstream
thanks On Wed, 4 Sept 2024 at 12:26, Stefan Sperling <s...@stsp.name> wrote: > On Wed, Sep 04, 2024 at 11:28:49AM +0100, Stuart Henderson wrote: > > On 2024/09/04 11:09, Tom Smyth wrote: > > > Hi > > > Is the nsh static build failing because the nsh dynamic build is > locked ? > > > > no, it's failing because of linker errors around libm symbols > > > http://build-failures.rhaalovely.net/sparc64/2024-09-01/shells/nsh,static.log > > > > > it seems to be working on amd64, and arm64. > > > > sparc64 uses a different toolchain (compiler, linker, etc) > > > > it might be worth trying this (I don't have sparc64) > > > > Index: Makefile > > =================================================================== > > RCS file: /cvs/ports/shells/nsh/Makefile,v > > diff -u -p -r1.51 Makefile > > --- Makefile 19 Jun 2024 15:09:50 -0000 1.51 > > +++ Makefile 4 Sep 2024 10:27:59 -0000 > > @@ -32,7 +32,7 @@ LIB_DEPENDS = databases/sqlite3 > > FAKE_FLAGS = PREFIX=${TRUEPREFIX} > > > > .if ${FLAVOR:Mstatic} > > -MAKE_FLAGS += LDFLAGS="-L${LOCALBASE}/lib -ledit -ltermcap > -lsqlite3 -lm -lpthread -static" > > +MAKE_FLAGS += LDFLAGS="-L${LOCALBASE}/lib -ledit -ltermcap -lm > -lsqlite3 -lpthread -static" > > .endif > > > > NO_TEST= Yes > > > > It appears that the problem was due to -lsqlite3 appearing too far > towards at the tail of the linker command line. > > Fixed upstream (with testing help from tb@) by providing a 'make static' > build target which passes all linker flags in the correct order: > > https://github.com/yellowman/nsh/commit/21b1dfdbf54e96ff9cb8cb9a05f38ac2d344dbaa > > Since a new nsh release is planned soon I'd recommend waiting for > that release to happen instead of patching the port for this. > -- Kindest regards, Tom Smyth.