Re: problem compiling BlastLib

From: Timothy Smith (tim_smith@MIT.EDU)
Date: Fri Sep 28 2001 - 09:48:34 EDT


Hello Everyone,

        I feel like I missed all the fun in the e-mail conversation of
the last 18 hours.

        First off, about operating system/ versions of root /
versions of compilers. I think it is important that we stay current.
The new versions in general are new because they were shortcoming
with the older version.

        It is true that ofter the newer versions (especially of
compilers) are a bit more stringent in there requirements. I
understand that this is because as users push the envelope and do
a greater variety of things, compilers can no longer guess what
we wanted to do. (as Maurik and Simon have both pointed out - there
really is a difference between "double" and "typedef double double").
For example, the older version of TCodaRead.cc misused some pointers.
Under RedHat 4 & 5 (ie. older compilers) we were warned - but the
code compiled and worked - but it really was wrong. Under RedHat 7,
the warning was considered a fatal error, and we were forced to
fix it. It had been in the warning messages since 1998, but we had
ignored it.

        About versions of "ROOT". There really are a lot of good
thing about version 3.0x which makes me want to use it. This will
become more and more important when we write output more complex data
then just ntuples. But there is one point of backwards incompatibility,
DrawPolyLine (which is were this whole dialog started with Jason's
question). DrawPolyLine use to expect float, (root 2.24 and earlier),
but now expects doubles. For a long time the cvs version was compatible
with root 2.23 and a version on the web was geared toward 3.0 . Now
the version in cvs is for root 3.0+.

        When making the move from RedHat 6 & Root 2.2x to
RedHat 7 & Root 3.0x (which happened at about the same time )
I wanted to make it as seamless as I could. The old Root was
(and still is) in /usr/local/root, and new root is in
/home/blast/blast/root3.00 . I hoped that when the major
libraries all compiled with Root 3.0x , we would move root3.00 into
/usr/local/root . This is my fault that the move was not finished
and the Blast Software People did not all understand this. I will
try to be clearer in the future.

        Finally, I think that often the rumors of a new version
being "buggy" are really unfounded, and true problems tend to be fixed
very quickly. Just because something which use to work does not
now work is more likely our problem, something we should have fixed
in our code already. We need to fix those things which show up
with the warnings.

        So here is what I will try to do in the future,

        1) I'll try to post what version of root and gcc are being
                used here at the lab.

        2) People are encouraged to use newer versions.

        3) When there is a new version of Root, I'll try to set
                it up in a "dev" area for **only a few days** to
                see if our major libraries are ready for it, before
                it is installed in the standard locations.

        ?) any other suggestions?

                                        Tim Smith

____________________________________________________________________
 Timothy Paul Smith Research Scientist
 MIT Bates Lab tim_smith@mit.edu
 21 Manning Rd. tel: (617) 253-9207
 Middleton, MA 01949 fax: (617) 253-9599



This archive was generated by hypermail 2.1.2 : Mon Feb 24 2014 - 14:07:28 EST