Austin, as I just wrote you in private mail, I'm trying another build because
I found some funnies in my "alternatives" system.
But I'll comment on your remarks below, nonetheless.
Austin Acton
:: On Tue, 2003-01-07 at 23:26, Dean S. Messing wrote:
:: > No it is getting created during the build. I discovered, also,
:: > that after the build bomb-out one finds in
:: > /var/tmp/gcc-3.2.1-root/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.2.1/include/
:: > a `root/' directory in which there is both a usr/ subdir and an etc/
:: > subdir.
::
:: This is normal. This is the buildroot directory. It's where RPM gets
:: the files to put into the package.
I'm not sure you read the above carefully (or maybe I was not clear):
I know about the buildroot directory in /var/tmp (and the little shell
rpm.tmp.#### script in /var/tmp assocaiated to it.
My point was the existence of the root/etc directory in
/var/tmp/gcc-3.2.1-root/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.2.1/include/
On the machine (my laptop) for which the build goes through, this directory
is _not_ present. Only root/usr.
:: > The lines I suspected of creating the alternative stuff
:: > were:
:: >
:: > %if %{build_java}
:: > %post -n libgcj%{libjava_major}-devel
:: > update-alternatives --install %{_includedir}/libgcj libgcj
:%{_includedir}/libgcj-%{version} %{gcj_alternative_priority}
:: > %endif
::
:: These lines are executed at install-time, not compile time.
I know. I probably was sloppy in my terminolgy if I said "compile" when
I should have said "build". I do realise the problem is occuring
during "installation" into the buildroot. That's how come I was
able to "fix" it.
:: > Didn't try, but I seriously doublt it because the .spec file
:: > contains the explicit `ln -s' commands that cause the failure.
::
:: ln -s is not causing the failure. The failure is caused by said
:: symbolic link already existing. Which is why Todd and I both had the
:: initial question: are you 100% sure your buildroot was empty?
ls -s "exposing" the failure. The existence of the link is "causing"
the failure. Sorry, again for my impreciseness.
:: > I did discover two differences between the system on which it
:: > builds and the one on which it does not.
:: > The working system had a stock Mdk 9.0 installation of gcc-3.2-1mdk.i586.rpm.
:: > The non-working system had a re-build of the cooker gcc-3.2 from
:: > around Nov 25th. built for an athlon-mp. (This was necessary to
:: > get MPlayer to compile).
::
:: Again leads me to believe that the symlink was leftover from that build.
Please trust me (you and I have both heard that before).
I know how to make sure there are no leftovers. And there are none.
Each build is clean. I have even deleted the the unpacked sources and
the spec file and done rpm -i on the .src.rpm a couple of times
"just in case".
:: > I did "solve" the problem by deleting the link and root/etc/ directories
:: > deep down in the /usr/src/RPM/BUILD/gcc-3.2.1 (again, sorry
:: > for not remembering exactly where)
::
:: You mean /var/tmp/gcc-3.2.1-buildroot/etc.
No I (think) I mean in the BUILD dir. After deleting
the root/etc/ and the bogus link in
/usr/src/RPM/BUILD/gcc-3.2.1/obj-athlon-mandrake-linux-gnu/gcc/include
I also deleted the buildroot in /var/tmp
as well as the rpm.tmp.#### file, and did
rpm --short-circuit -bi gcc.spec
and it rebuild the buildroot and generated the .rpm files
This was couple of days ago and so I hope I am not experiencing
a case of "I dreamed that I did it" :-)
:: > So when I find bugs is it OK to report them here as I did?
::
:: Yes. Although this wasn't technically a 'bug'.
Ok.
:: > Shall I assume they will get seen even if there's no ack?
::
:: They will get seen. But it's always possible that nobody will have time
:: to work on it.
::
:: > If someone instructs me on what, exactly, to do to trace this
:: > I'll do it. Problem is that now that I have installed the
:: > latest gcc the bug may vanish, if it had anything to do
:: > with the above machine differences.
::
:: Do this:
:: # rm -fr /var/tmp/*root
Have done this each time.
:: # rm -fr /usr/src/RPM/BUILD/*
As well as this.
:: # rm -fr /usr/src/RPM/tmp/*
/usr/src/RPM/tmp does not nor ever has existed on my system.
:: before you try to build anything, and you won't have any problems like
:: this.
I wish.
Dean