NetBSD-Users archive

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

Re: libstdc++.so.7 is missing



Leonardo Taccari <leot%NetBSD.org@localhost> writes:

> Greg Troxel writes:
>> [...]
>> Overall, just randomly trying things isn't going to help.  We need to
>> find the bug so we can fix it.
>>
>>
>> How are other people doing with these packages and netbsd-8?
>>
>> Is it just midori?  Are there other packages that have binaries that try
>> to load stdc++.so.8?
>> [...]
>
> I think that the root case is the following:
> webkit-gtk needs gcc 6.0 or newer and that's required via GCC_REQD
> both in in www/webkit-gtk/Makefile and www/webkit-gtk/buildlink3.mk.
> This leads to build webkit-gtk and its dependencies (at least
> midori!) fine but fails at run time as noticed by Pedro.
>
> I think that libstdc++.so.7 is actually provided by lang/gcc6-libs
> and I think that webkit-gtk probably also needs
> `USE_GCC_RUNTIME= yes' too (but I'm pretty unfamiliar with that and
> I hope that someone can comment on that after we double-check that's
> actually the issue!).
>
> Pedro, can you please try to install gcc6-libs package and let us
> know if that fixes the problem?

I think there are actually two bugs, and we need to fix both.

1) gcc*-libs packages have stdc++.so.7

-rw-r--r--  1 pkgmastr  netbsd  2560144 Oct  5 21:45 gcc48-libs-4.8.5nb7.tgz
-rw-r--r--  1 pkgmastr  netbsd  5107668 Oct  6 05:49 gcc7-libs-7.3.0nb4.tgz
-rw-r--r--  1 pkgmastr  netbsd  2784192 Oct  6 08:53 gcc49-libs-4.9.4nb8.tgz
-rw-r--r--  1 pkgmastr  netbsd  4096904 Dec 28 08:02 gcc6-libs-6.5.0nb3.tgz
-rw-r--r--  1 pkgmastr  netbsd  7611972 Jan 14 05:02 gcc8-libs-8.2.0nb3.tgz
-rw-r--r--  1 pkgmastr  netbsd  3724904 Jan 14 05:02 gcc5-libs-5.5.0nb5.tgz

ftp gdt 45 /pub/pkgsrc/packages/NetBSD/amd64/8.0_2018Q4/All > pkg_info -L gcc6-libs-6.5.0nb3.tgz | egrep stdc++
/usr/pkg/gcc6/x86_64--netbsd/lib/libstdc++.so
/usr/pkg/gcc6/x86_64--netbsd/lib/libstdc++.so.7
/usr/pkg/gcc6/x86_64--netbsd/lib/libstdc++.so.7.22
/usr/pkg/gcc6/x86_64--netbsd/lib/libstdc++.so.7.22-gdb.py

But this is not about them being old.  gcc6-libs on my netbsd-8 system, built on January 8, is also .so.7.

It is not going to work to build things with different compilers unless
they all have the same ABI.  Which isn't really the case, and it really
really isn't ther case with different shlib versions.

2) separately from the above, anything that ends up linking to a
gccN-libs package has to have this end up as a dependency.  Perhaps
anything that uses a GCC_REQ-induced compiler and has USE_LANGUAGES=c++,
but setting it manually sounds fine.

Maybe Roland can figure out how to make pkglint also process binary
packages and look for a REQUIRES from another package without a matching
dependency :-)



To fix the first problem, I think we need to either

  really deal with compiler selection, which I think now means
     build gcc6
     use gcc6 for everything
  and this is sort of written up on the wiki

  make the shlib version of stdc++ consistent across base and all
  compilers, and then hope whatever ABI fuzz there is doesn't hurt.


Home | Main Index | Thread Index | Old Index