Can't compile/install rtorrent

Hello.

I am having trouble compiling / installing / acquiring rtorrent on my FreeBSD system.

I am running FreeBSD 12.0

The first thing I tried was to use pkg

pkg install rtorrent
pkg search rtorrent

Both of these game me nothing. Looking at the fresh ports rtorrent man pages I expected this to work.

I then tried to use ports. On a fresh install I did this:
portsnap fetch
portsnap extract
cd /usr/ports/net-p2p/rtorrent/
make

I selected the default options and moved forward. I now get this error. Can someone help me? I have been using GNU/Linux for a bit but am trying to build of a FreeBSD box. :) It looks like I am missing perl5.26.3?

Code:
root@base:/usr/ports/net-p2p/rtorrent # make
===>  License GPLv2 GPLv3 accepted by the user
===>   rtorrent-0.9.7_3 depends on file: /usr/local/sbin/pkg - found
=> rtorrent-0.9.7.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://rtorrent.net/downloads/rtorrent-0.9.7.tar.gz
rtorrent-0.9.7.tar.gz                                  595 kB 2968 kBps    00s
===> Fetching all distfiles required by rtorrent-0.9.7_3 for building
===>  Extracting for rtorrent-0.9.7_3
=> SHA256 Checksum OK for rtorrent-0.9.7.tar.gz.
===>  Patching for rtorrent-0.9.7_3
===>  Applying FreeBSD patches for rtorrent-0.9.7_3
===>   rtorrent-0.9.7_3 depends on package: pkgconf>=1.3.0_1 - found
===>   rtorrent-0.9.7_3 depends on shared library: libcurl.so - found (/usr/local/lib/libcurl.so)
===>   rtorrent-0.9.7_3 depends on shared library: libtorrent.so - not found
===>  License GPLv2+ accepted by the user
===>   libtorrent-0.13.7_3 depends on file: /usr/local/sbin/pkg - found
=> libtorrent-0.13.7.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://rtorrent.net/downloads/libtorrent-0.13.7.tar.gz
libtorrent-0.13.7.tar.gz                               764 kB 3600 kBps    01s
===> Fetching all distfiles required by libtorrent-0.13.7_3 for building
===>  Extracting for libtorrent-0.13.7_3
=> SHA256 Checksum OK for libtorrent-0.13.7.tar.gz.
===>  Patching for libtorrent-0.13.7_3
===>  Applying FreeBSD patches for libtorrent-0.13.7_3
===>   libtorrent-0.13.7_3 depends on package: autoconf>=2.69 - not found
===>  License GPLv2+ GPLv3+ GFDL AUTOCONF_CONFIGURE_SCRIPT_EXCEPTION accepted by the user
===>   autoconf-2.69_2 depends on file: /usr/local/sbin/pkg - found
=> autoconf-2.69.tar.xz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.xz
autoconf-2.69.tar.xz                                  1186 kB 1147 kBps    01s
===> Fetching all distfiles required by autoconf-2.69_2 for building
===>  Extracting for autoconf-2.69_2
=> SHA256 Checksum OK for autoconf-2.69.tar.xz.
===>  Patching for autoconf-2.69_2
===>  Applying FreeBSD patches for autoconf-2.69_2
===>   autoconf-2.69_2 depends on executable: gm4 - not found
===>  License GPLv3 accepted by the user
===>   m4-1.4.18_1,1 depends on file: /usr/local/sbin/pkg - found
=> m4-1.4.18.tar.xz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://ftpmirror.gnu.org/m4/m4-1.4.18.tar.xz
m4-1.4.18.tar.xz                                      1179 kB 1037 kBps    01s
===> Fetching all distfiles required by m4-1.4.18_1,1 for building
===>  Extracting for m4-1.4.18_1,1
=> SHA256 Checksum OK for m4-1.4.18.tar.xz.
===>  Patching for m4-1.4.18_1,1
===>   m4-1.4.18_1,1 depends on executable: makeinfo - not found
===>  License GPLv3+ accepted by the user
===>   texinfo-6.5_2,1 depends on file: /usr/local/sbin/pkg - found
=> texinfo-6.5.tar.xz doesn't seem to exist in /usr/ports/distfiles/texinfo/6.5.
=> Attempting to fetch https://ftpmirror.gnu.org/texinfo/texinfo-6.5.tar.xz
texinfo-6.5.tar.xz                                    4397 kB 1875 kBps    03s
=> htmlxref.cnf doesn't seem to exist in /usr/ports/distfiles/texinfo/6.5.
=> Attempting to fetch http://distcache.FreeBSD.org/local-distfiles/sunpoet/texinfo/6.5/htmlxref.cnf
htmlxref.cnf                                            19 kB  540 kBps    00s
=> texi2dvi doesn't seem to exist in /usr/ports/distfiles/texinfo/6.5.
=> Attempting to fetch http://distcache.FreeBSD.org/local-distfiles/sunpoet/texinfo/6.5/texi2dvi
texi2dvi                                                60 kB  432 kBps    00s
=> texinfo.tex doesn't seem to exist in /usr/ports/distfiles/texinfo/6.5.
=> Attempting to fetch http://distcache.FreeBSD.org/local-distfiles/sunpoet/texinfo/6.5/texinfo.tex
texinfo.tex                                            371 kB  569 kBps    01s
===> Fetching all distfiles required by texinfo-6.5_2,1 for building
===>  Extracting for texinfo-6.5_2,1
=> SHA256 Checksum OK for texinfo/6.5/texinfo-6.5.tar.xz.
=> SHA256 Checksum OK for texinfo/6.5/htmlxref.cnf.
=> SHA256 Checksum OK for texinfo/6.5/texi2dvi.
=> SHA256 Checksum OK for texinfo/6.5/texinfo.tex.
===>  Patching for texinfo-6.5_2,1
===>   texinfo-6.5_2,1 depends on executable: help2man - not found
===>  License GPLv3 accepted by the user
===>   help2man-1.47.8_1 depends on file: /usr/local/sbin/pkg - found
=> help2man-1.47.8.tar.xz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://ftpmirror.gnu.org/help2man/help2man-1.47.8.tar.xz
help2man-1.47.8.tar.xz                                 195 kB  793 kBps    00s
===> Fetching all distfiles required by help2man-1.47.8_1 for building
===>  Extracting for help2man-1.47.8_1
=> SHA256 Checksum OK for help2man-1.47.8.tar.xz.
===>  Patching for help2man-1.47.8_1
===>   help2man-1.47.8_1 depends on package: p5-Locale-gettext>=0 - not found
===>  License ARTPERL10 GPLv2 accepted by the user
===>   p5-Locale-gettext-1.07 depends on file: /usr/local/sbin/pkg - found
=> gettext-1.07.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://cpan.metacpan.org/modules/by-module/Locale/gettext-1.07.tar.gz
gettext-1.07.tar.gz                                   8651  B   42 MBps    00s
===> Fetching all distfiles required by p5-Locale-gettext-1.07 for building
===>  Extracting for p5-Locale-gettext-1.07
=> SHA256 Checksum OK for gettext-1.07.tar.gz.
===>  Patching for p5-Locale-gettext-1.07
===>  Applying FreeBSD patches for p5-Locale-gettext-1.07
===>   p5-Locale-gettext-1.07 depends on executable: msgfmt - found
===>   p5-Locale-gettext-1.07 depends on package: perl5>=5.26<5.27 - found
===>   p5-Locale-gettext-1.07 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so)
===>  Configuring for p5-Locale-gettext-1.07
env: /usr/local/bin/perl5.26.3: No such file or directory
*** Error code 127

Stop.
make[11]: stopped in /usr/ports/devel/p5-Locale-gettext
*** Error code 1

Stop.
make[10]: stopped in /usr/ports/misc/help2man
*** Error code 1

Stop.
make[9]: stopped in /usr/ports/misc/help2man
*** Error code 1

Stop.
make[8]: stopped in /usr/ports/print/texinfo
*** Error code 1

Stop.
make[7]: stopped in /usr/ports/print/texinfo
*** Error code 1

Stop.
make[6]: stopped in /usr/ports/devel/m4
*** Error code 1

Stop.
make[5]: stopped in /usr/ports/devel/m4
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/devel/autoconf
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/net-p2p/libtorrent
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/net-p2p/libtorrent
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/net-p2p/rtorrent
*** Error code 1

Stop.
make: stopped in /usr/ports/net-p2p/rtorrent
 
Hi mholiv

rtorrent doesnt seem to be be in the main freebsd repo at the moment
i had the same issue as well

if you look in your FreeBSD.conf file

Bash:
less /etc/pkg/FreeBSD.conf

you should see you are running quarterly

Bash:
FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

i believe you can change to running latest instead of quarterly which should mean you can install rtorrent
but if you switch to latest youll get a lot more updates than running quarterly

i havent tried running latest so youll need to do some research about switching to latest or ask in the forum

im just going to wait until rtorrent shows up with quarterly

you could have a look at qbittorent which is really good but its a gui app
there is also qbittorrent-nox which is the web browser version

qbittorrent

you could also take a look at aria2 which is a multi-protocol & multi-source command-line download utility

aria2
 
The normal command to install a port is make install, not just make, see also the ports(7) manualpage. However, don't mix ports with packages because that will eventually result in problems.

I can tell you that net-p2p/rtorrent is still normally available in the ports collection, and it also builds normally (so it's also available as binary package), but I'm still on FreeBSD 11.2.

So any problems you have are probably caused by 12.0 itself, and judging from the threads here I'd say you're not alone with that. It's one of the reasons I'm still using 11.2 and have no intention of upgrading this year ;)
 
A quick look and this is failing because something needs lang/perl5.26 and does not find it. I don't know what is going on and I would need to investigate; however I suppose this is already known by @ports if package is missing in the repository.

You should be able to build it in this way (not tested):

make clean
pkg ins perl5.26
make install clean
pkg autoremove


PS. I don't know if Perl is just a build time dependency or not in this situation. You could try to install it in automatic mode pkg ins -A perl5.26, and later it will be removed by pkg autoremove, and then you will know if that is a run time dependency because something will be broken. :)
 
Out of curiosity, what does which perl say on your system ? Also try to do: ls -la /usr/bin/perl* /usr/local/bin/perl*
 
Quarterly branches might still be on the 'old' Perl version. So if you mix quarterly packages with the latest ports you're going to have a bad time.

I would suggest switching to the latest packages and see if it works there. There may be some build errors though, there are a bunch of packages that fail to build at the moment. There won't be a package if the build clusters fail to build it. If the official build clusters are getting build errors you're likely to get them too if you try to build it from ports.
 
Thanks everyone. I went and changed pkg so that it used the "latest" package set and everything worked.
 
Back
Top