Thank you.. Please no haters, but on a development system I was able to mv /usr/libncurse* /usr/lib/form* /usr/lib-disabled, build and install as normal, and then replace the libraries, mv /usr/lib-diabled/* /usr/lib
I think your comment some time ago about OpenBSD seeing what it thinks is the abi version being better and that it prefers using the one in /usr/lib was correct. -Robert > On Dec 30, 2019, at 1:34 AM, Thomas Dickey <dic...@his.com> wrote: > > On Sun, Dec 29, 2019 at 11:41:29PM +0100, Robert Smith wrote: >> Dear Thomas, >> >> It's interesting to see some new discussion around this whereas I am >> attempting to build it again. >> >> I was just reviewing some of the correspondence from earlier in the year to >> see if there was anything I could do to get some kind of build working. Even >> ugly. >> >> Is there a work around available that I can test? > > The workaround is to use clang, with the _XOPEN_SOURCE symbol predefined. > > I just did a build, modifying my routine build from > > build-my-ncurses > > to > > CPPFLAGS='-D_XOPEN_SOURCE=800' with-clang build-my-ncurses > > "with-clang" is a local script: > > #!/bin/sh > # $Id: with-clang,v 1.3 2011/05/21 17:05:49 tom Exp $ > # use clang for compiler and lint > # xen-fedora12 > export CC=clang > export CXX=clang++ > export LINT=clang-lint > exec "$@" > > and "build-my-ncurses" is a script that I use to build/install several > configurations. > > The configure script checks if _XOPEN_SOURCE is already defined, > and skips adding what's requested if overridden. > >> >> -Robert >> >> >>> On Dec 28, 2019, at 11:08 PM, Thomas Dickey <dic...@his.com> wrote: >>> >>> On Thu, Dec 26, 2019 at 05:12:56PM -0500, Thomas Dickey wrote: >>>> On Thu, Dec 26, 2019 at 01:13:11PM +0000, Stuart Henderson wrote: >>>>> On 2019/12/25 16:23, Thomas Dickey wrote: >>>>>> Since my message to bugs@openbsd.org was ignored, >>>>>> I'll have to assume that they're not interested in discussing it, >>>>>> and will keep in mind to document it as a pitfall in upcoming releases. >>>>> >>>>> The toolchain isn't my area, but I suspect there's little enthusiasm >>>>> for fixing a gcc-related problem especially one reported on amd64 - it's >>>>> pretty much only still built there so that developers have an easy way >>>>> to run it if they need to fix things in the base OS on the non-clang >>>>> platforms which many developers don't have direct access to. >>>>> >>>>> If the problem remains with /usr/bin/cc (which is clang on >>>>> amd64/i386/arm/aarch64/mips64) then it would be useful to include the >>>>> full steps to repeat the problem - the script is mentioned but not >>>>> included in the bugs@openbsd.org mail. >>>> >>>> I took a quick look at the clang (cc) build, but don't see that problem. >>>> I haven't investigated the i386 configuration for a while - probably >>>> should... >>>> >>>>>>>>> I revisited this, and can see half of the problem, which offers a >>>>>>>>> different >>>>>>>>> workaround. Comparing the specs files for the compiler in 6.2 and >>>>>>>>> 6.5, >>>>>>>>> I see that someone added a fallback for -L/usr/lib, apparently to >>>>>>>>> compensate >>>>>>>>> for some other change. >>>>> >>>>> The commit log was "Pass -L/usr/lib to the linker in preparation for >>>>> switching to lld, which does not have a default search path." >>>>> >>> >>> Taking a look at the i386, I see that as you hinted cc==clang. >>> >>> That's okay. But there's an error in OpenBSD's header files which >>> I'll have to work around for the time being. It would be nice >>> if someone fixed it: >>> >>> /usr/include/ctype.h has >>> >>> #if __POSIX_VISIBLE >= 200809 >>> #ifndef _LOCALE_T_DEFINED_ >>> #define _LOCALE_T_DEFINED_ >>> typedef void *locale_t; >>> #endif >>> #endif >>> >>> and (since ncurses uses no feature newer than this) my default build >>> does this: >>> >>> -D_BSD_SOURCE -D_XOPEN_SOURCE=600 >>> >>> which produces this error: >>> >>> compiling cursesmain (obj_s) >>> In file included from ../c++/cursesmain.cc:39: >>> In file included from /usr/include/c++/v1/iostream:38: >>> In file included from /usr/include/c++/v1/ios:216: >>> In file included from /usr/include/c++/v1/__locale:32: >>> In file included from /usr/include/c++/v1/support/newlib/xlocale.h:26: >>> /usr/include/c++/v1/support/xlocale/__strtonum_fallback.h:24:64: error: >>> unknown type name 'locale_t' >>> char **endptr, locale_t) { >>> ^ >>> because the locale_t use from iostream is improperly ifdef'd. >>> >>> -- >>> Thomas E. Dickey <dic...@invisible-island.net> >>> https://invisible-island.net >>> ftp://ftp.invisible-island.net >> > > -- > Thomas E. Dickey <dic...@invisible-island.net> > https://invisible-island.net > ftp://ftp.invisible-island.net