AClic problems on MacOsX

From: daniel cussol <cussol_at_ccimap.in2p3.fr>
Date: Tue, 01 Mar 2005 15:42:18 +0100


Hello macrooters,
I have the following problem when I use AClic to compile macros on MacOs 10.3.8, ROOT version 4.02.00. I have joined to this message a very simple example with two simple independant files. At the first compilations, I obtain the following error message:

root [0] .L Test1.C+
Info in <TUnixSystem::*ACLiC*>: creating shared library /Volumes/Utilisateurs/choubi/Documents/Travail/root/./Test1_C.so root [1] .L Test2.C+
Info in <TUnixSystem::*ACLiC*>: creating shared library /Volumes/Utilisateurs/choubi/Documents/Travail/root/./Test2_C.so g++: Test1_C.dylib: No such file or directory Error in <*ACLiC*>: Compilation failed!

If I quit ROOT and rerun it again, here is the error message I obtain:

root [0] .L Test1.C+
root [1] .L Test2.C+
Info in <TUnixSystem::*ACLiC*>: creating shared library /Volumes/Utilisateurs/choubi/Documents/Travail/root/./Test2_C.so g++: Test1_C.dylib: No such file or directory Error in <*ACLiC*>: Compilation failed!

Now if I compile the second file first, Test1.C being already compiled, all seems to be OK:

root [0] .L Test2.C+
Info in <TUnixSystem::*ACLiC*>: creating shared library /Volumes/Utilisateurs/choubi/Documents/Travail/root/./Test2_C.so root [1] .L Test1.C+
root [2] Test1()
This is the Test1 function...
root [3] Test2()
This is the Test2 function...

All work as if each file had to be compiled separately in different interactive ROOT sessions, and then all can be loaded in one single session. It would may be worth that the .dylib file be generated additionally with the .so file in *AClic*, but I do not know how to do it since the fields used in TSystem::SetMakeSharedLib() method seem to be uneditable.

Thanks for any help and/or suggestion

-- 
Daniel CUSSOL

LPC Caen IN2P3/ENSICAEN/Universite de Caen
Boulevard du Marechal Juin
14050 CAEN CEDEX

e-mail : cussol_at_in2p3.fr
Tel    : +33-(0)2-31-45-29-73
FAX    : +33-(0)2-31-45-25-49



// Test1 file: compilation of a simple function
#ifndef __CINT__
#include "Riostream.h"
#endif
void Test2(void) { cout << "This is the Test2 function..." << endl; }

// Test1 file: compilation of a simple function
#ifndef __CINT__
#include "Riostream.h"
#endif
void Test1(void) { cout << "This is the Test1 function..." << endl; }

Received on Tue Mar 01 2005 - 15:41:19 MET

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:05 MET