[unsolved] fresh cygwin and root 5.32 broken build

Hello all and my apologies ahead of time for presenting this bothersome issue!

I have recently installed a fresh version of cygwin (full install) from the mirror: mirrors.xmission.com (which is supported on the cygwin site as up to date). This cygwin was installed on windows 7 - 64bit.

After the cygwin installation I downloaded the recent root source, 5.32. I extracted that source and proceeded to build (as I’ve done many times in Linux variants).

So my build order was:
cd ~/root
./configure win32gcc
make

Root build chugs along for awhile until breaking at what appears to be some linkage error shown below.

build/unix/wingcc_ld.sh -shared -Wl,--export-all-symbols -Wl,--enable-auto-image-base -Wl,-soname=libNet.dll -O2 -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc -L/usr/X11R6/lib -o lib/libNet.dll net/net/src/TServerSocket.o net/net/src/TSQLResult.o net/net/src/TMonitor.o net/net/src/TMessage.o net/net/src/TSecContext.o net/net/src/TFTP.o net/net/src/TGrid.o net/net/src/TApplicationServer.o net/net/src/TSQLServer.o net/net/src/TSQLTableInfo.o net/net/src/TFileStager.o net/net/src/NetErrors.o net/net/src/THTTPMessage.o net/net/src/TGridJobStatusList.o net/net/src/TGridJobStatus.o net/net/src/TGridJDL.o net/net/src/TParallelMergingFile.o net/net/src/TSQLStatement.o net/net/src/TSSLSocket.o net/net/src/TApplicationRemote.o net/net/src/TNetFileStager.o net/net/src/TGridJob.o net/net/src/TSocket.o net/net/src/TNetFile.o net/net/src/TSQLColumnInfo.o net/net/src/TWebFile.o net/net/src/TSQLRow.o net/net/src/TGSFile.o net/net/src/TPSocket.o net/net/src/TGridResult.o net/net/src/TUDPSocket.o net/net/src/TPServerSocket.o net/net/src/TAS3File.o net/net/src/TSQLMonitoring.o net/net/src/G__Net.o -Llib -lRIO -lMathCore /usr/lib/libcrypto.a -lssl.dll /usr/lib/libcrypto.a -Llib -lCore -lCint
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x6d): undefined reference to `_inflateEnd'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x89): undefined reference to `_deflateEnd'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x39a): undefined reference to `_deflate'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x488): undefined reference to `_zError'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x56b): undefined reference to `_inflate'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x5c8): undefined reference to `_zError'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x66b): undefined reference to `_inflateInit_'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x756): undefined reference to `_deflate'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x7d8): undefined reference to `_zError'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x84a): undefined reference to `_deflateInit_'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x933): undefined reference to `_inflate'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x9cf): undefined reference to `_deflate'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0xa04): undefined reference to `_inflateEnd'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0xa0f): undefined reference to `_deflateEnd'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0xab4): undefined reference to `_inflateInit_'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0xb20): undefined reference to `_deflateInit_'
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: /usr/lib/libcrypto.a(c_zlib.o): bad reloc address 0x4 in section `.data'
collect2: ld returned 1 exit status
/home/239886/root/net/net/Module.mk:66: recipe for target `lib/libNet.dll' failed
make: *** [lib/libNet.dll] Error 1

Any ideas why cygwin is having this issue? It looks like this libNet library is not being linked into the build.

Thanks,
John Perry
ISR-1, LANL, USA

Hi John,

This has been recently fixed in the trunk (see this revision). So you should take (check-out) the svn trunk or patch $ROOTSYS/net/rpdutils/Module.mk yourself.

Cheers, Bertrand.

Thank you for the quick response, I just overwrote the file with the link that you gave me and I am now in the process of doing a clean configure win32gcc and make. When root successfully builds with cygwin in the next few hours I will then change the subject as solved.

Cheers,
John

Unfortunately the error still persists. I’m curious if there is another library that needs linked in other than -lz ? Any advice?

Hi John,

Well, this solved the problem for me, and ROOT was building just fine on win32gcc…
Does it fail the same than before? (same errors)
And which version exacly? (e.g. 5.32.00, 5.32.01; 5.32.02?)
I’ll cross-check tomorrow and let you know.

Cheers, Bertrand.

That’s correct (in that it is the same failure). I’ll check the version and post when I can access the computer that I’m doing this build with. The build that I did most recently involved doing a fresh svn clone of the trunk. I checked to make sure that the -lz linkage was in the makefile recipe. Should I try building an earlier version of root (say 5.26 or 5.28) to see if the problem vanishes?

I am somewhat suspicious of cygwin as well. It is extremely slow when configuring and building software (as in more than an order of magnitude slower than *nix systems). I’ll provide more info as soon as I can.

Again, I installed cygwin from what I believe was a current mirror as shown on their site and selected all options to be downloaded. Additionally, I’ve built root many times from source on several *nix systems and haven’t come across an issue like this too often (other than one flavor of Ubuntu a while back).

As a quick note, the binary is working when i download and source it. I would still love to figure out this issue though as building from source is more enjoyable (imo).

Cheers,
John

Hi John,

[quote=“nebulism”]Should I try building an earlier version of root (say 5.26 or 5.28) to see if the problem vanishes?[/quote]No, I think you should try with the trunk (but I’ll have to try and confirm it works first)

[quote=“nebulism”]I am somewhat suspicious of cygwin as well. It is extremely slow when configuring and building software (as in more than an order of magnitude slower than *nix systems).[/quote]It is very well known. This is one of the reasons why we advise to take the native win32 build, and why we don’t offer win32gcc binaries anymore…

[quote=“nebulism”]As a quick note, the binary is working when i download and source it. I would still love to figure out this issue though as building from source is more enjoyable (imo).[/quote]Well, at least you have a fallback solution :wink:

Cheers, Bertrand

So bellenot, on a hunch I just went to build that module independently (i.e. I copied the whole make structure that failed). When I would run it, it would fail as expected. I then just read through the whole mess and I noticed the culprit! The -lz linkage was not passed through!

Note that I manually added the -lz before compiling

build/unix/wingcc_ld.sh -shared -Wl,--export-all-symbols -Wl,--enable-auto-image-base -Wl,-soname=libNet.dll -O2 -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc -L/usr/X11R6/lib -o lib/libNet.dll net/net/src/TServerSocket.o net/net/src/TSQLResult.o net/net/src/TMonitor.o net/net/src/TMessage.o net/net/src/TSecContext.o net/net/src/TFTP.o net/net/src/TGrid.o net/net/src/TApplicationServer.o net/net/src/TSQLServer.o net/net/src/TSQLTableInfo.o net/net/src/TFileStager.o net/net/src/NetErrors.o net/net/src/THTTPMessage.o net/net/src/TGridJobStatusList.o net/net/src/TGridJobStatus.o net/net/src/TGridJDL.o net/net/src/TParallelMergingFile.o net/net/src/TSQLStatement.o net/net/src/TSSLSocket.o net/net/src/TApplicationRemote.o net/net/src/TNetFileStager.o net/net/src/TGridJob.o net/net/src/TSocket.o net/net/src/TNetFile.o net/net/src/TSQLColumnInfo.o net/net/src/TWebFile.o net/net/src/TSQLRow.o net/net/src/TGSFile.o net/net/src/TPSocket.o net/net/src/TGridResult.o net/net/src/TUDPSocket.o net/net/src/TPServerSocket.o net/net/src/TAS3File.o net/net/src/TSQLMonitoring.o net/net/src/G__Net.o -Llib -lRIO -lMathCore /usr/lib/libcrypto.a -lssl.dll /usr/lib/libcrypto.a -Llib -lCore -lCint
-lz

So by using this prescription noting the manually add -lz at the end. It continues to build for awhile. I now arrive at the next breakage point that seems a bit more cryptic. From a little searching I fear I may not be alone on this particular error.

Generating dictionary graf3d/g3d/src/G__G3D.cxx...
core/utils/src/rootcint_tmp.exe -cint -f graf3d/g3d/src/G__G3D.cxx -c /home/239886/root/graf3d/g3d/inc/TTUBS.h /home/239886/root/graf3d/g3d/inc/TPARA.h /home/239886/root/graf3d/g3d/inc/TNodeDiv.h /home/239886/root/graf3d/g3d/inc/TGeometry.h /home/239886/root/graf3d/g3d/inc/TCTUB.h /home/239886/root/graf3d/g3d/inc/TPolyMarker3D.h /home/239886/root/graf3d/g3d/inc/TTUBE.h /home/239886/root/graf3d/g3d/inc/TMaterial.h /home/239886/root/graf3d/g3d/inc/TNode.h /home/239886/root/graf3d/g3d/inc/TAxis3D.h /home/239886/root/graf3d/g3d/inc/TRotMatrix.h /home/239886/root/graf3d/g3d/inc/TELTU.h /home/239886/root/graf3d/g3d/inc/TTRD1.h /home/239886/root/graf3d/g3d/inc/TXTRU.h /home/239886/root/graf3d/g3d/inc/TShape.h /home/239886/root/graf3d/g3d/inc/TPCON.h /home/239886/root/graf3d/g3d/inc/TBRIK.h /home/239886/root/graf3d/g3d/inc/THYPE.h /home/239886/root/graf3d/g3d/inc/TPointSet3D.h /home/239886/root/graf3d/g3d/inc/TCONE.h /home/239886/root/graf3d/g3d/inc/TMarker3DBox.h /home/239886/root/graf3d/g3d/inc/TGTRA.h /home/239886/root/graf3d/g3d/inc/TPoints3DABC.h /home/239886/root/graf3d/g3d/inc/TPolyLine3D.h /home/239886/root/graf3d/g3d/inc/TSPHE.h /home/239886/root/graf3d/g3d/inc/TPGON.h /home/239886/root/graf3d/g3d/inc/THelix.h /home/239886/root/graf3d/g3d/inc/TView3D.h /home/239886/root/graf3d/g3d/inc/TTRAP.h /home/239886/root/graf3d/g3d/inc/TCONS.h /home/239886/root/graf3d/g3d/inc/TMixture.h /home/239886/root/graf3d/g3d/inc/TTRD2.h /home/239886/root/graf3d/g3d/inc/LinkDef.h
/home/239886/root/graf3d/g3d/Module.mk:55: recipe for target `graf3d/g3d/src/G__G3D.cxx' failed
make: *** [graf3d/g3d/src/G__G3D.cxx] Floating point exception (core dumped)
make: *** Deleting file `graf3d/g3d/src/G__G3D.cxx'

Is this a rootcint or dictionary generation issue? If I come up with a solution I shall post it. In the meanwhile let me know if there are any ideas.

Cheers,
John

Hi John,

I have no problem building the trunk (as of today - 43728) on cygwin/gcc4.5.3…

Cheers, Bertrand.

Hmm, I still haven’t figured this floating point exception deal out yet, still working on it. Bertrand, when you compile your root, do you just do ./configure win32gcc && make (just trying to get on the same page)? Are you also using windows 7 64bit with a complete install of cygwin?

Cheers,
John

Hi John,

Here is my config.status:

win32gcc --enable-cintex --enable-gdml --enable-genvector --enable-mathmore --en able-memstat --enable-minuit2 --enable-mysql --enable-odbc --enable-python --ena ble-qt --enable-qtgsi --enable-reflex --enable-ruby --enable-roofit --enable-tab le --enable-tmva --enable-unuran --enable-builtin-zlib --with-fftw3-incdir=/usr/ include --with-fftw3-libdir=/usr/lib --with-gsl-incdir=/usr/include --with-gsl-l ibdir=/usr/lib --with-python-incdir=/usr/include/python2.6 --with-python-libdir= /usr/lib --with-pythia6-libdir=/home/bellenot/libs/pythia6 --with-qt-incdir=/usr /lib/qt4/include --with-qt-libdir=/usr/lib/qt4/lib
And it is on a Virtual Machine running Windows XP…

Cheers, Bertrand.

Hello,
I am trying to install ROOT v5.34.03 with Cygwin 1.7.17 for Windows7. I encountered the same compilation errors :

Generating dictionary graf3d/g3d/src/G__G3D.cxx...
core/utils/src/rootcint_tmp.exe -cint -f graf3d/g3d/src/G__G3D.cxx -c /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TTUBS.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TPARA.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TNodeDiv.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TGeometry.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TCTUB.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TPolyMarker3D.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TTUBE.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TMaterial.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TNode.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TAxis3D.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TRotMatrix.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TELTU.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TTRD1.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TXTRU.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TShape.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TPCON.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TBRIK.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/THYPE.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TPointSet3D.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TCONE.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TMarker3DBox.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TGTRA.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TPoints3DABC.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TPolyLine3D.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TSPHE.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TPGON.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/THelix.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TView3D.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TTRAP.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TCONS.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TMixture.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/TTRD2.h /cygdrive/c/PFiles/rootV5/root/graf3d/g3d/inc/LinkDef.h
build/unix/wingcc_ld.sh -shared -Wl,--export-all-symbols -Wl,--enable-auto-image-base -Wl,-soname=libNet.dll -O2 -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc -L/usr/X11R6/lib -o lib/libNet.dll net/net/src/TServerSocket.o net/net/src/TSQLResult.o net/net/src/TMonitor.o net/net/src/TMessage.o net/net/src/TSecContext.o net/net/src/TFTP.o net/net/src/TGrid.o net/net/src/TApplicationServer.o net/net/src/TSQLServer.o net/net/src/TSQLTableInfo.o net/net/src/TFileStager.o net/net/src/NetErrors.o net/net/src/THTTPMessage.o net/net/src/TGridJobStatusList.o net/net/src/TGridJobStatus.o net/net/src/TGridJDL.o net/net/src/TParallelMergingFile.o net/net/src/TSQLStatement.o net/net/src/TSSLSocket.o net/net/src/TApplicationRemote.o net/net/src/TNetFileStager.o net/net/src/TGridJob.o net/net/src/TSocket.o net/net/src/TNetFile.o net/net/src/TSQLColumnInfo.o net/net/src/TWebFile.o net/net/src/TSQLRow.o net/net/src/TGSFile.o net/net/src/TPSocket.o net/net/src/TGridResult.o net/net/src/TUDPSocket.o net/net/src/TPServerSocket.o net/net/src/TAS3File.o net/net/src/TSQLMonitoring.o net/net/src/G__Net.o -Llib -lRIO -lMathCore /usr/lib/libcrypto.a -lssl.dll /usr/lib/libcrypto.a -Llib -lCore -lCint
build/unix/wingcc_ld.sh -shared -Wl,--export-all-symbols -Wl,--enable-auto-image-base -Wl,-soname=libGraf.dll -O2 -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc -L/usr/X11R6/lib -o lib/libGraf.dll graf2d/graf/src/TFrame.o graf2d/graf/src/TPavesText.o graf2d/graf/src/TPieSlice.o graf2d/graf/src/TCutG.o graf2d/graf/src/TGraphQQ.o graf2d/graf/src/TAttImage.o graf2d/graf/src/TImage.o graf2d/graf/src/TArc.o graf2d/graf/src/TPaveText.o graf2d/graf/src/TEllipse.o graf2d/graf/src/TLegend.o graf2d/graf/src/TTF.o graf2d/graf/src/TLine.o graf2d/graf/src/TBox.o graf2d/graf/src/TPoints.o graf2d/graf/src/TCurlyArc.o graf2d/graf/src/TCrown.o graf2d/graf/src/TPaveStats.o graf2d/graf/src/TPave.o graf2d/graf/src/TLatex.o graf2d/graf/src/TGraphPolar.o graf2d/graf/src/TText.o graf2d/graf/src/TDiamond.o graf2d/graf/src/TArrow.o graf2d/graf/src/TGraphPolargram.o graf2d/graf/src/TWbox.o graf2d/graf/src/TLink.o graf2d/graf/src/TGaxis.o graf2d/graf/src/TPaveLabel.o graf2d/graf/src/TPolyLine.o graf2d/graf/src/TLegendEntry.o graf2d/graf/src/TPie.o graf2d/graf/src/TMarker.o graf2d/graf/src/TCurlyLine.o graf2d/graf/src/G__Graf.o -lfreetype -lz -lbz2 -Llib -lHist -lMatrix -lRIO -lMathCore -Llib -lCore -lCint
/cygdrive/c/PFiles/rootV5/root/graf3d/g3d/Module.mk:55: recipe for target `graf3d/g3d/src/G__G3D.cxx' failed
make: *** [graf3d/g3d/src/G__G3D.cxx] Floating point exception (core dump créé)
make: *** Suppression du fichier « graf3d/g3d/src/G__G3D.cxx »
make: *** Attente des tâches non terminées....
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x6d): undefined reference to `_inflateEnd'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x89): undefined reference to `_deflateEnd'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x39a): undefined reference to `_deflate'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x488): undefined reference to `_zError'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x56b): undefined reference to `_inflate'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x5c8): undefined reference to `_zError'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x66b): undefined reference to `_inflateInit_'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x756): undefined reference to `_deflate'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x7d8): undefined reference to `_zError'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x84a): undefined reference to `_deflateInit_'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x933): undefined reference to `_inflate'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0x9cf): undefined reference to `_deflate'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0xa04): undefined reference to `_inflateEnd'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0xa0f): undefined reference to `_deflateEnd'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0xab4): undefined reference to `_inflateInit_'
/usr/lib/libcrypto.a(c_zlib.o):c_zlib.c:(.text+0xb20): undefined reference to `_deflateInit_'
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: /usr/lib/libcrypto.a(c_zlib.o): bad reloc address 0x4 in section `.data'
collect2: ld a retourné 1 code d'état d'exécution
/cygdrive/c/PFiles/rootV5/root/net/net/Module.mk:66: recipe for target `lib/libNet.dll' failed
make: *** [lib/libNet.dll] Error 1
==> lib/libGraf.dll done

I did a configuration (in Cygwin - complete installation - terminal ) with the following command line :

./configure win32gcc --disable-xrootd --enable-qt --enable-qtgsi --with-qt-incdir=/C/PFiles/Qt/4.8.4/include --with-qt-libdir=/C/PFiles/Qt/4.8.4/lib

and it worked well without error message.
As for the compilation I did :

make -j 3

I saw that nebulism published the same error probably linked to the Module.mk file construction or compatitbilty with my machine…
Did you succeed to solve this problem? If yes I am interested.
Regards,
Sam

Hi Sam,

I have no cygwin anymore (and it is not officially supported anymore…), but I could try to reinstall a VM with cygwin sometime next year to make some tests…
Do you really need to produce cygwin/gcc binaries?

Cheers, Bertrand.

I am trying to install ROOT in order to be able to use its libraries in Visual Studio projects and also Qt libraries. The first try I did was to build ROOT with ROOT Builder. Unfortunatly, the builder is not compatible with Visual Studio 2012. So that is why I am trying to build ROOT with Cygwin.
Sam

Sam,

Well, the binaries produced with cygwin/gcc [color=#FF0000]are not compatible[/color] with Visual Studio and cannot be used with it… You should try “./configure win32” instead of "./configure win32gcc"
And note that in order to be able to use ROOT and Qt on Windows, you will need a special version from BNL. See this web site (the “–enable-qt” flag will not work with the official source distribution)

Cheers, Bertrand.

Thanks for your fast reply.
I tried ./configure win32 but it gave me the following error :

Checking for source directory ... /cygdrive/c/PFiles/rootV5/root
Configuring for win32
Checking for GNU Make version >= 3.80 ... ok
Checking for C compiler ... no C compiler cl found
configure: C compiler MUST be installed
See http://root.cern.ch/drupal/content/build-prerequisites

Do I have to specify on compiler in the configure command line? If yes how?

As for Qt I will look at the link you gave.

Do you think I should try with CMake instead of this way? I saw that CMake 2.8.10 is now compatible for Visual Studio 2012.

To be able to use the Visual C++ compiler in cygwin, you have to set up the environment for MSVC++, for example, add “call C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat” or “call C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat” to C:\cygwin\cygwin.bat, before it calls bash.
And yes, CMake could be the best alternative. But avoid VS 2012, the latest supported version is VS 2010.

Cheers, Bertrand.

Thank you,
unfortunatly, adding those line in the cygwin.bat file does not fix the problem of finding the compiler. Every time I closed and reopened a cygwin terminal. I guess cygwin.bat is called every time a new terminal is opended.(no need to reboot the PC?..). Here is the cygwin.bat file to be sure of the syntaxe :

@echo off

C:
chdir C:\PFiles\cygwin\bin
call C:\"Program Files (x86)"\"Microsoft Visual Studio 11.0"\Common7\Tools\vsvars32.bat
#call C:\"Program Files (x86)"\"Microsoft Visual Studio 11.0"\VC\vcvarsall.bat
bash --login -i
#tcsh -l

N.B.: I put some quotes because of the spaces in windows files
or

@echo off

C:
chdir C:\PFiles\cygwin\bin
#call C:\"Program Files (x86)"\"Microsoft Visual Studio 11.0"\Common7\Tools\vsvars32.bat
call C:\"Program Files (x86)"\"Microsoft Visual Studio 11.0"\VC\vcvarsall.bat
bash --login -i
#tcsh -l

writting those lines in a DOS terminal gave me an error :

ERROR: Cannot determine the location of the VS Common Tools folder.

Any idea?
Sam

Here is the content of one of my cygwin.bat:

[code]@echo off

set HOME=C:\Users\bellenot
set CYGWIN=nodosfilewarning
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
C:
chdir C:\cygwin\bin
bash --login -i
[/code]And you should see the first line telling something like “Setting environment for using Microsoft Visual Studio 2011 x86 tools.” on top of the command prompt when starting cygwin.

Cheers, Bertrand.

I tried the CMake method to generate a ROOT porject. I did it but unfortunatly I had errors when trying to generate the solution…
I succeeded to run the configuration (so with the ./configure commande and by modifying the Cygwin.bat file as you suggested) but when I make with “make -j 3” I also the same related error.
Indeed with the 2 ways of compiling ROOT it failed because the file “sehmap.h” was not found. The error code is 1083.
I found that this file in two folders :

  • …\cygwin\usr\x86_64-w64-mingw32\sysroot\mingw\include and
  • …\cygwin\usr\i686_64-w64-mingw32\sysroot\mingw\include

Do I have to specify this path with a variable or in a script?
Did you already encountered this type of error?
Happy new year,
Sam