How do i build ROOT on windows

hello,

I am trying to build ROOT on windows-32 bit . The following stepa were being followed muenster.de/~naumana/rootmsvc.html .
I have been successful upto the third step . But , not able to execute the 4th step successful . I would like to know if there are some other steps that i need to follow to build ROOT . Later, i also plan to build the same on a 64-bit windows machine .

The ROOT version that i have used 5.11.02

Hi,
any error messages?
Cheers, Axel.

Below is the buildlog


Build Log ------- Build started: Project: ROOTmakefile, Configuration: Debug|Win32 -------

Command Lines Creating temporary file “C:\DOCUME~1\MEGHA_~1\LOCALS~1\Temp\BAT000001.bat” with contents
[
@echo off
d:\root_vc++\root\buildroot.bat
if errorlevel 1 goto VCReportError
goto VCEnd
:VCReportError
echo Project : error PRJ0019: A tool returned an error code from "Performing Makefile project actions"
exit 1
:VCEnd
]
Creating command line "C:\DOCUME~1\MEGHA_~1\LOCALS~1\Temp\BAT000001.bat"
Output Window Performing Makefile project actions
Setting environment for using Microsoft Visual Studio .NET 2003 tools.
(If you have another version of Visual Studio or Visual C++ installed and wish
to use its tools from the command line, run vcvars32.bat for that version.)
make: *** No targets specified and no makefile found. Stop.
ROOTmakefile : error PRJ0002 : error result returned from ‘c:\docume~1\megha_~1\locals~1\temp\bat000001.bat’.
Results Build log was saved at "file://d:\root_vc++\root\ROOTmakefile\Debug\BuildLog.htm"
ROOTmakefile - 1 error(s), 0 warning(s)

Hi,

looks like d:\root_vc++\root\buildroot.bat’s “cd $ROOTSYS” doesn’t work. Can you replace its last line by
@%CYGWINROOT%\bin\bash --login -c 'cd $ROOTSYS ; echo $PWD; make %1’
to check that it really “arrived” at the directory where $ROOTSYS/Makefile is located? The output of the directory should show up right before the “No targets specified and no makefile found” error message.

Cheers, Axel.

hello,

Well, i have tried out the solution that was suggested by u . And yes, as u said the $ROOTSYS is unknown . The following were the changes to build.bat as i also can across other errors …

@rem — ROOT BUILD SCRIPT —
@rem Customize CYGWINROOT to point to your cygwin installation’s root directory
@set CYGWINROOT=C:\cygwin
@call %VSCOMNTOOLS%vsvars32.bat
@%CYGWINROOT%\bin\bash --login -c ‘cd /cygdrive/d/root_vc++/root ;echo $PWD; ./configure win32 &>myconfig.txt ; make %1’

This did the configuration but gave the following error …

‘make’ is not recognized as an internal or external command,
operable program or batch file.
ROOTmakefile : error PRJ0002 : error result returned from ‘c:\docume~1\megha_~1\locals~1\temp\bat000009.bat’.

Later, used nmake instead of make and got the following

NMAKE : fatal error U1073: don’t know how to make ‘’'
Stop.

So, i think that the MS-DOS environment is being used instead of the cygwin , and this is probably the main reason that $ROOTSYS was not known .
Can u suggest me on how to proceed fron here on …

Thanks
Megha

Hi,

read the part on the top of my web site, please, for ROOTSYS and the configure step. Install the cygwin make package; nmake is incompatible.

And yes, this is a pain; we’re working on an easier way to get an MSVC project file to build root under windows.

Axel.

hi ,
Now i am stuck up on a diffrent issue

– Build started: Project: ROOTmakefile, Configuration: Debug Win32 ----

Performing Makefile project actions
Setting environment for using Microsoft Visual Studio .NET 2003 tools.
(If you have another version of Visual Studio or Visual C++ installed and wish
to use its tools from the command line, run vcvars32.bat for that version.)
/cygdrive/d/root_vc++/root
*** Building pcre/src/pcre-6.4/Win32/libpcre-6.4.lib…
copy .\pcre_chartables.c …\pcre_chartables.c
1 file(s) copied.
copy .\pcre.h …\pcre.h
1 file(s) copied.
copy .\config.h …\config.h
1 file(s) copied.
cl.exe -MDd -GR -G5 -GX -I…/…/…/…/build/win -FIw32pragma.h /nologo /W3 /Gm /Zi /Od /I “./” /I “Win32” /D “_WIN32” /D “WIN32” /D “_LIB” /D “_DEBUG” /D “_WINDOWS” /D “SUPPORT_UTF8” /D “SUPPORT_UCP” /D POSIX_MALLOC_THRESHOLD=10 /D “NO_RECURSE” /Fo"…//" /FD -MDd -GR -G5 -GX -I…/…/…/…/build/win -FIw32pragma.h /c -c “…/pcre_chartables.c"
pcre_chartables.c
cl.exe -MDd -GR -G5 -GX -I…/…/…/…/build/win -FIw32pragma.h /nologo /W3 /Gm /Zi /Od /I “./” /I “Win32” /D “_WIN32” /D “WIN32” /D “_LIB” /D “_DEBUG” /D “_WINDOWS” /D “SUPPORT_UTF8” /D “SUPPORT_UCP” /D POSIX_MALLOC_THRESHOLD=10 /D “NO_RECURSE” /Fo”…//" /FD -MDd -GR -G5 -GX -I…/…/…/…/build/win -FIw32pragma.h /c -c “…/pcre_compile.c"
pcre_compile.c
.
.
.
.
cl.exe -MDd -GR -G5 -GX -I…/…/…/…/build/win -FIw32pragma.h /nologo /W3 /Gm /Zi /Od /I “./” /I “Win32” /D “_WIN32” /D “WIN32” /D “_LIB” /D “_DEBUG” /D “_WINDOWS” /D “SUPPORT_UTF8” /D “SUPPORT_UCP” /D POSIX_MALLOC_THRESHOLD=10 /D “NO_RECURSE” /Fo”…//" /FD -MDd -GR -G5 -GX -I…/…/…/…/build/win -FIw32pragma.h /c -c “…/pcre_exec.c"
pcre_exec.c
…/pcre_exec.c(433) : warning C4005: ‘max’ : macro redefinition
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\stdlib.h(424) : see previous definition of ‘max’
…/pcre_exec.c(434) : warning C4005: ‘min’ : macro redefinition
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\stdlib.h(425) : see previous definition of 'min’
cl.exe -MDd -GR -G5 -GX -I…/…/…/…/build/win -FIw32pragma.h /nologo /W3 /Gm /Zi /Od /I “./” /I “Win32” /D “_WIN32” /D “WIN32” /D “_LIB” /D “_DEBUG” /D “_WINDOWS” /D “SUPPORT_UTF8” /D “SUPPORT_UCP” /D POSIX_MALLOC_THRESHOLD=10 /D “NO_RECURSE” /Fo”…//" /FD -MDd -GR -G5 -GX -I…/…/…/…/build/win -FIw32pragma.h /c -c “…/pcre_fullinfo.c"
pcre_fullinfo.c
.
.
.
.
.
cl.exe -MDd -GR -G5 -GX -I…/…/…/…/build/win -FIw32pragma.h /nologo /W3 /Gm /Zi /Od /I “./” /I “Win32” /D “_WIN32” /D “WIN32” /D “_LIB” /D “_DEBUG” /D “_WINDOWS” /D “SUPPORT_UTF8” /D “SUPPORT_UCP” /D POSIX_MALLOC_THRESHOLD=10 /D “NO_RECURSE” /Fo”…//" /FD -MDd -GR -G5 -GX -I…/…/…/…/build/win -FIw32pragma.h /c -c "…/pcre_xclass.c"
pcre_xclass.c
link.exe -lib /nologo /machine:I386 /out:./\libpcre-6.4.lib “…/pcre_chartables.obj” “…/pcre_compile.obj” “…/pcre_config.obj” “…/pcre_dfa_exec.obj” “…/pcre_exec.obj” “…/pcre_fullinfo.obj” “…/pcre_get.obj” “…/pcre_globals.obj” “…/pcre_info.obj” “…/pcre_maketables.obj” “…/pcre_ord2utf8.obj” “…/pcreposix.obj” “…/pcre_refcount.obj” “…/pcre_study.obj” “…/pcre_tables.obj” “…/pcre_try_flipped.obj” “…/pcre_ucp_findchar.obj” “…/pcre_valid_utf8.obj” “…/pcre_version.obj” "…/pcre_xclass.obj"
link: invalid option – l
Try `link --help’ for more information.
NMAKE : fatal error U1077: ‘link.exe’ : return code '0x1’

Stop.
make: *** [pcre/src/pcre-6.4/Win32/libpcre-6.4.lib] Error 2

I have been trying to locate where -lib is specified . I have found a Makefile at %ROOTSYS%\pcre\src\pcre-6.4\win32

I tried changing the -lib option to lib , but, every time i build it would change this file and -lib option is retained . I am not really getting where is this set … Can u suggest me how to proceed …

Hi,

it picks up the wrong (i.e. cygwin’s, not MSVC’s) link.exe. Do mv /usr/bin/link.exe /usr/bin/link_.exe and try again.

Axel.

Thanks for the help provided … Finally, i am able to build ROOT on windows successfully with MSVC …