Ticket #1271 (closed defect: fixed)
rtorrent r1041 compile error on FreeBSD 6.2
| Reported by: | artifex@freemail.hu | Owned by: | rakshasa |
|---|---|---|---|
| Priority: | normal | Component: | rtorrent |
| Version: | HEAD | Severity: | blocker |
| Keywords: | Cc: |
Description
I had problem with r1041. It gives the following error when I compile:
gc++-2.0/include -I/usr/local/include -I/usr/local/include -MT dht_manager.o -MD -MP -MF ".deps/dht_manager.Tpo" -c -o dht_manager.o dht_manager.cc; then mv -f ".deps/dht_manager.Tpo" ".deps/dht_manager.Po"; else rm -f ".deps/dht_manager.Tpo"; exit 1; fi g++: Internal error: Illegal instruction: 4 (program cc1plus) Please submit a full bug report. See <URL:http://gcc.gnu.org/bugs.html> for instructions. *** Error code 1 Stop in /root/src/rtorrent/rtorrent/src/core. *** Error code 1 Stop in /root/src/rtorrent/rtorrent/src. *** Error code 1 Stop in /root/src/rtorrent/rtorrent. *** Error code 1 Stop in /root/src/rtorrent/rtorrent.
r1040 compiled flawless though. I am using FreeBSD 6.2 with the standard gcc version 3.4.6 [FreeBSD] 20060305.
Attachments
Change History
comment:2 in reply to: ↑ 1 Changed 5 years ago by artifex@freemail.hu
Replying to anonymous:
An internal error in g++ is by definition a compiler bug. Update to a more recent compiler version, 3.4.x is ancient.
Thanks for your answer! I will upgrade my system to version 7.x but no deadline yet.
BTW, I think if this version of the compiler is good for my 254 ports and r1040 it would be good for new versions as well.
comment:3 Changed 5 years ago by rakshasa
- Status changed from new to closed
- Resolution set to worksforme
comment:4 Changed 5 years ago by anonymous
- Status changed from closed to reopened
- Resolution worksforme deleted
I get a similar error when trying to build rtorrent using GCC 3.4.6 on a linkstation running Freelink/Debian?; is there any hope for a bugfix for those of us who cannot upgrade to new versions of GCC?
comment:5 Changed 5 years ago by anonymous
Considering how rakshasa closed it as "worksforme", you're apparently on your own. There's no guarantee it can be fixed easily and wasting time to attempt to find a way to work around compiler bugs which have been fixed long ago already is asking a bit much.
You're better off trying to get your distro to switch to a recent compiler version.
comment:6 Changed 5 years ago by anonymous
... but I'm not on my own - there's the guy who opened the ticket in the first place, and two other people on the libtorrent-devel list are in the same boat. It may well be due to an error in the compiler, but previous versions of rtorrent worked OK, so there may be something easy to fix in the source code that will make it work again - I don't know. The trac is for reporting bugs, so that's what I'm doing; and rather than creating a new, superfluous ticket, I thought it better just to reopen the existing one. I'm sorry if I'm wasting anyone's time.
comment:7 Changed 5 years ago by rakshasa
- Status changed from reopened to closed
- Resolution set to invalid
You're not alone as you said, but you're still without me. _
comment:8 Changed 5 years ago by anonymous
I'm have same error too,
freebsd 6.2 with GCC 3.4.6/GCC 4.2.4
comment:9 Changed 5 years ago by daniel-gl@gmx.net
- Status changed from closed to reopened
- Resolution invalid deleted
src/rpc/command.h needlessly uses templates for two copy constructors in rt_triple. Instead of U1, U2, U3 the original template parameters T1, T2, T3 should be used.
comment:10 Changed 5 years ago by kolundin@gmail.com
I confirm successful build with above patch applied.
--
(CentOS release 4.6 / Linux 2.6.9-67.0.20.EL #1 i386 GNU/Linux / g++ (GCC) 3.4.6 20060404)
comment:11 Changed 5 years ago by anonymous
i can also confirm successful build with patch (Same error as bug report states now fixed by patch)
Freebsd 6.2
comment:12 Changed 4 years ago by danpritts
adding RHEL4 as search bait
comment:13 Changed 4 years ago by anonymous
thanks danpritts I'll need this patch for compiling on sme server
comment:14 Changed 4 years ago by rakshasa
- Status changed from reopened to closed
- Resolution set to fixed
Fixed in next commit.


An internal error in g++ is by definition a compiler bug. Update to a more recent compiler version, 3.4.x is ancient.