[Insight-developers] agenda item: compiler issues

Damion Shelton dmshelto at andrew . cmu . edu
Wed, 5 Jun 2002 13:48:41 -0400


Hi,

Was the problem with Win32OutputWindow (occuring with calls to DebugMacro)
on a multithreaded Windows machine ever resolved? Should it be added to this
list?

Thanks,
-Damion-

----- Original Message -----
From: "Lydia Ng" <lng@insightful.com>
To: <insight-developers@public.kitware.com>
Sent: Wednesday, June 05, 2002 1:13 AM
Subject: [Insight-developers] agenda item: compiler issues


Folks,

In terms of short term goals I think we really need to discuss
compiler compatibility issues.

Compiler issues:
- summary of "known bugs" due to compiler and/or configuration
        - e.g. IRIX stdlib problems
               some release of gcc 3.0 not multi-threaded
               file inclusion order on VC++
      - should we have a list of recommended compilers?
      - are we pushing compilers too far? Do we need to back off a bit?

---------
There is still lots of open issues
the last thing we want is for a high-end user to
download ITK to run something on there 8-proc machine
only to have it crash doing something simple like thresholding.

---------
Here is my list of open issues/problems which I have
spent many hours staring at (with help from Luis and Julien):

CASE 1:
=======
Compiler: RedHat 7.0 gcc 2.96
Problem: Compiler seg faults when compiling some templated code

The compiler seg faults when trying to compile the following
lines in itkBloxCoreAtomPixel.h

...
vnl_matrix_fixed<double,NDimensions,NDimensions> m_RawCMatrix;
vnl_matrix_fixed<double,NDimensions,NDimensions> m_VotedCMatrix;


Fix:
The compiler was happy when the following changes were made:

typedef vnl_matrix_fixed<double,NDimensions,NDimensions> MatrixType;
MatrixType m_RawCMatrix;
MatrixType m_VotedCMatrix;

The original was legal code and it should have compiled ok.
I have subsequently read that this version of gcc is buggy
- but it not documented anywhere on our webpages that
this compiler is not supported

-------------------
CASE 2:
========
Compiler: RedHat 7.3 gcc 2.96 (Terminus at kitware.com)
          Linux-Mandrake 8.0 gcc 2.96 (poblano at utah.edu)

Problem: Segmentation violation when trying to rethrow an
   itkException.

Some of the registration test tests for error and try
to capture the expected exception.

In MI registration the original exception is generated
by the metric, which is then caught by the optimizer
which rethrows it to the ImageRegistrationMethod which
rethrows it to the test.

On the two machines listed above a segmentatio violation
occurs on the rethrowing these exceptions.

See dashboard for May 29 (experimental - pobalno)
See dashboard for March 29 (experimental - terminus)

-------------------------
CASE 3:
=======
Compiler: Linux-2.4.17 gcc 3.04 (kitware.com)

Problem: Segmentation violation when running some multi-threaded
tests

Possible cause: some releases of gcc 3.04 was not built
with multi-threading turned on

See nightly builds for dashboard

-------------------------
CASE 4:
========
Compiler: RedHat 7.1 2.96 (chili.sci.utah.edu)

Problem: Segmentation violation when running some multi-threaded
tests

Possible cause: ?????

---------------------------
CASE 5:
=======
Compiler: Cygwin gcc 3.0 (lastest download - my two proc machine)

Problem: Segmentation violation on all multi-threaded filters

I noticed that we haven't test on my Cygwin for a long time
now. This has been a problem on my machine for a while
(6 months?)

----------------------------
CASE 6:
=======
Compiler: Sun OS - 5.7 ( caleb.crd, nightly dashboard )

Problem: Segmentation violation when trying to catch an
expected exception.

Luis "fixed" this problem by reordering the order
in which exception are tested - which doesn't seem
like a very satisfactory solution.

------------------------------

-Lydia
_______________________________________________
Insight-developers mailing list
Insight-developers@public.kitware.com
http://public.kitware.com/mailman/listinfo/insight-developers