public inbox for libstdc++@gcc.gnu.org
 help / color / mirror / Atom feed
From: Yubin Ruan <ablacktshirt@gmail.com>
To: libstdc++@gcc.gnu.org
Subject: Re: libstdc++.so.0.29 contains undefined reference to libiconv
Date: Thu, 7 Apr 2022 10:42:45 +0800	[thread overview]
Message-ID: <CAJYFCiPU4kusaK0hCwBhkYEpwQhZkiaR7XJN4p9BXJEpmnv2-Q@mail.gmail.com> (raw)
In-Reply-To: <CAJYFCiPYMyr=MhqkY6KDD7ReaDFue3B_DNc==+sFZdEc78CFDQ@mail.gmail.com>

FYI, I compile GCC11.2 with

    > ../src/gcc-%{VERSION}/configure --enable-languages=c,c++
--disable-multilib --prefix=/usr/local/mygcc

on a CentOS7.2 with intel x64

On Thu, Apr 7, 2022 at 10:37 AM Yubin Ruan <ablacktshirt@gmail.com> wrote:
>
> Hi,
>
> I compile GCC 11.2 and get a libstdc++.so.6.0.29 (installed in
> "/usr/local/mygcc/lib64/") but this shared lib contains undefined
> reference to libiconv_*.
>
> When I compile a hello world program using gcc11.2, I get the following error:
>
> > /usr/local/mygcc/bin/g++ -Wall -std=c++17 hw.cc -o hw
> /usr/local/mygcc/bin/../lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../lib64/libstdc++.so:
> undefined reference to `libiconv'
> /usr/local/mygcc/bin/../lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../lib64/libstdc++.so:
> undefined reference to `libiconv_close'
> /usr/local/mygcc/bin/../lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../lib64/libstdc++.so:
> undefined reference to `libiconv_open'
> collect2: error: ld returned 1 exit status
>
> Adding a "-liconv" flag will help this program compile.
>
> From ldd's output, the libstdc++.so does not has any dynamic reference
> to libiconv;
>
>   > ldd /usr/local/mygcc/lib64/libstdc++.so.6.0.29
>           linux-vdso.so.1 =>  (0x00007ffce1fea000)
>           libm.so.6 => /lib64/libm.so.6 (0x00007fefc74b8000)
>           libc.so.6 => /lib64/libc.so.6 (0x00007fefc70e9000)
>           /lib64/ld-linux-x86-64.so.2 (0x00007fefc7bd1000)
>           libgcc_s.so.1 =>
> /usr/local/$INSTALL_PREFX/lib64/libgcc_s.so.1 (0x00007fefc6ed1000)
>
> But from nm 's output, there are indeed undefined reference to libiconv*
>
>   > nm -D /usr/local/mygcc/lib64/libstdc++.so.6.0.29 |grep -i iconv
>                    U libiconv
>                    U libiconv_close
>                    U libiconv_open
>
> I already have libiconv installed under /usr/local when compiling
> GCC11.2, but this does not seems to help;
> And by the way, libiconv seems to only provide dynamic lib; there is
> no libiconv.a;
>
>
> Previously I have GCC10.2 compiled & installed. The libstdc++.so.0.28
> also contains undefined ref to libiconv*
>
>   > nm -D /usr/local/mygcc/lib64/libstdc++.so.6.0.28 |grep -i iconv
>                    U libiconv
>                    U libiconv_close
>                    U libiconv_open
>
> but compiling with libstdc++.so.6.0.28 does NOT require "-liconv".
>
> So, is there anything that I missed when compiling GCC11.2 which can
> remove unnecessary dependency of libiconv ?
>
> Thanks,
> Yubin

  reply	other threads:[~2022-04-07  2:42 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-07  2:37 Yubin Ruan
2022-04-07  2:42 ` Yubin Ruan [this message]
2022-04-07  9:02 ` Jonathan Wakely
2022-04-07  9:03   ` Jonathan Wakely
2022-04-07 13:21     ` Yubin Ruan
2022-04-11 12:20       ` Jonathan Wakely
2022-04-07 13:21   ` Yubin Ruan
2022-04-07 14:04     ` Jonathan Wakely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJYFCiPU4kusaK0hCwBhkYEpwQhZkiaR7XJN4p9BXJEpmnv2-Q@mail.gmail.com \
    --to=ablacktshirt@gmail.com \
    --cc=libstdc++@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).