Re: [gentoo-user] building pdftk (needs gcj)
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)
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)
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)
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)
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)
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)
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)
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