Vincent Lefevre on Mon, 31 Oct 2005 02:21:12 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Configure bug when CPPFLAGS is set |
On 2005-10-30 13:27:50 -0800, Justin C. Walker wrote: > As a special feature of Mac OS X, 10.4, you now have an odd-ball > include file, /usr/include/readline.h, which is supposed (I think) to > provide some of the GNU readline features, via the 'editline' library. > > It interferes with anything that is used to using libreadline, As a user point of view, it doesn't interfere with anything if you use $C_INCLUDE_PATH (and matching paths in $LIBRARY_PATH for libraries). Port managers shouldn't use user-defined paths, but can do something equivalent (by either defining these environment variables or by using -I and -L flags with the compiler). > and my solution was to remove (rename, move, ...) that header file. This is a bad solution. You shouldn't remove anything from the vendor system, or bad things may happen during an upgrade or with some other vendor tools. The good solution is to override the system settings. > After that, things work fine (since the library in question doesn't > conflict by name, there is no additional hassle). > > I have not heard of any problems with this solution, but I suspect it > might interfere with building something in the Darwin base. Yes, or an upgrade may fail because its system detects that some files have been removed (or if a patch is applied to a removed file). Also, some future header files may use readline.h, and you cannot know what Apple will do... Moreover, if you remove the header file, you should also remove the corresponding libraries, otherwise some configure scripts may pass though they shouldn't (and finding the error may be difficult and/or take more time -- I had such a problem with Mutt in the past). But in this case, some programs may fail because the dynamical library can't be found. I think that Pari's Configure script should take into account $C_INCLUDE_PATH, and should take an argument --with-includedir=DIR that the user (or a program) should use if he uses a -I flag in $CFLAGS or $CPPFLAGS. -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / SPACES project at LORIA