Error compiling root for win32gcc

Dear Rooters

Since I want to test my program on different platforms, I have bought a
HP Compaq Notebook, installed cygwin and have just downloaded root
from cvs.

Sorrowly, compilation or root results in the following error:

gl/src/TGLHistPainter.o:TGLHistPainter.cxx:(.text+0x6cec): undefined reference to `TGaxis::PaintAxis(double, double, double, double, double&, double&, int&, char const*, double, bool)'
gl/src/TGLHistPainter.o:TGLHistPainter.cxx:(.text+0x6d06): undefined reference to `TGaxis::~TGaxis()'
gl/src/TGLHistPainter.o:TGLHistPainter.cxx:(.text+0x6d20): undefined reference to `TGaxis::~TGaxis()'
gl/src/TGLHistPainter.o:TGLHistPainter.cxx:(.text+0x94cb): undefined reference to `THLimitsFinder::Optimize(double, double, int, double&, double&, int&, double&, char const*)'
gl/src/G__GL.o:G__GL.cxx:(.text+0xf2f4): undefined reference to `TVirtualHistPainter::Streamer(TBuffer&)'
gl/src/G__GL.o:G__GL.cxx:(.text+0xfd63): undefined reference to `TVirtualHistPainter::ShowMembers(TMemberInspector&, char*)'
collect2: ld returned 1 exit status
make: *** [lib/libRGL.dll] Error 1

Can anybody tell me what the reason for this error could be?

Thank you in advance
Best regards
Christian

Hi Christian,

the reason is probably a missing entry in Makefile.depend. Could you apply the attached patch running cd $ROOTSYS; patch -p0 < GL_depends_on_Graf.txt && make and let us know whether that fixes the problem?

Cheers, Axel.
GL_depends_on_Graf.txt (1.51 KB)

Hi Axel,

Sorry, the patch did not help, the error message remains the same.

Regards
Christian

Hi Christian,

actually, two or so of the error messages went away by applying the patch :slight_smile: The appended patch gets rid of the others. Do cd $ROOTSYS; rm config/Makefile.depend; cvs -z3 up config/Makefile.depend; patch -p0 < GL_depends_on_Graf.txt && make
Thanks for reporting this bug!
Axel.
GL_depends_on_Graf.txt (1.58 KB)

Hi Axel

Thank you , now I could finish the compilation.
Sorrowly, I am unable to start root.

First I tried:

export ROOTSYS=/cygdrive/c/cygwin/home/Rabbitus/ROOT/root
export PATH=$ROOTSYS/bin:$PATH
root

This caused the ROOT splash screen to appear, root_exe.exe was using 99%
of CPU time but nothing did happen, I had to kill root.

Then I followed your document and created a file root.sh with:

export ROOTSYS=/cygdrive/c/cygwin/home/Rabbitus/ROOT/root
export PATH=$ROOTSYS/bin:$PATH

Now calling “root” resulted in the following error:

rootx xpm error: XpmOpenFailed
root: can't start ROOT -- check that c:\home\Rabbitus\ROOT\root/bin/root_exe.exe exists!

I had to call "/cygdrive/c/cygwin/home/Rabbitus/ROOT/root/bin/root_exe.exe"
This started root, but no splash screen appeared although it still consumed
99% of CPU time. After 5min I killed it.

Do you have an idea what may be wrong?

Best regards
Christian

Dear Rooters

While waiting for an answer to my new question I was searching roottalk and found:
root.cern.ch/phpBB2/viewtopic.ph … 5e9296e7df

It seems to be common that starting root with cygwin results in root going into an infinite loop!?
How often does this problem appear? Is it a common problem or a problem on certain
computers or with certain cvs versions only?
Is there a workaround to this problem, e.g. trying to repeat the download from cvs?

Best regards
Christian

Hi Christian,

the problem you describe is rather new, and widely spread. I’m currently debugging it. I’ll let you know once I found the solution. From what I’ve seen so far this problem only shows up if ROOT was compiled in release mode. Did you do configure --build=debug? Or do you have a release build? So this would probably be your workaround, too: building root in debug mode.

Axel.

Hi Axel

Thank you for your suggestion, I will try the debug mode and let you know.

Best regards
Christian

Hi Christian,

you can find the patch at savannah.cern.ch/bugs/index.php … m_id=13649
Please let me know whether that fixes it for you (for the optimized build, not debug - I know it already works for debug :-).

Axel.

Hi Axel

I just wanted to tell you that I could just compile and run root w/o problems
when using the debug option, when I have seen your new reply.

I will try to test your new patch tomorrow. Did you already add it to cvs?

Best regards
Christian

Nope, it’s not in CVS yet, I’d like to have a confirmation first.
Axel.

Hi Axel

Thank you for your help, now it works great.

I did:

make distclean
export ROOTSYS=$PWD
./configure win32gcc
make
make map

All the tutorials I tested, are working as expected.

Thank you once again
Christian