Hi All,
A change in the include file handling during the last week to broke the ability of our application to compile scripts using ACLiC. We use SRT for our package maintenance. It defines two areas of interest a public base release, and a private one. Often, unless otherwise overridden the private area is set to "." (no quotes). Our application adds these two locations by both ACLiC + CINT via:
gSystem->SetIncludePath("-I<PrivatePath> -I<PublicPath>"); and
gROOT->ProcessLine(".include <PrivatePath>"); gROOT->ProcessLine(".include <PublicPath>");
But with the recent change the previously harmless ".include ." now breaks ACLiC processing.
This can be demonstrated with just ROOT:
$ cat test_aclic.C
#include <iostream>
using namespace std;
void test_aclic(const char* myarg = "blah" )
{
cout << "myarg=\"" << myarg << "\"" << endl;
}
$ root
[...]
root [0] .x test_aclic.C++
Info in <TUnixSystem::ACLiC>: creating shared library /afs/fnal.gov/
files/home/room2/rhatcher/./test_aclic_C.so
myarg="blah"
root [1] gSystem->GetIncludePath()
(const char* 0x83f92b0)"-I$ROOTSYS/include -I\"/grid/fermiapp/minos/
products/prd/MINOS_ROOT/Linux2.4-GCC_3_4/trunk/include\" "
root [2] .include
include path: -I/grid/fermiapp/minos/products/prd/MINOS_ROOT/Linux2.4-
GCC_3_4/trunk/include
compared to:
$ root
[...]
root [0] .include .
root [1] .x test_aclic.C++
Info in <TUnixSystem::ACLiC>: creating shared library /afs/fnal.gov/
files/home/room2/rhatcher/./test_aclic_C.so
sh: -c: line 0: unexpected EOF while looking for matching `"'
sh: -c: line 1: syntax error: unexpected end of file
Warning in <ACLiC>: Failed to generate the dependency file for /afs/
fnal.gov/files/home/room2/rhatcher/./test_aclic_C.so
sh: -c: line 0: unexpected EOF while looking for matching `"'
sh: -c: line 1: syntax error: unexpected end of file
Error in <ACLiC>: Compilation failed!
Error: Function test_aclic() is not defined in current scope :0:
*** Interpreter error recovered ***
root [2] gSystem->GetIncludePath()
(const char* 0x83f5e98)"-I$ROOTSYS/include -I\"/grid/fermiapp/minos/
products/prd/MINOS_ROOT/Linux2.4-GCC_3_4/trunk/include\" -I\".\" "
root [3] .include
include path: -I/grid/fermiapp/minos/products/prd/MINOS_ROOT/Linux2.4-
GCC_3_4/trunk/include -I.
This is the SVN trunk, on Scientific Linux (and Mac OS X) w/ gcc 3.4.3
(or 4.0.1). The change that seems to have caused this was r32784.
-robert
Robert W. Hatcher | rhatcher_at_fnal.gov 630-840-3102 FNAL CD/REX (MINOS) | MS 220, PO Box 500, Batavia IL 60510 Received on Thu Apr 01 2010 - 22:27:52 CEST
This archive was generated by hypermail 2.2.0 : Thu Apr 01 2010 - 23:50:01 CEST