Re: krb5 port fails to build in newly upgraded jails 14.4
Kaya Saman <[email protected]> Tue, 7 Jul 2026 18:22:11 +0100
| Newsgroups | gmane.os.freebsd.devel.ports |
|---|---|
| Message-ID | <[email protected]> |
On 7/7/26 5:29 PM, Mark Millard wrote: > On 7/7/26 09:02, Kaya Saman wrote: >> On 7/7/26 4:33 PM, Mark Millard wrote: >>> On 7/7/26 05:21, Kaya Saman wrote: >>>> Hi all, >>>> >>>> >>>> I'm recently upgrading my systems which contain various jails to version >>>> 14.4. >>>> >>>> >>>> Something that I've noticed is that the krb5 port seems to build and >>>> upgrade fine on all the upgraded base systems but fails in each jail >>>> that I'm trying to upgrade. >>>> >>>> >>>> Upgrading the jails is just standard procedure following this: >>>> >>>> >>>> https://docs.freebsd.org/en/books/handbook/jails/ >>>> >>>> >>>> This is the output of the current build process which suggests linker >>>> errors and something to do with "readline": >>>> >>>> >>>> cc -DHAVE_CONFIG_H -I../../include -I../../include -I. - >>>> DKRB5_DEPRECATED=1 -DKRB5_PRIVATE -I/usr/include -I/usr/local/include - >>>> isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem / >>>> usr/local/include -fno-strict-aliasing -std=gnu99 -Werror=unknown- >>>> warning-option -Wall -Wcast-align -Wshadow -Wmissing-prototypes - >>>> pedantic -Wno-format-zero-length -Woverflow -Wstrict-overflow -Wmissing- >>>> format-attribute -Wmissing-prototypes -Wreturn-type -Wmissing-braces - >>>> Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-variable >>>> -Wunused-value -Wunknown-pragmas -Wsign-compare -Wnewline-eof - >>>> Werror=uninitialized -Werror=pointer-arith -Werror=int-conversion - >>>> Werror=incompatible-pointer-types -Werror=implicit-int -Werror=strict- >>>> prototypes -Werror=declaration-after-statement -Werror-implicit- >>>> function-declaration -pthread -c keytab_local.c >>>> cc -DHAVE_CONFIG_H -I../../include -I../../include -I. - >>>> DKRB5_DEPRECATED=1 -DKRB5_PRIVATE -I/usr/include -I/usr/local/include - >>>> isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem / >>>> usr/local/include -fno-strict-aliasing -std=gnu99 -Werror=unknown- >>>> warning-option -Wall -Wcast-align -Wshadow -Wmissing-prototypes - >>>> pedantic -Wno-format-zero-length -Woverflow -Wstrict-overflow -Wmissing- >>>> format-attribute -Wmissing-prototypes -Wreturn-type -Wmissing-braces - >>>> Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-variable >>>> -Wunused-value -Wunknown-pragmas -Wsign-compare -Wnewline-eof - >>>> Werror=uninitialized -Werror=pointer-arith -Werror=int-conversion - >>>> Werror=incompatible-pointer-types -Werror=implicit-int -Werror=strict- >>>> prototypes -Werror=declaration-after-statement -Werror-implicit- >>>> function-declaration -pthread -c keytab.c >>>> cc -DHAVE_CONFIG_H -I../../include -I../../include -I. - >>>> DKRB5_DEPRECATED=1 -DKRB5_PRIVATE -I/usr/include -I/usr/local/include - >>>> isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem / >>>> usr/local/include -fno-strict-aliasing -std=gnu99 -Werror=unknown- >>>> warning-option -Wall -Wcast-align -Wshadow -Wmissing-prototypes - >>>> pedantic -Wno-format-zero-length -Woverflow -Wstrict-overflow -Wmissing- >>>> format-attribute -Wmissing-prototypes -Wreturn-type -Wmissing-braces - >>>> Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-variable >>>> -Wunused-value -Wunknown-pragmas -Wsign-compare -Wnewline-eof - >>>> Werror=uninitialized -Werror=pointer-arith -Werror=int-conversion - >>>> Werror=incompatible-pointer-types -Werror=implicit-int -Werror=strict- >>>> prototypes -Werror=declaration-after-statement -Werror-implicit- >>>> function-declaration -pthread -c kadmin_ct.c >>>> cc -DHAVE_CONFIG_H -I../../include -I../../include -I. - >>>> DKRB5_DEPRECATED=1 -DKRB5_PRIVATE -I/usr/include -I/usr/local/include - >>>> isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem / >>>> usr/local/include -fno-strict-aliasing -std=gnu99 -Werror=unknown- >>>> warning-option -Wall -Wcast-align -Wshadow -Wmissing-prototypes - >>>> pedantic -Wno-format-zero-length -Woverflow -Wstrict-overflow -Wmissing- >>>> format-attribute -Wmissing-prototypes -Wreturn-type -Wmissing-braces - >>>> Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-variable >>>> -Wunused-value -Wunknown-pragmas -Wsign-compare -Wnewline-eof - >>>> Werror=uninitialized -Werror=pointer-arith -Werror=int-conversion - >>>> Werror=incompatible-pointer-types -Werror=implicit-int -Werror=strict- >>>> prototypes -Werror=declaration-after-statement -Werror-implicit- >>>> function-declaration -pthread -c getdate.c >>>> cc -L../../lib -O2 -pipe -fstack-protector-strong -isystem /usr/local/ >>>> include -fno-strict-aliasing -std=gnu99 -L/usr/lib -Wl,-rpath,/usr/ >>>> local/lib:/usr/lib -L/usr/local/lib -o kadmin.local kadmin.o >>>> kadmin_ct.o ss_wrapper.o getdate.o keytab_local.o ../../lib/libss.a - >>>> lreadline -lkadm5srv_mit -lkdb5 -lgssrpc -lgssapi_krb5 -lgssrpc - >>>> lgssapi_krb5 -pthread -lpthread -lkrb5 -lk5crypto -lcom_err - >>>> lkrb5support -lintl -L/usr/local/lib >>>> cc -L../../lib -O2 -pipe -fstack-protector-strong -isystem /usr/local/ >>>> include -fno-strict-aliasing -std=gnu99 -L/usr/lib -Wl,-rpath,/usr/ >>>> local/lib:/usr/lib -L/usr/local/lib -o kadmin kadmin.o kadmin_ct.o >>>> ss_wrapper.o getdate.o keytab.o ../../lib/libss.a -lreadline - >>>> lkadm5clnt_mit -lgssrpc -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err - >>>> lkrb5support -lintl -L/usr/local/lib >>>> ld: error: undefined symbol: tputs >>>>>>> referenced by /usr/src/gnu/lib/libreadline/readline/../../../../ >>>> contrib/libreadline/display.c >>> /usr/src/gnu/lib/libreadline/ last existed in: >>> stable/11/ and releng/11.*/ . >>> >>> It does not exist in: stable/1[2345]/ or releng/1[2345].*/ >>> >>> The existence of /usr/src/gnu/lib/libreadline/ references in your tree >>> indicates that your tree is poluted with very old materials. That the >>> references were used indicates that the old materials are not being ignored. >>> >> Hmm... so what's the solution? >> >> >> Something like this: >> >> |pkg autoremove -y| >> >> >> or is the issue actually that the base system has become contaminated? > /usr/src/ is a base system source tree (under normal naming conventions > --and the referenced content confirms it here). > > Other things in your system environment outside /usr/src/gnu/ may also > be out of date. You may need a very general cleanout of out of > date materials. I've no clue what overall. > > In stable/14 and releng/14.4/ /usr/src/gnu/ there is only: > > ) /usr/src/gnu/lib/libdialog/ > ) /usr/src/gnu/lib/tests/ > ) /usr/src/gnu/tests/ > ) /usr/src/gnu/usr.bin/dialog/ > ) /usr/src/gnu/usr.bin/diff3/ > ) /usr/src/gnu/usr.bin/tests/ I just checked inside the jail and /usr/src is empty.... I'm not sure to trust Google's AI but this is one of the suggestions it came out with: make delete-old-libs DESTDIR=/path/to/jail maybe that's the solution? I tried rebuilding the ports that krb5 depends on (even tough I did a full install rebuild anyway and just refetched the tree cleaning out the older version) which didn't help Hmm....