Compile ROOT error (v5.18/Windows/Cygwin)

[quote=“xunlei”]Hi Valeri,
I disable asimage as directed.
Here is new error messages. I would guess there is sth. to do with QtRoot rather than Root.[/quote]
Yes, you are correct. I hope you have completed the ROOT installation.

[quote=“xunlei”]I have used some converter software converting all files under the questioned folder, i.e. qtRoot\qtgui\src to UNIX/LINUX format. Same error repeats. Converting to Windows/DOS format also carries the same errors. Are those files auto generated?

qtgui/src/TQtCanvasWidget.cxx : error C4335: Mac file format detected: please convert the source fil
e to either DOS or UNIX format
make: *** [qtgui/src/TQtCanvasWidget.o] Error 2

SOME FATAL ERROR DURING EXECUTION, SORRY…[/quote]
Well, it says the file in the “mac format” by some reason. Probably your converter did screw files rather fix it. Another possibility, the files were corrupted during transmisison. Can you

cd qtRoot/qtgui/src cvs diff mv TQtCanvasWidget.cxx TQtCanvasWidget.cxx.hold cvs update diff TQtCanvasWidget.cxx TQtCanvasWidget.cxx.hold
or better

cd qtRoot cvs diff rm -rf * cvs update
you should NOT have to apply any text converter.
The source files are to be kept in the proper format. If they are not this is a bug. Please, do NOT fix the problem on YOUR site. Send me the list of the files. If they are wrong in CVS they have to be fixed in CVS.

I hope, the problem is simple to fix . Did you see other files with the same problem. if the problem will persist can you upload the files to investigate.
Thank you for your patience and kind assistance.

hi valeri,

I don’t have cvs for qtroot setup in windows. not sure that environment has been setup by your INSTALLROOT.sh. Any suggestions?

Best,
xunlei

[quote=“xunlei”]I don’t have cvs for qtroot setup in windows. not sure that environment has been setup by your INSTALLROOT.sh.
[/quote]CVS utility is a part of Cygwin installation. The script root.bnl.gov/QtRoot/INSTALL_QTROOT.sh does use it as follows:

if [ ! -f download.qtroot ]; then echo ">>>>> CHECKING OUT ........ QtRoot. Be patient..." cvs -d :pserver:cvsuser:cvsuser@cvs.bnl.gov:/data01/CVS login cvs -d :pserver:cvsuser@cvs.bnl.gov:/data01/CVS co -Pd $qtRootDir root touch download.qtroot fiThis means you should be able to do what I suggested to do with my previous post from cygwin command prompt.

Let’s switch to your root.cern.ch/phpBB2/viewtopic.php?t=7088 . This thread can be closed I guess.

The root installation is completed by bypassing asimage.
Is there a solution to include asimage?
thanks a lot.

best,
xunlei

Hi Valeri,
I used TortoiseCVS frontend to update the qtgui\src directory. And INSTALL_QTROOT.sh finished w/o a hitch.
After run the set_environment.sh and set_environment.cmd.bat in both cygwin and DOS cmd, I launched root. The welcome screen suggests some demos programs to run. Here are the error messages.

I checked the set_envrionment and make sure it is using the correct directory.

Do I need to repeat the installation from a clean start? Thank you very much.

root [3] .x demoshelp.C
Error in TGQt::TGQt::CopyPixmap: Wrong TGuiFactory implementation was provided
. Please, check your plugin settings
Assertion failed: dst != (QPaintDevice *)-1, file qt/src/TGQt.cxx, line 1185

root [1] .x RootShower.CC
Error in TWinNTSystem::DynamicPathName: libRootShower does not exist in $(ROOT
SYS)/cint/include;.;c:\root\root/bin;c:\Qt\bin;c:\root\root\bin;c:\root\Coin3D\c
oin3d\CYGWIN_NT-5.1\coin3d\bin;C:\Program Files\Microsoft Visual Studio 9.0\Comm
on7\IDE;C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN;C:\Program Files\Mic
rosoft Visual Studio 9.0\Common7\Tools;C:\Program Files\Microsoft Visual Studio
9.0\Common7\Tools\bin;Framework32;Framework32\Microsoft .NET Framework 3.5 (Pr
e-Release Version);Framework32\v2.0.50727;C:\Program Files\Microsoft Visual Stud
io 9.0\VC\VCPackages;C:\Program Files\Microsoft SDKs\Windows\v6.1\bin;C:\Program
Files\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files\Microsoft Visual
Studio 9.0\VC\BIN;C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools;C:
\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\bin;Framework32;Framew
ork32\Microsoft .NET Framework 3.5 (Pre-Release Version);Framework32\v2.0.50727
;C:\Program Files\Microsoft Visual Studio 9.0\VC\VCPackages;C:\Program Files\Mic
rosoft SDKs\Windows\v6.1\bin;C:\MinGW\bin;C:\Program Files\Microsoft DirectX SDK
(August 2007)\Utilities\Bin\x86;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\Syste
m32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared;C:\Program Files
Common Files\Roxio Shared\DLLShared;C:\Program Files\Common Files\Roxio Shared
9.0\DLLShared;C:\Program Files\HPQ\IAM\bin;C:\Program Files\Common Files\Adobe
AGL;C:\Program Files\Intel\DMIX;C:\Program Files\QuickTime\QTSystem;C:\Program
Files\OpenCV\bin;C:\Program Files\SSH Communications Security\SSH Secure Shell;C
:\Program Files\CVSNT;C:\Program Files\StormII\Codec;C:\Program Files\StormII;C:
\root\bin;C:\Program Files\Visual Leak Detector\bin;C:\MinGW\bin;C:\Program File
s\Microsoft Visual Studio 9.0\VC\bin;C:\Program Files\Microsoft Visual Studio 9.
0\Common7\IDE;C:\Qt\bin;c:\root\root/test/qtRootShower;c:\root\root/lib;c:\root
root/test/qtRootShower,
or has wrong file extension (.dll)
Error: Symbol ShowerMain is not defined in current scope c:\root\root\test\qtRo
otShower\RootShower.CC(27)
Error: type ShowerMain not defined FILE:c:\root\root\test\qtRootShower\RootShowe
r.CC LINE:27
*** Interpreter error recovered ***
root [2]

I have replied this question on root.cern.ch/phpBB2/viewtopic.php?p=29792#29792 thread.

Hi xunlei,

Why do you want to stay with the version 5.18.00?
Don’t you want to try with a newer version?
I can try to find a patch for asimage on 5.18.00, but then you will have a non-standard version of Root anyway…

Cheers,
Bertrand.

Valeri suggested I stay with 5.18 to achieve compatibility with QtRoot.
If there is a newer version of root who is compatible with QtRoot please let me know.
Million thanks for your help.

Hi Xunlei,

I just successfully built ROOT v5.18.00 with MSVC++9.0 and Windows SDK v6.1. No problem at all with libAfterImage!
Maybe you should try svn checkout from cygwin instead of TortoiseCVS (I can only try to guess, since it works perfectly well for me…)

Cheers,
Bertrand.

Hi Xunlei,

[quote=“bellenot”] . . .
I just successfully built ROOT v5.18.00 with MSVC++9.0 and Windows SDK v6.1. No problem at all with libAfterImage!
Maybe you should try svn checkout from cygwin instead of TortoiseCVS (I can only try to guess, since it works perfectly well for me…)
[/quote]By default TortoiseCVS converts the text file to the DOS format. That may be the reason of your troubles. TortoiseCVS is very powerfull and convinient tool, however you should disable the DOS conversion. On the other hands the script doesn’t use CVS to download ROOT.

As soon as the ROOT source is concern, it doesn’t matter what CVS utility you installed. The script root.bnl.gov/QtRoot/INSTALL_QTROOT.sh downloads the tarball:

if [ ! -f download.root ]; then echo ">>>>> DOWNLOADING ........ ROOT $$ROOT_VERSION. Be patient..." $GET ftp://root.cern.ch/root/root_v$(echo $ROOT_VERSION).source.tar.gz ls -lh root_v$(echo $ROOT_VERSION).source.tar.gz touch download.root fiand the unpack it with tar: if [ ! -f done.unpackroot ]; then if [ -f done.root ]; then rm done.root fi rm -rf root tar xzf root_v$(echo $ROOT_VERSION).source.tar.gz cd rootNo CVS is involved in the process.

Hi Valeri and Bertand,

I have restarted the Qt + Root (5.18.0) installation on VC 8.0.
Here is my error messages again. I did not have this message before. Could you please help? Thanks a lot.


TPadEditorHelper.cxx
base/src/TPadEditorHelper.cxx(5) : error C2039: ‘PadEditor’ : is not a member of
’TPadEditorHelper’
c:\root\root\include\TPadEditorHelper.h(4) : see declaration of 'TPadEdi
torHelper’
base/src/TPadEditorHelper.cxx(5) : error C2065: ‘fgPadEditor’ : undeclared ident
ifier
make: *** [base/src/TPadEditorHelper.o] Error 2
rm utils/src/RStl_tmp.cxx utils/src/rootcint_tmp.cxx

SOME FATAL ERROR DURING EXECUTION, SORRY…

Administrator@HP17726480219 /cygdrive/c/root
$

[quote=“xunlei”]Hi Valeri and Bertand,

I have restarted the Qt + Root (5.18.0) installation on VC 8.0.
Here is my error messages again. I did not have this message before. Could you please help? Thanks a lot.


TPadEditorHelper.cxx
base/src/TPadEditorHelper.cxx(5) : error C2039: ‘PadEditor’ : is not a member of
’TPadEditorHelper’
c:\root\root\include\TPadEditorHelper.h(4) : see declaration of ‘TPadEdi
torHelper’
[/quote] The problem is caused by the class from QtRoot package. I am sorry :blush: It is my fault. I made (recently :unamused: , this is why you did not see it before) a correction but forget to committee it to CVS. :blush:

[code]Index: inc/TPadEditorHelper.h

RCS file: /data01/CVS/root/root.diff/base/inc/TPadEditorHelper.h,v
retrieving revision 1.1
diff -u -w -b -r1.1 TPadEditorHelper.h
— inc/TPadEditorHelper.h 10 Jan 2006 19:05:49 -0000 1.1
+++ inc/TPadEditorHelper.h 16 Aug 2008 04:42:33 -0000
@@ -1,8 +1,10 @@
#ifndef ROOT_TPadEditorHelper
#define ROOT_TPadEditorHelper
#include “TVirtualPadEditor.h”
+
class TPadEditorHelper : public TVirtualPadEditor {
public:
static void SetPadPointer(TVirtualPadEditor *p);

  •     static TVirtualPadEditor *PadEditor();
     };
    

#endif[/code]
Please, fix your local copy or start from the CVS.

Just for the record the full source code of the class in question is following

[code]$ more inc/TPadEditorHelper.h
#ifndef ROOT_TPadEditorHelper
#define ROOT_TPadEditorHelper
#include “TVirtualPadEditor.h”

// Class to access the the global pointer across Win32 DLLs
// (works well for other platforms too)

class TPadEditorHelper : public TVirtualPadEditor {
public:
static void SetPadPointer(TVirtualPadEditor *p);
static TVirtualPadEditor *PadEditor();
};
#endif[/code][code]$ more src/TPadEditorHelper.cxx
#include “TPadEditorHelper.h”

// Class to access the the global pointer across Win32 DLLs
// (works well for other platforms too)
TVirtualPadEditor *TPadEditorHelper::PadEditor() { return fgPadEditor;}
void TPadEditorHelper::SetPadPointer(TVirtualPadEditor *p){ fgPadEditor = p;}[/code]May be one can include it into the original CERN package also to avoid the confusions in future.

Thank you.