Re: Root build problem on Windows

From: Bertrand Bellenot <bertrand.bellenot_at_cern.ch>
Date: Wed, 23 Dec 2009 20:18:27 +0100


Hi Tom,

The failure may come from make -j2. Could you try to use make (without any -jX)?
or just retype make after the failure, or even type make -k to ignore the compilation errors...

And FYI, "make static" is not supported on Windows with the MSVC++ compiler.

Cheers, Bertrand.

Tom Roberts wrote:
> This is root 5.24 being built on Windows Xp using MS VC++ Express
> edition 8.0
> SP1 via Cygwin's make. I am building root in order to link it
> statically with my
> program; all that the program uses directly are classes TFile,
> TNtuple, and
> TDirectory. I use the same build system on Mac OS X, Linux, and
> Windows; root
> 5.24 built fine on the Mac and 5.20 built fine on RedHat Linux 7.3
> (yes, that's
> very old; so old that newer versions of libraries won't compile on
> it). I don't
> think it matters, but Windows Xp SP3 is running in a VMware virtual
> machine with
> 2 CPUs and 1 GB RAM.
>
> For debugging, I have simplified the build as much as possible, but it
> still
> does not work:
> (start with a new bash shell in a rxvt window, after setting up VC++)
> (unpack the source tarball into C:/root and cd there)
> ./configure
> make -j 2
> ... MANY lines omitted
> bin/rmkdepend.exe -R -fcint/reflex/src/genmap/genmap.d -Y -w 1000 --
> -nologo
> -FIw32pragma.h -MD -GR -EHsc- -W3 -wd4244 -Iinclude -D_WIN32
> -Icint/reflex/src/genmap -D__cplusplus --
> cint/reflex/src/genmap/genmap.cxx
> make: *** No rule to make target
> `net/xrootd/src/xrootd/bin/xrdcp.exe', needed
> by `bin/xrdcp.exe'. Stop.
> make: *** Waiting for unfinished jobs....
>
> It also fails, in a different way, when I disable everything I can:
> ./configure --disable-afs --disable-alien --disable-asimage
> --disable-astiff
> --disable-builtin-afterimage --disable-castor --disable-chirp
> --disable-cint7
> --disable-cintex --disable-clarens --disable-dcache --disable-exceptions
> --disable-explicitlink --disable-fftw3 --disable-gdml --disable-gfal
> --disable-g4root --disable-globus --disable-glite --disable-gsl-shared
> --disable-krb5 --disable-ldap --disable-genvector --disable-mathmore
> --disable-memstat --disable-minuit2 --disable-monalisa --disable-mysql
> --disable-odbc --disable-opengl --disable-oracle --disable-pch
> --disable-peac
> --disable-pgsql --disable-pythia6 --disable-pythia8 --disable-python
> --disable-qt --disable-qtgsi --disable-reflex --disable-rfio
> --disable-roofit
> --disable-rpath --disable-ruby --disable-sapdb --disable-shadowpw
> --disable-shared --disable-soversion --disable-srp --disable-ssl
> --disable-table
> --disable-unuran --disable-winrtdebug --disable-xml --disable-xrootd
> --disable-xft
>
>
> Suggestions?
>
> Right now I'm going back to try 5.20....
> For 5.20 the make succeeded, but "make static" fails because libpcre.a
> and
> libfreetype.a are not found; there are files libpcre.lib and
> libfreetype.lib.
> Fixing that apparent typo does not help, as there are zillions of
> unresolved
> externals like this:
> G__Reflex.o : error LNK2019: unresolved external symbol
> "__declspec(dllimport)
> class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl
> Reflex::operator<<(class std::basic_ostream<char,struct
> std::char_traits<char> >
> &,class Reflex::PropertyList const &)"
> (__imp_??6Reflex@@YAAAV?$basic_ostream_at_DU?$char_traits_at_D@std@@@std@@AAV12_at_ABVPropertyList@0@@Z)
>
> referenced in function "void __cdecl G__setup_memfuncReflex(void)"
> (?G__setup_memfuncReflex@@YAXXZ)
>
> At one point I had similar results with 5.24 (make succeeds, "make
> static" fails
> as above).
>
> Any help would be appreciated.
>
>
> BACKGROUND: What I am trying to do.
>
> I am trying to prepare a release of my program, G4beamline, such that
> users can
> be reasonably expected to build it. That means I must include all
> non-system
> library source, including Root (also coin3d, soxt, sowin, gsl, clhep,
> and geant4
> -- the source totals 480 MB). The only Root classes used directly are:
> TFile,
> TDirectory, and TNTuple.
>
> I expect the build system to work on the following OSs:
> * Max OS X (Intel) 10.4, 10.5, 10.6 (Tiger, Leopard, Snow Leopard)
> * Linux RedHat 7.3 (very old, this is for my binary distribution)
> * Scientific Linux Fermi 3.0.9, 4.5, 5.3
> * Windows Xp, Windows Vista, (Windows 7 eventually)
> * Linux on a supercomputer (no X-windows, visualization, or shared
> objects)
>
> All but the last two are working. BOTH of them very painful, and *ALL*
> of my
> problems are related to Root. It is all the more frustrating as in the
> past I
> have built root on Windows, but can't get it to work now (even when I
> follow
> the exact same procedure in my notes).
>
> In parallel I am considering abandoning Root, replacing it with HDF
> (this will
> require code to read HDF files in Root, as we will still analyze
> results using
> Root). HDF is much smaller than Root, supports everything the program
> needs,
> and doesn't bring all the baggage that is inherent in Root (graphics,
> a C++
> interpreter, ...).
>
>
> Tom Roberts
>
Received on Wed Dec 23 2009 - 20:19:03 CET

This archive was generated by hypermail 2.2.0 : Wed Dec 23 2009 - 23:50:02 CET