Tom Callaway
2016-Jan-19 23:20 UTC
[R-sig-Fedora] WARNING you cannot build info or html versions of the R manuals
On 01/18/2016 08:50 PM, Rolf Turner wrote:> Okay; tried this. The executive summary is: It didn't work.I normally would charge a modest fee of a good bottle of liquor or a six-pack of craft beer for the following lesson, but in the spirit of easing your suffering, I shall do it once more at no charge. ;) Let's look at what didn't work.> In more detail: I got a sequence of warnings > > warning: group mockbuild does not exist - using rootYep. This is safe to ignore. What RPM is saying here is that the user who originally built this package ("mockbuild") isn't on your system. "mockbuild" is the unprivileged user/group that the Fedora buildsystem uses to build packages. However, part of that warning is something you should not ignore: " - using root". You should not be building software as root. That path leads to terrible pain and destruction. When you're ready to install the software you've built, su to root, but not before.>> error: Failed build dependencies: >> help2man is needed by texinfo-6.0-2.fc17.x86_64 >> perl(Locale::Messages) is needed by texinfo-6.0-2.fc17.x86_64 >> perl(Unicode::EastAsianWidth) is needed by texinfo-6.0-2.fc17.x86_64 >> perl(Text::Unidecode) is needed by texinfo-6.0-2.fc17.x86_64These messages come from RPM and they say "I've checked my database of packages against what this src RPM says it needs to build and nothing provides these". RPM isn't psychic. It only knows about packages that have been installed by RPM. Anything you build from source by hand is not known to it at all. These "perl(Foo::Bar)" dependencies are provided by perl packages, where Foo::Bar is the CPAN module. You can see an example of this by querying the perl package: [spot at localhost ~]$ rpm -q perl --provides perl = 4:5.22.1-355.fc24 perl(AnyDBM_File) = 1.01 perl(AutoLoader) = 5.74 perl(AutoSplit) = 1.06 ... This allows you to say: yum install "perl(AnyDBM_File)" And yum will go find the RPM package that Provides: perl(AnyDBM_File) and install it for you. You don't have to remember the name of the package, just the CPAN module name.> Did a sudo yum install help2man which seemed to work.> Then searched > around to try to fathom the perl messages. Found indications that I > needed to install perl-libintl-1.20-13.fc21.src.rpm.Points to you. perl-libintl Provides: perl(Locale::Messages). That package actually exists in Fedora 17, so you can do: sudo yum install "perl(Locale::Messages)" And it will install it for you. The same is true for "perl(Text::Unidecode)" but sadly, not for "perl(Unicode::EastAsianWidth)".> Got that rpm and did > > rpmbuild --rebuild perl-libintl-1.20-13.fc21.src.rpm > > going by analogy and hope. Something seemed to happen. Then didThat built the src rpm into binary packages for Fedora 17.> cd ~/rpmbuild/RPMS/x86_64 > sudo rpm -Uvh perl-libintl-1.20-13.fc17.x86_64.rpm > perl-libintl-debuginfo-1.20-13.fc17.x86_64.rpm > > (The forgoing two lines were actually a single line; I broke it for > email formatting.)That's fine. For future knowledge, you only need to install the debuginfo packages if you're planning on running the binaries in the main RPM through gdb. Otherwise, it's just eating space on your hard drive.> Then tried > > rpmbuild --rebuild texinfo-6.0-2.fc24.src.rpm > > again. Got the warnings again, of course, then the errors: > >> error: Failed build dependencies: >> perl(Unicode::EastAsianWidth) is needed by texinfo-6.0-2.fc17.x86_64 >> perl(Text::Unidecode) is needed by texinfo-6.0-2.fc17.x86_64 > > > Found what seemed to be an appropriate rpm and did > > rpmbuild --rebuild perl-Unicode-EastAsianWidth-1.33-6.fc23.src.rpm > > Got the errors > >> error: Failed build dependencies: >> perl(Module::Package) is needed by >> perl-Unicode-EastAsianWidth-1.33-6.fc17.noarch >> perl(Pod::Markdown) is needed by >> perl-Unicode-EastAsianWidth-1.33-6.fc17.noarch >> perl(Module::Package::Au) is needed by >> perl-Unicode-EastAsianWidth-1.33-6.fc17.noarch > > Scrounged around with Google; found instructions for installing perl > modules using "cpanm".Here's where you got off the main road: Installing modules via CPAN is the same as building them by hand: RPM doesn't know they exist. And that's where you lost hope. What you need to do is to keep tracing down RPM packages for dependencies and rebuilding. Normally, most Fedora users don't have to do this, because we build a whole repository of packages for them, but since you're 6 (almost 7) releases out of date, you've got harder work to do. koji.fedoraproject.org is your friend here. You can search for srpms there, download them, and rebuild them. That said, since you've listened to all of this, I've installed a Fedora 17 VM instance on my laptop and built you the missing packages you need to build R fully featured: https://spot.fedorapeople.org/fedora17-R-deps/ There is a src.rpm in there too for texlive, you don't need to install it, I just included it because I had to make a minor fix in that package to reflect the dependencies available in Fedora 17 (but really only to install the texinfo-tex subpackage, which I don't think you need to build R... but still, better complete than not). Good luck! ~tom =Red Hat
Rolf Turner
2016-Jan-20 04:10 UTC
[R-sig-Fedora] WARNING you cannot build info or html versions of the R manuals
On 20/01/16 12:20, Tom Callaway wrote:> On 01/18/2016 08:50 PM, Rolf Turner wrote: >> Okay; tried this. The executive summary is: It didn't work. > > I normally would charge a modest fee of a good bottle of liquor or a > six-pack of craft beer for the following lesson, but in the spirit of > easing your suffering, I shall do it once more at no charge. ;)Well, if you ever make it to New Zealand, get in touch and I will shout you dinner and all the wine you can drink at a restaurant of your choice. The effort you've put into this is way above and beyond the call of duty.> Let's look at what didn't work. > >> In more detail: I got a sequence of warnings >> >> warning: group mockbuild does not exist - using root > > Yep. This is safe to ignore. What RPM is saying here is that the user > who originally built this package ("mockbuild") isn't on your system. > "mockbuild" is the unprivileged user/group that the Fedora buildsystem > uses to build packages. However, part of that warning is something you > should not ignore: > > " - using root". > > You should not be building software as root. That path leads to terrible > pain and destruction. When you're ready to install the software you've > built, su to root, but not before.Ah, errmmm, I'm at a loss. I *didn't* su to root at all. Ever. The warning said "using root" --- but I didn't, in any way, tell the rpmbuild command to do it's work as root. What am I not understanding here? This is kind of irrelevant anyhow since you've built for me all the stuff that I need. So let's cut to the chase: <SNIP>> That said, since you've listened to all of this, I've installed a Fedora > 17 VM instance on my laptop and built you the missing packages you need > to build R fully featured: > > https://spot.fedorapeople.org/fedora17-R-deps/Thank you for going to all this work. However (as usual) I'm still at a bit of a loss. I *think* that just a few more words of instruction will get me to where I need to be. I went to the site that you specify and there found a list of 14 packages (rpm-s) one of which is a ".src.rpm" with the others end just in ".rpm" with no ".src" before it. OK. Now what do I do? Do I download each of these and install them, in the order that they are listed? Or is there some other incantation that should be invoked? I tried downloading the first rpm listed, id est info-6.0-2.fc17.1.x86_64.rpm and then did rpm -i info-6.0-2.fc17.1.x86_64.rpm but this gave me an error:> error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Permission denied)So I then tried: sudo rpm -i info-6.0-2.fc17.1.x86_64.rpm and got *some* action, but also got a plethora of messages:> file /sbin/install-info from install of info-6.0-2.fc17.1.x86_64 conflicts with file from package info-4.13a-16.fc17.x86_64 > file /usr/bin/info from install of info-6.0-2.fc17.1.x86_64 conflicts with file from package info-4.13a-16.fc17.x86_64 > file /usr/share/info/info-stnd.info.gz from install of info-6.0-2.fc17.1.x86_64 conflicts with file from package info-4.13a-16.fc17.x86_64 > file /usr/share/info/info.info.gz from install of info-6.0-2.fc17.1.x86_64 conflicts with file from package info-4.13a-16.fc17.x86_64 > file /usr/share/man/man1/info.1.gz from install of info-6.0-2.fc17.1.x86_64 conflicts with file from package info-4.13a-16.fc17.x86_64 > file /usr/share/man/man1/install-info.1.gz from install of info-6.0-2.fc17.1.x86_64 conflicts with file from package info-4.13a-16.fc17.x86_64 > file /usr/share/man/man5/info.5.gz from install of info-6.0-2.fc17.1.x86_64 conflicts with file from package info-4.13a-16.fc17.x86_64They don't say "error" but I am not sure what the implications are, so I stopped at that point in case I screw things up even further than I already have.> There is a src.rpm in there too for texlive, you don't need to install > it, I just included it because I had to make a minor fix in that package > to reflect the dependencies available in Fedora 17 (but really only to > install the texinfo-tex subpackage, which I don't think you need to > build R... but still, better complete than not).I didn't see anything that I could identify as a src.rpm for texlive. The one src.rpm that I see is texinfo-6.0-2.fc17.1.src.rpm Is this what you mean? Thanks again. Hoping for further enlightenment. cheers, Rolf -- Technical Editor ANZJS Department of Statistics University of Auckland Phone: +64-9-373-7599 ext. 88276
Tom Callaway
2016-Jan-20 05:31 UTC
[R-sig-Fedora] WARNING you cannot build info or html versions of the R manuals
On 01/19/2016 11:10 PM, Rolf Turner wrote:>> https://spot.fedorapeople.org/fedora17-R-deps/ > > Thank you for going to all this work. > > However (as usual) I'm still at a bit of a loss. I *think* that just a > few more words of instruction will get me to where I need to be. > > I went to the site that you specify and there found a list of 14 > packages (rpm-s) one of which is a ".src.rpm" with the others end just > in ".rpm" with no ".src" before it. > > OK. Now what do I do?Download all of them, except for the src.rpm (and the texinfo-debuginfo package). Then, run: sudo rpm -Uvh info-6.0-2.fc17.1.x86_64.rpm perl-File-ShareDir-Install-0.10-3.fc17.noarch.rpm perl-Module-Install-AuthorRequires-0.02-10.fc17.noarch.rpm perl-Module-Install-AuthorTests-0.002-10.fc17.noarch.rpm perl-Module-Install-ManifestSkip-0.24-4.fc17.noarch.rpm perl-Module-Install-Repository-0.06-10.fc17.noarch.rpm perl-Module-Manifest-Skip-0.23-4.fc17.noarch.rpm perl-Module-Package-0.30-9.fc17.noarch.rpm perl-Module-Package-Au-2-4.fc17.noarch.rpm perl-Unicode-EastAsianWidth-1.33-6.fc17.noarch.rpm texinfo-6.0-2.fc17.1.x86_64.rpm texinfo-tex-6.0-2.fc17.1.x86_64.rpm rpm has two install modes: * -i installs new packages. * -U upgrades a package over an existing install The reasons for these modes are historical trivia, practically, humans always use -U, because -i chokes if a package is already present, which is what you saw. -v tells rpm to be verbose, and -h tells it to do pretty progress hashing. hth, ~tom PS. I totally meant "texinfo" when I referred to the src.rpm earlier. Too much tex on the brain today. =Red Hat
Reasonably Related Threads
- WARNING you cannot build info or html versions of the R manuals
- WARNING you cannot build info or html versions of the R manuals
- WARNING you cannot build info or html versions of the R manuals
- WARNING you cannot build info or html versions of the R manuals
- WARNING you cannot build info or html versions of the R manuals