Bug 92071 - orbit-idl must produce an error in case of missing include files in .idl
orbit-idl must produce an error in case of missing include files in .idl
Status: CLOSED CURRENTRELEASE
Product: Red Hat Linux
Classification: Retired
Component: ORBit (Show other bugs)
8.0
All Linux
medium Severity medium
: ---
: ---
Assigned To: Mark McLoughlin
: MoveUpstream, Triaged
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-06-02 10:07 EDT by Sysoltsev Slawa
Modified: 2007-04-18 12:54 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-07-28 08:23:06 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Sysoltsev Slawa 2003-06-02 10:07:22 EDT
Description of problem:
Orbit-idl uses a compiler to preprocess idl file. This idl file can contain #include 
directives. If header file pointed in the include directive is missed the compiler 
emits an error and changes its exit status to non-zero. GNU compiler doesn’t stop 
working at this and continues preprocessing the rest of the main source file. That’s 
only its behavior and the output after the error is quite unreliable. However orbit-idl 
doesn’t check compiler output status and the error presence and continues to 
process the output. Don’t you think it is too bizarre to go on in the presence of 
errors? If there is a missed header file, the errors probably will appear during the 
build stage where source files use orbit-idl generated header and ultimately an 
user will be frustrated by the incomprehensible errors (like unknown identifier used, 
but not defined anywhere!). Orbit-idl should prevent these situations and report 
about the problem timely. Nowadays there is no any diagnostics at all if .idl file 
includes missed header file.

As another reason to check for compiler errors, you can imagine that not all 
compilers continue working after error is spotted; Intel compiler is the case. In 
such a case the header produced by orbit-idl is incomplete and cannot be used 
properly.


Version-Release number of selected component (if applicable):


How reproducible:
always

Steps to Reproduce:
1. Compose an idl file (test.idl):
struct One {
    long i;
};

#include <inexisting.h>

struct Two {
    long j;
};

2. Try `orbit-idl test.idl`
    
Actual results:
No any diagnostics, error is suppressed, output files are produced.

Expected results:
Error or at least warning about missing file. A Developer or an user spot it and fix 
the .idl file accordingly.

Additional info:
Comment 1 Havoc Pennington 2003-06-02 12:47:03 EDT
This may already be fixed in orbit-idl-2, which you should be using
rather than orbit-idl - can you give that a try?
Comment 2 Sysoltsev Slawa 2003-06-09 06:20:32 EDT
This error happens while building evolution package. They calls orbit-idl, not orbit-
idl-2, so I concern only about orbit-idl.
With orbit-idl-2 the compiler errors are shown, but exit status is zero.
Comment 3 Mark McLoughlin 2004-07-28 08:23:06 EDT
(Sorry about the inactivity here)

I'm pretty sure this has been fixed with ORBit2 and nothing really
uses ORBit anymore. Closing, but feel free to re-open if the problem
still exists with ORBit2

Note You need to log in before you can comment on or make changes to this bug.