LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Gentoo (https://www.linuxquestions.org/questions/gentoo-87/)
-   -   sys-libs/libstdc++-v3 is it needed these days? (https://www.linuxquestions.org/questions/gentoo-87/sys-libs-libstdc-v3-is-it-needed-these-days-4175619881/)

_roman_ 12-19-2017 08:36 AM

sys-libs/libstdc++-v3 is it needed these days?
 
This is the one of the few packages which fail to build with PIE and gcc 7.2.0 and desktop 17 profile.

It seems gcc 3.3.x is unpacked and some binary is build.

The description says "Description: Compatibility package for binaries linked against a pre gcc 3.4 libstdc++"

How likely is that I'll use such a binary?

I get the feeling none tested that package as there is hardly a need for that. I remember having that package for a very long time on my box. It is quite old!

I think there is no demand for such a package anymore these days and it should be safe to remove it now.

I think it is one of the few packages the tree cleaners do not remove although no one really needs it anymore.

Quote:

MULTILIB_CFLAGS="" T= crtbeginT.o
make[3]: Entering directory '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc'
make[3]: Entering directory '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc'
/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/gcc-3.3.6/gcc/unwind-dw2.c: In function `uw_frame_state_for':
/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/gcc-3.3.6/gcc/unwind-dw2.c:954: error: dereferencing pointer to incomplete type
/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc/xgcc -B/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/gcc-3.3.6/gcc -I/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/gcc-3.3.6/gcc/. -I/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/gcc-3.3.6/gcc/config -I/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/gcc-3.3.6/gcc/../include -m32 -DL_muldi3 -c /var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/gcc-3.3.6/gcc/libgcc2.c -o libgcc/32/_muldi3.o
make[2]: *** [libgcc.mk:200: libgcc/./unwind-dw2.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc'
make[3]: Leaving directory '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc'
make[3]: Leaving directory '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc'
make[3]: Leaving directory '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc'
make[3]: Leaving directory '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc'
make[2]: Leaving directory '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc'
make[1]: *** [Makefile:1509: stmp-multilib] Error 2
make[1]: Leaving directory '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc'
make: *** [Makefile:1546: all-gcc] Error 2
emake failed
* ERROR: sys-libs/libstdc++-v3-3.3.6-r1::gentoo failed (compile phase):
* (no error message)
*
* Call stack:
* ebuild.sh, line 124: Called src_compile
* environment, line 2327: Called die
* The specific snippet of code:
* emake all-target-libstdc++-v3 || die
*
* If you need support, post the output of `emerge --info '=sys-libs/libstdc++-v3-3.3.6-r1::gentoo'`,
* the complete build log and the output of `emerge -pqv '=sys-libs/libstdc++-v3-3.3.6-r1::gentoo'`.
* The complete build log is located at '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/temp/environment'.
* Working directory: '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build'
* S: '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/gcc-3.3.6'

>>> Failed to emerge sys-libs/libstdc++-v3-3.3.6-r1, Log file:

>>> '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/temp/build.log'
ASUS-G75VW /home/roman # emerge -s libstdc++

[ Results for search key : libstdc++ ]
Searching...

* sys-libs/libstdc++-v3
Latest version available: 3.3.6-r1
Latest version installed: [ Not Installed ]
Size of files: 23.462 KiB
Homepage: https://gcc.gnu.org/libstdc++/
Description: Compatibility package for binaries linked against a pre gcc 3.4 libstdc++
License: GPL-2 LGPL-2.1

ShadowCat8 12-21-2017 08:18 PM

Greetings,

Well, the first question that comes to my mind is; What do you get when you do a
Code:

~ # gcc-config -l
In answer to your question, probably not very likely if you have kept your system current, but you can always check using things like:
Code:

~ # emerge -pv --depclean sys-libs/libstdc++-v3
and/or
Code:

~ # equery depends sys-libs/libstdc++-v3
to make sure there is nothing hanging around on your system that might need it.

HTH. Let us know.

i92guboj 12-22-2017 03:36 AM

Well, it will remain there -at least- for as long as there's a gcc-2.95 and a gcc-3.3 in portage (even if they are masked, they are still there).

Besides that, I don't think there's anything in current portage that needs libstdc++-v3.

i92guboj 12-22-2017 03:38 AM

As for checking if YOU need it in your system, you can proceed as ShadowCat8 told you. Most likely, you don't need it unless you are using some legacy software outside of portage.

_roman_ 12-22-2017 08:23 PM

Thanks for the answers. I remember your name: i92guboj. You are a very old gentoo guy.

Thanks for making it clear. It is some binary blob for the past which is not needed.

Nothing depends on that ebuild. And recent portage keeps shared libaries until you rebuild that ebuild.

Well my box is quite old. So there is some "lint" there which should be removed.

I'm not sure if any gcc will build with recent changes to the profiles again.



Quote:

ASUS-G75VW /home/roman # gcc-config -l
[1] x86_64-pc-linux-gnu-6.4.0
[2] x86_64-pc-linux-gnu-7.2.0 *
Bear in mind that gcc 6.4.0 was just pulled on my box for testing purposes. Was an useless effort as those packages which do not build with gcc 7.2.0 did not build with gcc 6.4.0. I switched from gcc 5.4.0 and profile 13 desktop to profile 17 and gcc 7.2.0
Gcc 5.4.0 was removed as the profile is not compatible, and some other geek explanation which I skipped this time. Maybe some C abi stuff again, the same c abi stuff which happened around gcc 4.9.0 => up or downwards.

i92guboj 12-23-2017 04:03 AM

I've been around a while, yes. Though nowadays I am too busy with other things and I am no longer devoting much time to Gentoo as I used to do in the past.

I still wander the forums from time to time though. :)

I am still a Gentoo user, and I -basically- have had the same installation since I migrated from x86 to amd64, it might be over a decade old by now and has been cloned a lot of times between different machines with amd and intel cpus without any trouble. When my laptop dies I just buy a "new" second hand one at ebay and then swap the ssd from the old to the new machine. Most times I just need to add one more driver so that wifi will work.

_roman_ 12-23-2017 05:34 AM

It seems we went the similar route at the end.
I went also from buying new laptops to buying second hand ones.
I also moved my gentoo quite several times. Which explains the usuage of lvm2 / luks now.


All times are GMT -5. The time now is 03:04 AM.