On 22 February 2010 18:51, daid kahl <daid...@gmail.com> wrote:
> On 22 February 2010 12:28, Michael P. Soulier <msoul...@digitaltorque.ca> 
> wrote:
>> So, I need pdftk to build some documents, so I emerge it and it tells me that
>> I need to update my USE flags and rebuild gcc with gcj support.
>
>> So, I do. I added gcj to my global make.conf and ran the emerge, and gcc was
>> rebuilt.
[snip]
>
> Clearly I think this is the latter case of rtfm.  And by read the fine
> manual, I mean read the emerge output you sent to me.
[snip]
> ~daid

Sorry, my conscience is getting the best of me, since in my mind
sending "rtfm" to the user list is one of the biggest "FU"s and can
only deter people from Gentoo.

I also don't rtfm a lot of them time, although I try to do my own best
before hitting the user list.  But since the question has come up, I
will go through the important points, which are short.

Now gcc-config is a great tool.  I have 6 gcc's installed, and I think
I want another one once I'm not being overworked this week.  I'm not
saying you have use for more than one gcc yourself, but obviously you
have a need for using gcc-config.

So I find a gcc version I don't have installed as an example.

d...@flux ~ $ emerge =gcc-4.4.2

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  NS   ] sys-devel/gcc-4.4.2 [3.4.6-r2, 4.1.2, 4.2.4-r1,
4.3.2-r3, 4.3.4, 4.4.3] USE="fortran gcj gtk mudflap multislot nls
nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -graphite
(-hardened) (-libffi) (-multilib) (-n32) (-n64) -nocxx -objc -objc++
-objc-gc -test -vanilla" 61,459 kB

Total: 1 package (1 in new slot), Size of downloads: 61,459 kB

Would you like to merge these packages? [Yes/No]

(please set EMERGE_DEFAULT_OPTS="--ask --verbose" in /etc/make.conf so
this is your standard output)

the part [ebuild  ] tells you a lot of useful information.  You should
never ever emerge a package without pretend or ask on it in my
opinion.  Even when I did a world on ~x86 upgrade last week and it was
404 packages, I at least read every package name that was being
installed to look for red flags and other things I might care about
personally.

Now in this case we see [ebuild  NS   ] which means it is New and
Slotted.  The slotted part is important, because it means that this
action will not remove the old package, and now you will have at least
two on the system.  You need to run emerge --depclean to clean it, or
unmerge it yourself manually.  (By the way, can someone remind me if
there is an easy way to keep depclean from cleaning gcc's?  I kind of
recall that explicitly listing them in world doesn't work, but for the
most part I forget and just avoid depcleaning more than a few times a
year.)

If it was a rebuid as you said, then you'd have an R instead of and N.

It also says "1 in new slot" so please pretend/ask emerges and read
what it says before continuing the emerge, again.

For library access on gcc's, you don't need to change the compiler,
(I need this for some janky binaries I have that are hardlinking to
certain gcc libraries...ugh.)  But if you want to *use* the compiler,
you need to sudo gcc-config # && source /etc/profile.  Personally I
don't use && and I start typing source /etc/profile before gcc-config
is done because it's faster.  Get the # from gcc-config -l instead of
typing the monstrosity portage suggested or evil of all evils, copy
and pasting what portage told you to do blindly (although that's
better than ignoring the advice or portage and complaining that
portage is misleading because your results didn't work because you
didn't follow what it said to do).

Please never tell me ever again that the build process in portage is
not automated (dude, you're installing source code with custom configs
... please consider Linux From Scratch) or that Gentoo has mislead
anyone, unless like that actually somehow happens, which I highly
doubt.  Have you ever tried using other package managers?  What about
using them to build from source?  On the topic but a rant, I wanted
gcc-3.4.6 on Mac OS since sometimes I boot into Mac OS and proceed to
rip the hair from my head.

Please see the 20 month old bug I encountered trying to build a
hardened gcc compiler, and also not that Mac OS does not ship with
*any* form of Fortran compiler.

Link: http://trac.macports.org/ticket/15838

Replies to the ticket (bugzilla) from people I can only pray are *not*
developers, on a bug for the package gcc34:

"Why do you need gcc34?"

"I do not know if it will be possible to make gcc 3.4 work on Leopard.
gcc 3.4 is very old. It will probably be a better use of your time to
update your software to work with gcc 4.3. For example the qemu port
has been updated to work with gcc4 on Leopard on Intel. See its
patches."

"As gcc34 does not compile on Tiger or Leopard, we should think about
removing the port."

Then they just talk about removing dependencies from macports to the
package, but the package was *still there* like a couple months ago.
And it does suck, but there is some stuff that wants to use g77
compilers and I don't personally I the time to recode this stuff.

I was bored trying to install Gentoo Prefix in Mac OS since at least
if I ever have to see Aqua's ugly face and get kicked repeatedly in
the shins by Darwin I will have portage.  Do you realize that I could
find more bug hits / advice for errors encountered by Gentoo Prefix
*on Mac OS specifically* than I can ever find for either fink or
macports?  That tells you something really, really crazy about life.
I actually want to put Gentoo Prefix over there and confirm that Mac
OS 10.5 can compile gcc-3.4.6 (or if not at least see what Gentoo says
about the error reports!) and then go post on this stupid bugzilla
they have.

If portage (or paludis, I haven't tried it yet but I really want to)
is not the single best package manager on the planet with the single
best user community supporting it, please advise.

~daid

Reply via email to