USE_GCC politic -- why so many ports has it as runtime dependency?
lev at FreeBSD.org
Sat Feb 8 08:21:01 UTC 2014
You wrote 8 февраля 2014 г., 3:39:37:
>>>> And it seems, that most of USE_GCC-equipped ports pull all this development
>>>> toolkit for nothing!
>> DA> Well, some ports can be more or less difficult to get building with
>> DA> clang. So depending on whether the maintainer(s) wish to choose the way
>> DA> of least resistance, they will sometimes decide to set USE_GCC.
>> I'm not speaking about BUILD. I'm speaking about RUN. Why do I need compiler,
>> assembler, linker & Ko to run pre-build software?
JM> dynamically linked libraries.
90% of USE_GCC-ports don't use libgrotran & libquadmath. Many of them
doesn;t use libstdc++. virtualbox-ose-additions DOESN'T USAE ANY OF THESE
LIBRARIES! And I think, it is not unique in this regard!
And, of course, 99.9% of them doesn't use Java!
JM> Ah, yes it is. See above.
JM> GCC is built with GAS. It needs the GAS that it's configured with.
But all these ports, which uses only libgcc_s and/or libstdc++ don't.
You try to explain why it is as it is now, from purely formal, technical
point of view. I know, thank you.
What It try to say, that now, when we have binary packages (thank you,
everybody, who make it possible!) and we don't have gcc in base on
10/CURRENT (and old gcc on older systems), we BADLY NEED way not to pull
0.5G of dependencies with any package, which was build with gcc!
>> in case of USE_GCC, as libgcc.so + libstdc++.so is a tiiiiiiny fraction of full
>> binutils + gcc package, and on non-developers system there is no need to
>> have 0.5G of toolchain only because some software were build by this
>> tooclahin on our build cluster!
>> And I have feeling, that right now many cases of USE_GCC=any could be
>> replaced with USE_GCC=any:build and some "magic" to link with
>> libgcc/libstdc++ statically. Without any modularization of packages and
>> pkgng support.
JM> My feeling is that this isn't correct.
There are "-static-libgcc" and "-static-libstdc++" flags for gcc... What
does they mean? I understand, that it is not for EACH port, but, maybe, for
most of them they are Ok?
// Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>
More information about the freebsd-ports