Hi folks,

Previous GCC library paths are baked into libtool!

Belated rediscovery of a previously used "feature".

As ncurses is baked with a specific autoconf version 2.52, it can not be autoreconf-ed, but includes a fixup script to hack /usr/bin/libtool to update library paths to the latest GCC major version!

Enabled execution of fixup script hack against libtool during each run to avoid any future issues!

Not sure why libtool could not be written to use `gcc -dumpversion`, the path search expression in the fixup script, or the autotools/gnulib LT_INIT/AC_PROG_LIBTOOL/AM_PROG_LIBTOOL machinery to set the appropriate path?

Sheesh! Sorry for the noise!


On 2025-08-23 13:19, Brian Inglis via Cygwin wrote:
Also failing in GitHub Scallywag CI:

https://cygwin.com/cgi-bin2/jobs.cgi?id=10262&srcpkg=ncurses&user=Brian+Inglis

https://github.com/cygwin/scallywag/actions/runs/17178449093

https://github.com/cygwin/scallywag/actions/runs/17178449093/job/48737632987

cd ../lib && /usr/bin/libtool --tag=CXX --silent --mode=link /usr/bin/g++  -ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=3 -fstack- protector-strong --param=ssp-buffer-size=4 -Werror=return-type -ffile-prefix- map=/cygdrive/d/a/scallywag/ncurses/ncurses-6.5+20250816-1.x86_64/build=/usr/ src/debug/ncurses-6.5+20250816-1 -ffile-prefix-map=/cygdrive/d/a/scallywag/ ncurses/ncurses-6.5+20250816-1.x86_64/src/ncurses-6.5-20250816=/usr/src/debug/ ncurses-6.5+20250816-1  \     -o libncurses++w.la ../obj_lo/cursesf.lo ../obj_lo/cursesm.lo ../obj_lo/ cursesw.lo ../obj_lo/cursespad.lo ../obj_lo/cursesp.lo ../obj_lo/cursslk.lo ../ obj_lo/cursesapp.lo ../obj_lo/cursesmain.lo \
     -rpath /usr/lib \
    -version-number 10:0 -no-undefined -L../lib -lformw -lmenuw -lpanelw - lncursesw  -L../lib ../lib/libformw.la ../lib/libmenuw.la ../lib/ libpanelw.la ../lib/libncursesw.la   -lutil /usr/lib/gcc/x86_64-pc-cygwin/13/../../../../x86_64-pc-cygwin/bin/ld: cannot find /usr/lib/gcc/x86_64-pc-cygwin/12/crtbeginS.o: No such file or directory /usr/lib/gcc/x86_64-pc-cygwin/13/../../../../x86_64-pc-cygwin/bin/ld: cannot find /usr/lib/gcc/x86_64-pc-cygwin/12/crtend.o: No such file or directory
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:383: ../lib/libncurses++w.la] Error 1
make[1]: Leaving directory '/cygdrive/d/a/scallywag/ncurses/ ncurses-6.5+20250816-1.x86_64/build/c++'
make: *** [Makefile:142: all] Error 2
*** ERROR: make failed

On 2025-08-23 13:00, Brian Inglis via Cygwin wrote:
In libtool build (ncurses package update), installed gcc 13:

$ gcc --version
gcc (GCC) 13.4.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

collect2 appears to be looking for startup crt objects from gcc 12:

cd ../lib && /usr/bin/libtool --tag=CXX --silent --mode=link /usr/bin/g++  - ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=3 -fstack- protector-strong --param=ssp-buffer-size=4 -Werror=return-type -ffile-prefix- map=/usr/src/ncurses/ncurses-6.5+20250816-1.x86_64/build=/usr/src/debug/ ncurses-6.5+20250816-1 -ffile-prefix-map=/usr/src/ncurses/ ncurses-6.5+20250816-1.x86_64/src/ncurses-6.5-20250816=/usr/src/debug/ ncurses-6.5+20250816-1  \          -o libncurses++w.la ../obj_lo/cursesf.lo ../obj_lo/cursesm.lo ../ obj_lo/cursesw.lo ../obj_lo/cursespad.lo ../obj_lo/cursesp.lo ../obj_lo/ cursslk.lo ../obj_lo/cursesapp.lo ../obj_lo/cursesmain.lo \
     -rpath /usr/lib \
     -version-number 10:0 -no-undefined -L../lib -lformw -lmenuw -lpanelw - lncursesw  -L../lib ../lib/libformw.la ../lib/libmenuw.la ../lib/ libpanelw.la ../lib/libncursesw.la   -lutil /usr/lib/gcc/x86_64-pc-cygwin/13/../../../../x86_64-pc-cygwin/bin/ld: cannot find /usr/lib/gcc/x86_64-pc-cygwin/12/crtbeginS.o: No such file or directory /usr/lib/gcc/x86_64-pc-cygwin/13/../../../../x86_64-pc-cygwin/bin/ld: cannot find /usr/lib/gcc/x86_64-pc-cygwin/12/crtend.o: No such file or directory
collect2: error: ld returned 1 exit status

$ cygcheck -p /usr/lib/gcc/x86_64-pc-cygwin/12/
Found 2 matches for /usr/lib/gcc/x86_64-pc-cygwin/12/
gcc-debuginfo-12.4.0-3 - gcc-debuginfo: Debug info for gcc
gcc-debuginfo-12.5.0-1 - gcc-debuginfo: Debug info for gcc

--
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                -- Antoine de Saint-Exupéry

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to