>>> In a gcc build script terminating with the instruction >>> gcc -w -static -o myexe -O3 ./myarchive.a -lreadline -lncurses -lm >>> I have suddenly started getting very many instances of both of >>> ld: /usr/src/debug/readline-8.2-2/terminal.c:nn various: undefined reference to `{various}' >>> ld: /usr/src/debug/readline-8.2-2/display.c:nn various: undefined reference to `{various}' >>> and the build fails. >> The problem was with readline not gcc >> and I assume originates in myarchive.a and the required switch -lreadline in the gcc line >> rather than in readline: nevertheless I reverted both libreadline-devel and libreadline7 >> from 8.2-2 to 7.03 and the problem went away. > Please provide a few examples which include the actual texts of "nn various" and > `{various}' especially where any prefixes vary. > Did you also upgrade/downgrade libncurses-devel concurrent with > libreadline-devel as they are dependent? > Why suppress all warnings -w from the ld (or any) phase of compilation? > Those warnings could tell you what causes an issue. No I didn't upgrade / downgrade libncurses-devel concurrently with libreadline-devel. In fact after upgrading back to 8.2-2 and confirming the failed build I retained all current and up-to-date and made _just_one_change_: I extracted the single file libreadline.a from libreadline-devel-8.1-2.tar.xz (i.e. just one reversion to 8.1 not two to 7.0) and substituted it in place leaving everything else as for 8.2-2 including libreadline.dll.a and confirmed that this single substitution allowed the build. I suppress the warnings because there are so many of them! I can supply them but for the moment the issues that prevent a successful build using libreadline.a (8.2-2) are listed in the attached text file. Thank you very much for taking an interest.