shells/bash fails with readline port (undefined tputs)

running portmaster(8) with the latest devel/readline port and upgrading to the latest bash:

Code:
--- bash ---
rm -f bash
cc -L./builtins -L/usr/local/lib -L/usr/local/lib -L./lib/glob  -L./lib/tilde  -L./lib/sh  -L/usr/local/lib -fstack-protector-strong -fuse-ld=bfd  -static  -O2 -pipe  -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -static -o bash shell.o eval.o y.tab.o general.o make_cmd.o print_cmd.o   dispose_cmd.o execute_cmd.o variables.o copy_cmd.o error.o  expr.o flags.o jobs.o subst.o hashcmd.o hashlib.o mailcheck.o  trap.o input.o unwind_prot.o pathexp.o sig.o test.o version.o  alias.o array.o arrayfunc.o assoc.o braces.o bracecomp.o bashhist.o  bashline.o  list.o stringlib.o locale.o findcmd.o redir.o  pcomplete.o pcomplib.o syntax.o xmalloc.o  -lbuiltins -lglob -lsh -lreadline -lhistory -lncursesw  -ltilde  lib/intl/libintl.a   -L/usr/local/lib
/usr/local/bin/ld.bfd: ./lib/sh/libsh.a(tmpfile.o): in function `sh_mktmpname':
tmpfile.c:(.text+0x85): warning: warning: mktemp() possibly used unsafely; consider using mkstemp()
/usr/local/bin/ld.bfd: /usr/local/lib/libreadline.a(display.o): in function `rl_redisplay':
display.c:(.text+0x1e5): undefined reference to `tputs'
/usr/local/bin/ld.bfd: display.c:(.text+0x175d): undefined reference to `tputs'
/usr/local/bin/ld.bfd: /usr/local/lib/libreadline.a(display.o): in function `update_line':
display.c:(.text+0x3783): undefined reference to `tputs'
/usr/local/bin/ld.bfd: display.c:(.text+0x3c67): undefined reference to `tgoto'
/usr/local/bin/ld.bfd: display.c:(.text+0x3c77): undefined reference to `tputs'
/usr/local/bin/ld.bfd: display.c:(.text+0x3e84): undefined reference to `tputs'
/usr/local/bin/ld.bfd: display.c:(.text+0x3ea2): undefined reference to `tputs'
/usr/local/bin/ld.bfd: display.c:(.text+0x4028): undefined reference to `tgoto'

Seems to be failing to use a mixture of the bundled readline (inside bash source) and the readline port

(re-running with the make config option off for the readline port ends up with the same error)

Anyone else seeing the same?
 
It appears to have built fine here. Looking for the build logs now to see if I can spot anything.

Edit: I have the option turned on:
Code:
OPTIONS_FILE_SET+=PORTS_READLINE
Code:
---Begin OPTIONS List---
===> The following configuration options are available for bash-5.1.4_1:
     DOCS=on: Build and/or install documentation
     FDESCFS=off: Enable use of /dev/fd
     HELP=on: Enable builtin help
     NLS=on: Native Language Support
     PORTS_READLINE=on: libreadline from ports instead of bundled one
     STATIC=off: Build static executables and/or libraries
     SYSBASHRC=off: Enable system-wide rc files
     SYSLOG=off: Syslog logging support
===> Use 'make config' to modify these settings
Code:
=======================<phase: package        >============================
===>  Building package for bash-5.1.4_1
===========================================================================
=>> Cleaning up wrkdir
===>  Cleaning for bash-5.1.4_1
build of shells/bash | bash-5.1.4_1 ended at Fri Jan  8 17:58:47 CET 2021
build time: 00:01:12
 
Thanks for checking.

I can build it successfully with static off, but - for some reason - static has been enabled for this port.
 
I normally have that off (it's off by default too). But the option should work, I have used it in the past. If the STATIC consistently produces build errors then there's something wrong in the port. You should create a PR for that.
 
Back
Top