Re: build failure of old GCC: .../libstdc++.so.6: version `GLIBCXX_3.4.30' not found

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 4 Jul 2022 at 12:58, Vincent Lefevre <vincent+gcc@xxxxxxxxxx> wrote:
>
> On a Debian/unstable machine, I'm trying to build old GCC, such as
> one based on 0cc79337ad265aabccab63882a810f9dc509a9d0 (2021-04-20).
> I'm using
>
>   ../gcc-trunk/configure --prefix=$HOME/opt/gcc-trunk \
>                          --enable-multiarch \
>                          --enable-languages=c \
>                          --program-suffix=-test
>
> but "make" gives the following error:
>
> /usr/bin/msgfmt: /home/vlefevre/software/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /usr/lib/x86_64-linux-gnu/libicuuc.so.71)

Something is setting LD_LIBRARY_PATH so that the newly-built
libstdc++.so is being used.

Where in the build does it fail? I don't think LD_LIBRARY_PATH should
be set until running the testsuites.

> while
>
> cventin:~> /usr/bin/msgfmt --version
> msgfmt (GNU gettext-tools) 0.21
> [...]
>
> gives no errors (and there is no issue when building GCC based on
> d2a898666609452ef79a14feae1cadc3538e4b45 (current master) anyway).
>
> What should I do?

As a temporary workaround, you could try:

mkdir /tmp/bin
cat > /tmp/bin/msgfmt <<EOT
#!/bin/sh
unset LD_LIBRARY_PATH
/usr/bin/msgfmt "$@"
EOT

and then set PATH=/tmp/bin:$PATH before running make.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux