* [gentoo-dev] Installing with GCC 3.0.x
@ 2002-03-27 1:14 Preston A. Elder
2002-03-27 14:11 ` Spider
2002-03-27 16:26 ` Dan Armak
0 siblings, 2 replies; 3+ messages in thread
From: Preston A. Elder @ 2002-03-27 1:14 UTC (permalink / raw
To: gentoo-user; +Cc: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 10392 bytes --]
Before I start this, I'll introduce myself.
I'm a professional programmer, working in C, C++, Java, Perl, TCL and
shell. I'm qualified to be a professional systems administrator (tho I
do not work in that field right now, just dabble with my 9 systems at
home). I write Magick IRC Services (http://www.magick.tm), and run
GOTH.NET (http://www.goth.net). I also have a few other side-projects.
I've been using GCC 3.0.x since they first came out, and had fairly
good luck with it, however this is the first time I've tried to build
most of my system with it. The way I went about this was to boostrap
gentoo as usual, and then emerge system as usual, however, after I did
the emerge system, the first thing I did was install gcc 3.0.4, so
anything on top of the default system (including any upgrades that may
have come out since install) are built with 3.0.4.
My 2 attempts to base the entire system (including all the stuff done in
the initial bootstrap and the system build after this) off glibc 2.2.5,
and gcc 3.0.4 failed miserably, I gave up on that. So I've stuck to the
base of 2.2.4, and building anything AFTER the initial system install
with gcc 3.0.4.
If you plan to try to do the same thing as I have, I recommend you DO
NOT use the -funroll-loops optimization. This will break MANY things,
and is extremely hard to debug if you have to attempt. I ran into
problems with this optimization with gnome-libs, mozilla, evolution, and
openssl. More than likely, it has more problems than that.
I've listed below a list of packages I had problems with during the
compile or installation phase compiling them with gcc 3.0.4, for your
reference if you want to attempt this. These should probably be turned
into bugs by one of the developers (I'm registered in the bug database,
but I think someone would take exception to me raising so many bugs, and
I dont know much history on the whole system, so I dont know the policy
on bugs, or whats already raised, etc).
Most of this document speaks in programmer terms.
XFree86 4.2.0 (r8)
- lib/GLU in one of the .cc's, creates a profile for a static
void swap(char *[], int, int) - then when its used, it puts
another profile in the function its used in, and then the
actual function definition is not static. It all ends up
looking something like this:
static void swap(char *[], int, int);
...
void somefunc() {
void swap(char *[], int, int);
}
...
void swap(char *[], int, int) {
}
The profile should be removed from the function, and the
actual definition of the function should beccome static.
- programs/XServer doesnt link, because the -lXau is too early
in the linking process, it needs to be moved to later on (this
is a makefile change).
pilot-link 0.9.6 (r3)
- A bunch of .hxx files that just have friend <class> instead of
friend class <class>, which GCC 3.0.x complains about.
groff 1.17.2 (r1)
- When using the original groff (compiled in the system build), it
will complain about the library libstdc++-6.2-2.so.3 missing after
gcc 3.0.x is installed. When groff is recompiled with gcc 3.0.4,
troff coredumps - however groff still works (evident with 'man').
pcmcia-cs 3.1.33 (r2)
- Wireless support totally broken. The /etc/pcmcia/wireless script
is never invoked, and even if you invoke it, the network script
never sources /etc/pcmcia/shared. To fix this problem, I've added
to the top of the /etc/pcmcia/network script:
. /etc/pcmcia/shared $*
get_info $DEVICE
HWADDR=`ifconfig $DEVICE | grep HWaddr | sed "s/.*HWaddr //"`
if [ -z "$NEW_SCHEME" ]; then
ADDRESS="$SCHEME,$SOCKET,$INSTANCE,$HWADDR"
else
ADDRESS="$NEW_SCHEME,$SOCKET,$INSTANCE,$HWADDR"
fi
if [ -f /proc/net/wireless ]; then
if [ -n "`awk '{print $1}' /proc/net/wireless |\
cut -f1 -d: | grep "^$DEVICE$"`" ]; then
. /etc/pcmcia/wireless $*
fi
fi
perl 5.6.1 (r3)
- Perl is not compiled with POSIX threads support, which retards
packages such as PDL and expat, both of which tell you that perl
lacks POSIX threads support.
openjade 1.3 (r2)
- ugly (non-3.0.4 ready) syntax on line 217 of CmdLineApp.cxx
- spgrove/GroveBuilder.cxx also is not 3.0.4 ready, PiChunk should
inherit CharsChunk as protected, not private.
- style/LangObj.cxx line 27 redefines strdup? not needed.
- nsgmls/RastEventHandler.h, class RastEventHandler inherits
messenger private, should be protected.
util-linux 2.11l
- No encryption support. Either cryptoapi or the international
kernel patch needs to be installed. And util-linux needs to
be patched with the patch from the cryptoapi. Please check out
http://cryptoapi.sourceforge.net for where to get both cryptoapi
or the linux international kernel patch.
I personally installed cryptoapi, and then applied the patch for
util-linux contained within that package to util-linux, and then
re-compiled util-linux. This is the only way to get real crypto
algorithms like blowfish, 3des, etc into losetup (so you can have
encrypted loopback filesystems).
Please note, that if you go this route, the patch in cryptoapi
for util-linux fails in 2 places, neither of these is important.
If you wish for me to create an ebuild for cryptoapi, and create
a better patch for util-linux (that can be put into the files
directory for the util-linux package), please let me know.
evolution 1.0.2 (r1)
- Need to apply my IMAP patch, see bug 1355 (patch included)
lame 3.91
- rtp.h has #ifdef 0, not #if 0
xzgv
- No such package, should be added, see bug 1354.
screen
- doesnt exist (I will create an ebuild file for it in the near
future if noone else does).
xmms-shn 2.2.4
- flexio.c looks for ulaw_outward, which doesnt exist, I dont know
how to resolve this.
avi-xmms 1.2.2 (r2)
- No dependancy on SDL in the ebuild file, even though the
configure script for the package requires it.
- The dependancy in the ebuild file is broken (there is no such
version 0.52.anything, so it chucks a fit).
- Needs updating to new avifile library, since only the 0.60 version
is now in the portage tree, this software needs to compile with
it. This or the 0.52 avifile ebuild should be re-added.
smpeg-xmms 0.3.4 (r1)
- The package's configure script needs to use C++ for its tests.
- Configure's test programs are generated with the code:
#ifdef __cplusplus
extern "C" void exit(int);
#endif
which 3.0.4 rejects because it doesnt match the definition
in system headers (which throws exceptions).
- Each library the configure script looks for, it creates an
internal variable called library_CFLAGS (where library is
replaced with the library its looking for). However it does
NOT create a library_CXXFLAGS variable, so when it does its
compile test to see if the libraries check out (after making
the configure script use c++ for its test), it fails.
- The code needs to be re-written to support gcc 3.0.4
gtkmm-addons (0.5.3)
- Configure's test programs are generated with the code:
#ifdef __cplusplus
extern "C" void exit(int);
#endif
which 3.0.4 rejects because it doesnt match the definition
in system headers (which throws exceptions).
- TCList.h and TCList_ct.h need the following changes:
'using namespace std' needs to be added to the top of the file.
'friend iterator' need to change to 'friend class iterator'
The function 'static inline bool operator!=' needs to be
completely removed.
- TCListRow_ct.cc (line 44) need explicit casting of lr.item
to Gtk::CTree::Row
- Gtk2TeX.h needs 'using namespace std' added to the top.
- Most of the test cases also need 'using namespace std'.
sslwrap 2.0.5 (r1)
- For some reason, they pass -DOPENSSL="\"openssl/\"" to the make
command, and then inside the .c files use something like
#include OPENSSL"ssl.h"
They are trying to rying to convert it to "openssl/""ssl.h",
however GCC 3.0.4 doesnt like this construct on an #include line.
I searched/replaced OPENSSL" with "openssl/ in all .c files.
snort 1.8.3 (r1)
- Had to add a header check for sys/types.h to the configure.in
file (and then re-autoconf) so it would find u_int(8|16|32)_t
typedef's (as it was not finding them).
nautilus 1.0.6 (r6)
- in components/mozilla/nautilus-mozilla-embed-extensions.cpp,
removed the #include <std/bastring.h> and the
typedef basic_string<char> string, and just added
#include <string> and 'using namespace std'.
sun-jdk 1.4.0 (r1)
- Requires manual intervention to install (ie. manually downloading
the file from sun, running their .bin file, and then moving the
resulting .tar into the distfiles directory).
- The plugin file gives invalid symbols when mozilla is trying to
load it. I also tried the blackdown java (1.3.1) plugin, same
problem. Note that the sun jdk has no problems RUNNING. I get
the feeling I'm going to have to create an ebuild file for the
sun jdk source distribution (1.3.1), so I can get the plugin.
jikes 1.15
- Changed entry in enum called NAN to L_NAN (and all usages of it),
NAN is a macro in the system headers for 3.0.4.
battery_applet
- For some reason, this starts and ends, without doing anything (no
compile errors for gnome_applets). No idea why, however power
applet works ok in its stead.
If you have any questions, comments, or need more detail about anything
I've mentioned above, please let me know. I hope this is helpful. I'm
not finished, theres still a few loose ends to tie up, however I'm
getting there. MOST of my system is up and running :)
--
PreZ
Systems Administrator
GOTH.NET
Goth Code '98: tSKeba5qaSabsaaaGbaa75KAASWGuajmsvbieqcL4BaaLb3F4
nId5mefqmDjmmgm#haxthgzpj4GiysNkycSRGHabiabOkauNSW
GOTH.NET - http://www.goth.net
Free online resource for the gothic community.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 232 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [gentoo-dev] Installing with GCC 3.0.x
2002-03-27 1:14 [gentoo-dev] Installing with GCC 3.0.x Preston A. Elder
@ 2002-03-27 14:11 ` Spider
2002-03-27 16:26 ` Dan Armak
1 sibling, 0 replies; 3+ messages in thread
From: Spider @ 2002-03-27 14:11 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 4074 bytes --]
This is great work and is highly appreciated :)
and you are right, right now we wouldn't like to be swamped with more
bugs related to gcc3 since we are attempting to get a stable release out
the door, hopefully that will change in the next month and Azarah
woodchip et al. will bring their heads together and get things working
with gcc3 ... if not, I'll try ;)
>
> If you plan to try to do the same thing as I have, I recommend you DO
> NOT use the -funroll-loops optimization.
Now this is interesting news, and
> Most of this document speaks in programmer terms.
>
> XFree86 4.2.0 (r8)
Bad news, I really thought they had taken care of gcc3 in the step
between 4.1 and 4.2. I hope you have submitted this upstream to their
bug database?
> groff 1.17.2 (r1)
> - When using the original groff (compiled in the system build), it
> will complain about the library libstdc++-6.2-2.so.3 missing
> after gcc 3.0.x is installed.
Hmm, this could be related to you unmerging the old gcc2.95.3
completely, as the libraries for the c part of the libs differ quite a
bit, which in turn breaks all c++ programs.
Solution for this would be to keep the old gcc installed so that all
programs that link to its c++ libraries will still work.
The troff coredump is something that should be filed upstream, if not,
we can look at RedHat's patches for this as they are likely to have the
same problems with things.(scheluded for the workings of gcc3
compability systems)
(never do work twice if you can steal the working patches from somone
who gets paid to do it)
> pcmcia-cs 3.1.33 (r2)
this is a known bug thats due to be fixed, in the meantime
sys-apps/pcmcia-cs-3.1.31-r4
is known to work with wireless and should work for you.
> perl 5.6.1 (r3)
Could you please file a bug about this? It might not be of greatest
importance but I still think it needs to be fixed before 1.0 release.
assign it to spider@gentoo.org and I'll go from there.
> openjade 1.3 (r2)
Okies, This needs to be filed upstream at the openjade maintainers, also
somethign we'll need to steal patches from RH/Mandrake for. Thanks for
reporting.
> util-linux 2.11l
Could you file this as an enchancement bug? Would also be great if you
got to make the ebuild, assign to me (spider@gentoo.org) and I'll get at
it after the freeze is done :)
The international kernel patch lags behind quite a bit last I checked,
and I'm not sure of how good it works with the different vm's (Shouldn't
interfere) xfs changes (might well interfere) and preemptive kernels.
something for our venerable kernel hackers to look at if it's likely to
be included.
> evolution 1.0.2 (r1)
> - Need to apply my IMAP patch, see bug 1355 (patch included)
Evolution 1.0.3 was released yesterday, I'll try and get it merged into
portage (1.0.3) if my net resolves to working again.
> lame 3.91
> - rtp.h has #ifdef 0, not #if 0
lame bug, should be filed upstream, but is noted for later.
> screen
app-misc/screen-3.9.11
app-misc/screen-3.9.9
>
> avi-xmms 1.2.2 (r2)
This should be removed from portage as the functionality now depends on
USE="avi" for a patch to the main xmms that uses avifile 0.60
if you still have it, "emerge rsync --clean" will make sure it
dissapears
> gtkmm-addons (0.5.3)
Probably this is "stale" now as gtk+ 2.0 is out the door but its also a
upstream bug, but thanks for noted incompability.
> If you have any questions, comments, or need more detail about
> anything I've mentioned above, please let me know. I hope this is
> helpful. I'm not finished, theres still a few loose ends to tie up,
> however I'm getting there. MOST of my system is up and running :)
This is great news and has been something me and others have been
looking for, thanks for the update on the state of things, much
welcomed. I'm looking forwards to see what happens next on this front.
thanks again,
//Spider
--
begin happy99.exe
This is a .signature virus! Please copy me into your .signature!
See Microsoft KB Article Q265230 for more information.
end
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [gentoo-dev] Installing with GCC 3.0.x
2002-03-27 1:14 [gentoo-dev] Installing with GCC 3.0.x Preston A. Elder
2002-03-27 14:11 ` Spider
@ 2002-03-27 16:26 ` Dan Armak
1 sibling, 0 replies; 3+ messages in thread
From: Dan Armak @ 2002-03-27 16:26 UTC (permalink / raw
To: gentoo-dev
On Wednesday 27 March 2002 03:14, Preston A. Elder wrote:
> Before I start this, I'll introduce myself.
>
> I'm a professional programmer, working in C, C++, Java, Perl, TCL and
> shell. I'm qualified to be a professional systems administrator (tho I
> do not work in that field right now, just dabble with my 9 systems at
> home). I write Magick IRC Services (http://www.magick.tm), and run
> GOTH.NET (http://www.goth.net). I also have a few other side-projects.
>
> I've been using GCC 3.0.x since they first came out, and had fairly
> good luck with it, however this is the first time I've tried to build
> most of my system with it. The way I went about this was to boostrap
> gentoo as usual, and then emerge system as usual, however, after I did
> the emerge system, the first thing I did was install gcc 3.0.4, so
> anything on top of the default system (including any upgrades that may
> have come out since install) are built with 3.0.4.
>
Hi,
I'm not a member of the system/core team myself, but there are three things I
can tell you, just to give you a view of the current gentoo/gcc3 situation:
One is, that a few days ago Daniel Robbins posted the following on gentoo-core
(the developer-only mailing list):
------------
[gentoo-core] gcc3 is happening *after* 1.0
From: Daniel Robbins <drobbins@gentoo.org> (Gentoo Technologies, Inc.)
To: gentoo-core@gentoo.org
Date: Sun, 24 Mar 2002 17:11:22 -0600
Hi All,
....
I just wanted to implore people to *not* focus on getting gcc 3.0 to work, at
least not until after Gentoo Linux 1.0. gcc3 is not going to be in 1.0, so
any fixes in this area do not help us get closer to the 1.0 release. I'd also
ask that people refrain from unnecessarily upgrading core packages, as these
kinds of things close to release tend to cause problems. I don't mind the
occasional gcc3 fix being added here and there, but I would ask that people
don't explicitly try to to a Gentoo 1.0/gcc3 bootstrap, for example. I would
much prefer it if you were to test Gentoo 1.0 as-is and focus on fixing and
refining issues in it.
Again, please put gcc3 aside for now and focus exclusively on fixing
outstanding bugs.
----------------
The second thing is, that some developers *have* been working on getting
Gentoo to compile with gcc3, which prompted the above mail. They'll likely go
on working on it after the 1.0 release.
The third thing is that I believe drobbins intends us to wait a bit longer and
go straight to gcc 3.1. I'm not involved in these decisions, this is hearsay
so to speak.
--
Dan Armak
Gentoo Linux Developer, Desktop Team (KDE)
Matan, Israel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-03-27 17:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-03-27 1:14 [gentoo-dev] Installing with GCC 3.0.x Preston A. Elder
2002-03-27 14:11 ` Spider
2002-03-27 16:26 ` Dan Armak
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox