Skip to Content.
Sympa Menu

sm-discuss - [SM-Discuss] ncurses, slang, and gcc, oh my!

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: "Jimmy Yen(???)" <root AT yhjworks.com>
  • To: SM-Discuss AT lists.ibiblio.org
  • Subject: [SM-Discuss] ncurses, slang, and gcc, oh my!
  • Date: Mon, 16 Dec 2002 20:35:15 +0800

On Fri, Dec 13, 2002 at 11:09:14AM -0800, Eric Sandall wrote:
/ Well, apparently slang has the same problem as ncurses, with regards to
/>/ gcc installing their own version.
/>/ />/ I recall someone saying (or gainsaying, don't recall) that recompiling gcc
/>/ after ncurses is updated would fix the ncurses.h file which gcc installs,
/>/ so that we'd no longer have to remove it after an ncurses update (it is a
/>/ Bad Thing (TM) to remove files from a spells installation, makes them
/>/ "corrupted" for 'cast --fix').
/>
/ So, if recompiling gcc after ncurses (and slang) fixes those, we should
/>/ add triggers to gcc so that it recompiles after these are updated (and any
/>/ others that people find). I haven't tried recompiling gcc to see if this
/>/ works (recompiling now, but it's a PII-300, so it'll take a while. ;)),
/>/ but if anyone else knows/can try faster, please do.
/>/ />/ Here is the slang info:
/>/ http://bugs.sourcemage.org/show_bug.cgi?id=1957
/>/ />/ Thoughts?
/>/ />/ -One of Four
/>/ a.k.a. sandalle/


It seems that the cause of all the problems is that gcc examines and
"fixes" all the header files in /usr/include and its subfolders when it
compiles itself, and keeps modified ones in a seperate folder. When a
spell installs a new header which is not compatible with the old one,
programs surely won't compile.


The problem is that gcc does the "fixing" job only once, when itself is
compiled. The only way to get newly installed headers "fixed" (and thus
updating gcc's modified headers) is to recast gcc. But since we don't
know which header files gcc will deem "flawed", we will have to recast
gcc constantly to make it "fix" newly installed header files.


It came to me that it may be possible to check the file names of the
header files each existing spell updates, and recast gcc if there's a
match with its modified header files. But then we still need to cast
gcc very often (that's apparently not a good thing,) and if a new spell
is installed, the headers they install will only get fixed next time
gcc compiles. That will run the fixing mechanism of gcc worthless.


IMHO, hiding the gcc-modified headers when casting certain spells is
simply wrong, because we don't either use the gcc-modified headers, nor
updating them. I think we should either recast gcc constantly (which
seems really impractical,) or don't let gcc store the fixed headers at
all. Removing the gcc-modified headers directly when casting gcc can
make our life a lot easier, if it's OK to do so.


(Uh, sorry for my English. Hope you can get my point. Also, because I'm
not far from a newbie, please forgive me if I'm seriously wrong.;)


haoto






Archive powered by MHonArc 2.6.24.

Top of Page