On 03/27/2009 11:41 AM, Tsantilas Christos wrote:
> Amos Jeffries wrote:
>>..........
>> It's possibly version or system dependant. I've seen this myself, it was
>> with g++, on either Solaris, CentOS, Ubuntu, or Debian, don't recall
>> exactly which machine. But I have not used any non-gcc compilers for
>> years. The one attempt to use Solaris native was a bust.
>>
>> I'm thinking to check if file contains only exactly "debug.cc" is
>> probably
>> cleaner and safer. That way we can ignore the cleaning process when
>> compiler is already clean(er).
>
> My opinion is that the BuildPrefixInit() function is not safe. I believe
> that the best is to test the way the compiler uses the __FILE__ macro in
> configure script and if required use the strrchr function.
> But this is just my personal opinion...
You are right. BuildPrefixInit has been broken since inception. As a
short term fix, the assert() should be replaced with an if-statement. I
think this was discussed a week or so ago on IRC but nobody had time to
work on it, I guess. I have just committed the fix.
Long term, more code needs to be written to cover more compilers and
both in-tree and out-of-tree builds. I am not sure that code should go
into configure.in because the BuildPrefixInit runs only once. It may be
easier to place everything inside debug.cc.
>>>>> - The ufs aufs diskd does not link well. An src file like the
>>>>> src/FsReg.cc in my patch should added and fix a litle the libaufs.a
>>>>> libufs.a and other libraries (probably should included in one
>>>>> library)
>>>> This is not possible at present. So long as admin have the option of
>>>> specifying custom lists of FS (--enable-storeio) some of the FS may not
>>>> exist at build time, and some custom ones we don't register in FsReg.cc
>>>> may be added.
>>>>
>>>> The HAVE_* defines like those used for auth modules will have to be
>>>> done
>>>> for FsReg.cc first.
>>> Currently the libaufs.a library is only one code line:
>>> static StoreFSufs<UFSSwapDir> AufsInstance("DiskThreads", "aufs");
>>>
>>> Maybe the best is to remove the libaufs and libdiskd libraries and move
>>> the declarations of AufsInstances DiskdInstance and UfsInstances in a
>>> FsReg.cc file. Always using the required "HAVE_*" defines....
>>>
>>
>> Um, check with Alex. There are things in configure.in auto-linking that
>> need to be considered carefully with those FS.
>
> OK I will try to implement something better and I will post it here.
Thank you for working in this. I have commented on your patch separately.
Alex.
Received on Mon Mar 30 2009 - 03:03:42 MDT
This archive was generated by hypermail 2.2.0 : Mon Mar 30 2009 - 12:00:04 MDT