Hi Christian! On 30 Oct 2006, at 12:20, Christian Holm Christensen wrote:
Sorry for not being crystal clear: without Qt I did not observe any error messages or problems when running with unset ROOTSYS.Try unsetting the ROOTSYS environment variable (and LD_LIBRARY_PATH for that matter). These variables are _not_ needed.Without the Qt plugin it gave no errors, but with it I gotSo, if you unset ROOTSYS, it works? Is that correctly understood?
rkuhn@rk:~$ root Error in <TUnixSystem::ExpandFileName>: input: $ROOTSYS/bin/root.exe, output: $ROOTSYS/bin/root.exeXlib: extension "XInputExtension" missing on display "localhost: 10.0".I guess this has to do with the remote X server set-up. It's probably harmless.
I figured.
Failed to get list of devices\Does the pointer and keyboard work?
Yes.
** $Id: TGQt.cxx,v 1.33 2006/10/04 16:08:48 antcheva Exp $ this=0xb12a70The font "symbol.ttf" was not installed yet Substitute it with "Arial" Make sure your local "~/.fonts.conf" or "/etc/fonts/fonts.conf" file points to "$ROOOTSYS/fonts" directory to get the proper support for ROOT TLatex class Error in <TUnixSystem::ExpandFileName>: input: $ROOTSYS/cint/include/... <bla bla bla>All these warnings has to do with some bugs in the Qt code. The problemis, that the Qt code does not take into account that one might installROOT without the use of the ROOTSYS environment variable (sigh!). I'llopen a bug report on savannah.cern.ch and add a fix.
Okay, thanks.
To check e.g. library loading I tried 'gSystem.Load("libPhysics.so")' and got again two Errors with qt and none without. The library seems to work, though.That's because the Qt backend adds wrong stuff to the library path.
Yup.
I'm doing some stress tests now.Great. As far as I can tell, they all work, right?
Yes.
Well, it complains that $ROOTSYS/tutorials/hsimple.root does not exist, which is not a location I'd have write access for. Something like below might help:I've not noticed any failures (stressGraphics seems to require the creation of a file which I cannot write as non-root,Probably since you're executing in a directory where you have no write access. I'd suggest copying the `test' directory somewhere else (as a normal user) and compile and run it there.
--- /usr/share/doc/root/test/stressGraphics.cxx 2006-09-12 13:24:40.000000000 +0000
+++ stressGraphics.cxx 2006-10-30 13:13:49.000000000 +0000 @@ -143,10 +143,21 @@ // Check if $ROOTSYS/tutorials/hsimple.root exists gErrorIgnoreLevel = 9999; + if (verbose) printf("searching hsimple.root\n"); gFile = new TFile("$ROOTSYS/tutorials/hsimple.root"); if (gFile->IsZombie()) {- printf("File $ROOTSYS/tutorials/hsimple.root does not exist. Run tutorial hsimple.C first\n");
- return; + if (verbose) printf(" not found in $ROOTSYS/tutorials\n"); + delete gFile; + gFile = new TFile("hsimple.root"); + if (gFile->IsZombie()) { + if (verbose) printf(" not found in current directory\n");+ printf("File hsimple.root does not exist. Run tutorial hsimple.C first\n");
+ return; + } else { + if (verbose) printf(" found in current directory\n"); + } + } else { + if (verbose) printf(" found in $ROOTSYS/tutorials\n"); } gErrorIgnoreLevel = 0; =====Side note: the options parsing of stressGraphics.cxx is a bit weird, right?
stressHepix seems to want to call only the other stress tests, which fails because I don't have '.' in my PATH, and I shouldn't be forced to).No you shouldn't. This is a mistake in the stressHepix program to assume that. Having `.' in ones path is very _very_ bad and is frowned upon by any serious administrator. Suppose you have `.' in your PATH, and you cdto some other users directory. There you execute `ls'. Now, what youdon't know, is that the other user has put a malicious version of `ls' in her directory, say something that forks and runs some bad stuff in the background, while executing `/bin/ls' in the foreground.
Yep, that's why I said I shouldn't be forced to ;-)
Looks reasonable. But it might be even better to use the dirname of argv[0], unless that's the empty string. The following Works For Me (tm) and also fixes a linker problem with libEvent.so (had to set LD_LIBRARY_PATH before):Someone please correct the function `runTest' in `stressHepix.cxx' to read void runTest(const char *atest, int estimate) {printf("Running : %s, (takes %d RT seconds on the ref machine)\n",atest,estimate);gSystem->Exec(Form("./%s >>stressHepix.log",atest)); }
diff -ur /usr/share/doc/root/test/Makefile test/Makefile--- /usr/share/doc/root/test/Makefile 2006-09-30 18:17:14.000000000 +0000
+++ test/Makefile 2006-10-30 12:58:35.000000000 +0000 @@ -17,7 +17,7 @@ ifeq ($(PLATFORM),win32) EVENTLIB = libEvent.lib else -EVENTLIB = $(EVENTSO) +EVENTLIB = $(shell pwd)/$(EVENTSO) endif MAINEVENTO = MainEvent.$(ObjSuf) diff -ur /usr/share/doc/root/test/stressHepix.cxx test/stressHepix.cxx--- /usr/share/doc/root/test/stressHepix.cxx 2006-09-15 10:05:30.000000000 +0000
+++ test/stressHepix.cxx 2006-10-30 12:47:33.000000000 +0000 @@ -71,7 +71,14 @@ void runTest(const char *atest, int estimate) {printf("Running : %s, (takes %d RT seconds on the ref machine) \n",atest,estimate);
- gSystem->Exec(Form("%s >>stressHepix.log",atest)); + TString cmdname(gROOT->GetApplication()->Argv(0)); + TString prefix("."); + Ssiz_t offset; + if ((offset = cmdname.Last('/')) != kNPOS) { + cmdname.Resize(offset); + prefix = cmdname; + } + gSystem->Exec(Form("%s/%s >>stressHepix.log",prefix.Data(),atest)); } int main(int argc, char **argv) =====This patch is badly whitespace-mangled, I don't know how to make Apple Mail behave in this respect, so please accept my apologies and if you want to actually apply this, use the attached version.
Ciao, Roland
Attachment:
patch
Description: Binary data
-- TU Muenchen, Physik-Department E18, James-Franck-Str., 85748 Garching Telefon 089/289-12575; Telefax 089/289-12570 -- CERN office: 892-1-D23 phone: +41 22 7676540 mobile: +41 76 487 4482 -- Any society that would give up a little liberty to gain a little security will deserve neither and lose both. - Benjamin Franklin -----BEGIN GEEK CODE BLOCK----- Version: 3.12GS/CS/M/MU d-(++) s:+ a-> C+++ UL++++ P+++ L+++ E(+) W+ !N K- w--- M + !V Y+
PGP++ t+(++) 5 R+ tv-- b+ DI++ e+++>++++ h---- y+++ ------END GEEK CODE BLOCK------
Attachment:
PGP.sig
Description: This is a digitally signed message part