Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#936 - gcc 3.4 breaks c++ compiles with templates, and other problems

Attached to Project: Arch Linux
Opened by Glyn Adgie (glyn) - Tuesday, 25 May 2004, 07:06 GMT
Last edited by Judd Vinet (judd) - Thursday, 27 May 2004, 06:36 GMT
Task Type Bug Report
Category System
Status Closed
Assigned To Judd Vinet (judd)
Architecture not specified
Severity High
Priority Normal
Reported Version 0.7 Wombat
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details

1. Compiling C++ with template code.

gcc 3.4.0 fails to compile a lot of C++ code that defines template classes. The same code compiles without problems on gcc 3.3.3. There appear to be other problems as well, not related to templates. I attempted to compile the whole of KDE with gcc 3.4, and kdeaddons, kdeedu and kdemultimedia all failed to compile. The same problem occurred with Rosegarden, which uses some complicated template stuff.

I found I could weed out some of the errors by patching the code, but I admit I was just guessing what would work, and may have been inadvertantly altering the functionality.

These problems mean that gcc 3.4.0 is not very useful as a system compiler. I think it would be best to wait until the original sources are adapted to the new gcc by their authors, rather than trying to "fix" complicated cases with patches.


2. Run time errors and crashes.

In two cases I have proved that compiling with gcc 3.4.0 causes run time errors, even if the compilation works.

When compiled with gcc 3.4.0, k3b cannot open an mp3. It hangs then crashes out. The problem occurs when k3b uses id3lib. I tracked down the offending call, and wrote a test programme that ran the same code. The test programme worked fine. When k3b and id3lib are compiled with gcc 3.3.3, this problem does not occur.

KDE file manager would crash when trying to display certain man pages using "man://command" as a URL. The same occurs with the KDE help viewer. When KDE was recompiled with gcc 3.3.3, this problem did not occur.


3. Making a system based on gcc 3.3.3

To get things stable and usable again, my friend an I have recompiled practically all of the packages we use using gcc 3.3.3. Other than the compiler, all the packages are the latest version. We are setting things up to synch to our own package repository, and to update this via abs and makepkg.
This task depends upon

Closed by  Judd Vinet (judd)
Thursday, 01 July 2004, 23:42 GMT
Reason for closing:  Won't fix
Comment by Glyn Adgie (glyn) - Friday, 28 May 2004, 15:58 GMT
The crash on KDE file manager and help viewer still occurs on some man pages, even when compiled with gcc-3.3.3. Unfortunately, we have upgraded the manpages package since the last test, so the fault has "moved".
Comment by scott lemke (kihaji) - Wednesday, 30 June 2004, 03:26 GMT
This is not a bug in GCC, it is a bug in the packages that break. GCC 3.4 has substantially upgraded their ANSI C++ compliance over 3.3, and a lot of the old code out there is very non-standard.

This issue will work itself out in time, best thing for Arch to do I think is when we find one of these errors, work with the upstream people, as it really is thier issue.
Comment by Judd Vinet (judd) - Thursday, 01 July 2004, 23:42 GMT
This does appear to be an upstream issue. Not much we can do here, unless we want to go back to an old gcc.

Loading...