Re: [gentoo-user] building pdftk (needs gcj)

2010-02-22 Thread daid kahl
On 22 February 2010 18:51, daid kahl  wrote:
> On 22 February 2010 12:28, Michael P. Soulier  
> 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 mont

Re: [gentoo-user] building pdftk (needs gcj)

2010-02-22 Thread daid kahl
On 22 February 2010 12:28, Michael P. Soulier  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.

Nope!  You did NOT rebuild gcc. You installed a new version of gcc, as
gcc is slotted an an update to the portage tree has occurred since
your last install of gcc, and you did not specify to rebuild your
installed version of gcc with emerge =gcc(version)

> On 21/02/10 Stroller said:
>
>> It's using the old version of gcc, because you haven't told it to use
>> the new version.
>>
>> The output you posted specifically told you to run:
>>
>>   gcc-config i686-pc-linux-gnu-4.3.4
>>
>>   source /etc/profile
>
> Ok, then shouldn't emerge have done that automatically, since it seemed to
> know that I needed gcj and to rebuild gcc before building pdftk? What's the
> point in continuing or pretending that the build process here is in any way
> automatic?
>
> Tad misleading.
>
> Mike
> --

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.

gcc-config is very streamlined in this sense, it comes by default in
Gentoo (as far as I know), and I've used plenty of machines without
it, and it's very annoying to me to say the least.  It even told you
to do this.  Did you want it to change you USE flags for you too?

~daid



Re: [gentoo-user] building pdftk (needs gcj)

2010-02-22 Thread Alan McKinnon
On Monday 22 February 2010 05:28:14 Michael P. Soulier wrote:
> On 21/02/10 Stroller said:
> > It's using the old version of gcc, because you haven't told it to use
> > the new version.
> > 
> > The output you posted specifically told you to run:
> >   gcc-config i686-pc-linux-gnu-4.3.4
> >   
> >   source /etc/profile
> 
> Ok, then shouldn't emerge have done that automatically, since it seemed to
> know that I needed gcj and to rebuild gcc before building pdftk? What's the
> point in continuing or pretending that the build process here is in any way
> automatic?
> 
> Tad misleading.

Not at all. It clearly told you just before that why it was not going to do 
it:

You had already instructed the system to use a specific gcc and the system 
policy is that your explicit instructions override it's implicit defaults.


-- 
alan dot mckinnon at gmail dot com



Re: [gentoo-user] building pdftk (needs gcj)

2010-02-21 Thread Dale

chrome://messenger/locale/messengercompose/composeMsgs.properties:

On 21/02/10 Stroller said:

   

It's using the old version of gcc, because you haven't told it to use
the new version.

The output you posted specifically told you to run:

   gcc-config i686-pc-linux-gnu-4.3.4

   source /etc/profile
 

Ok, then shouldn't emerge have done that automatically, since it seemed to
know that I needed gcj and to rebuild gcc before building pdftk? What's the
point in continuing or pretending that the build process here is in any way
automatic?

Tad misleading.

Mike
   


Actually it shouldn't.  Some people. myself included at times, have two 
versions of a compiler installed at the same time.  Some things portage 
can do for you but switching compilers is not one of them.


Dale

:-)  :-)



Re: [gentoo-user] building pdftk (needs gcj)

2010-02-21 Thread Michael P. Soulier
On 21/02/10 Stroller said:

> It's using the old version of gcc, because you haven't told it to use  
> the new version.
> 
> The output you posted specifically told you to run:
> 
>   gcc-config i686-pc-linux-gnu-4.3.4
> 
>   source /etc/profile

Ok, then shouldn't emerge have done that automatically, since it seemed to
know that I needed gcj and to rebuild gcc before building pdftk? What's the
point in continuing or pretending that the build process here is in any way
automatic?

Tad misleading.

Mike
-- 
Michael P. Soulier 
"Any intelligent fool can make things bigger and more complex... It takes a
touch of genius - and a lot of courage to move in the opposite direction."
--Albert Einstein


pgpclVqFaUsbV.pgp
Description: PGP signature


Re: [gentoo-user] building pdftk (needs gcj)

2010-02-21 Thread Stroller


On 21 Feb 2010, at 22:56, Michael P. Soulier 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.


Installing (1 of 2) sys-devel/gcc-4.3.4

* The current gcc config appears valid, so it will not be
* automatically switched for you.  If you would like to
* switch to the newly installed gcc version, do the
* following:

* gcc-config i686-pc-linux-gnu-4.3.4
* source /etc/profile

* No profile selected, unable to utilize --use-old

* If you have issues with packages unable to locate libstdc++.la,
* then try running 'fix_libtool_files.sh' on the old gcc versions.

But now pdftk fails to build because there's no gcj command.

make[2]: Entering directory
`/var/tmp/portage/app-text/pdftk-1.41-r1/work/pdftk-1.41/java_libs/ 
com/lowagie/text'

gcj -O2 -march=athlon-xp -pipe -w --encoding=UTF-8
--classpath="/var/tmp/portage/app-text/pdftk-1.41-r1/work/pdftk-1.41/ 
java_libs"

-c Anchor.java -o Anchor.o
/bin/sh: gcj: command not found
make[2]: *** [Anchor.o] Error 127

I'm confused.


It's using the old version of gcc, because you haven't told it to use  
the new version.


The output you posted specifically told you to run:

 gcc-config i686-pc-linux-gnu-4.3.4

 source /etc/profile

Stroller.




Re: [gentoo-user] building pdftk (needs gcj)

2010-02-21 Thread Alan McKinnon
On Monday 22 February 2010 00:56:47 Michael P. Soulier 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.
> 
> >>> Installing (1 of 2) sys-devel/gcc-4.3.4
> 
>  * The current gcc config appears valid, so it will not be
>  * automatically switched for you.  If you would like to
>  * switch to the newly installed gcc version, do the
>  * following:
> 
>  * gcc-config i686-pc-linux-gnu-4.3.4
>  * source /etc/profile

   ^

Did you do this?


> 
>  * No profile selected, unable to utilize --use-old
> 
>  * If you have issues with packages unable to locate libstdc++.la,
>  * then try running 'fix_libtool_files.sh' on the old gcc versions.
> 
> But now pdftk fails to build because there's no gcj command.
> 
> make[2]: Entering directory
> `/var/tmp/portage/app-text/pdftk-1.41-r1/work/pdftk-1.41/java_libs/com/lowa
> gie/text' gcj -O2 -march=athlon-xp -pipe -w --encoding=UTF-8
> --classpath="/var/tmp/portage/app-text/pdftk-1.41-r1/work/pdftk-1.41/java_l
> ibs" -c Anchor.java -o Anchor.o
> /bin/sh: gcj: command not found
> make[2]: *** [Anchor.o] Error 127
> 
> I'm confused.
> 
> Mike

-- 
alan dot mckinnon at gmail dot com



[gentoo-user] building pdftk (needs gcj)

2010-02-21 Thread Michael P. Soulier
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. 

>>> Installing (1 of 2) sys-devel/gcc-4.3.4
 * The current gcc config appears valid, so it will not be
 * automatically switched for you.  If you would like to
 * switch to the newly installed gcc version, do the
 * following:

 * gcc-config i686-pc-linux-gnu-4.3.4
 * source /etc/profile

 * No profile selected, unable to utilize --use-old

 * If you have issues with packages unable to locate libstdc++.la,
 * then try running 'fix_libtool_files.sh' on the old gcc versions.

But now pdftk fails to build because there's no gcj command.

make[2]: Entering directory
`/var/tmp/portage/app-text/pdftk-1.41-r1/work/pdftk-1.41/java_libs/com/lowagie/text'
gcj -O2 -march=athlon-xp -pipe -w --encoding=UTF-8
--classpath="/var/tmp/portage/app-text/pdftk-1.41-r1/work/pdftk-1.41/java_libs"
-c Anchor.java -o Anchor.o
/bin/sh: gcj: command not found
make[2]: *** [Anchor.o] Error 127

I'm confused.

Mike
-- 
Michael P. Soulier 
"Any intelligent fool can make things bigger and more complex... It takes a
touch of genius - and a lot of courage to move in the opposite direction."
--Albert Einstein


pgpHiI7NGuaYO.pgp
Description: PGP signature