Re: change to include path handling broke ACLiC

From: Philippe Canal <pcanal_at_fnal.gov>
Date: Thu, 1 Apr 2010 16:31:48 -0500


Hi Robert,

Thank you for reporting this problem.
This is fixed by revision 32873 of the trunk.

Cheers,
Philippe.

On 4/1/10 3:27 PM, Robert Hatcher wrote:
> 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
> <mailto: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 - 23:31:53 CEST

This archive was generated by hypermail 2.2.0 : Thu Apr 01 2010 - 23:50:01 CEST