Problem installing ROOT 5.34 on Windows 7

I am trying to install ROOT 5.34.19 on Windows 7 64-bit, using cygwin. “./configure win64gcc” runs fine, make proceeds part of the way but then runs into errors. First, it will not build libReflexDict.dll. When I run with the option “./configure win64gcc --disable-reflex”, the first problem comes at libRIO.dll (see below). What am I doing wrong?

$ make
/cygdrive/c/root/root/build/unix/wingcc_ld.sh -shared -Wl,–export-all-symbols -Wl,–enable-auto-image-base -Wl,-soname=libRIO.dll -O2 -Wl,–enable-auto -import -Wl,–enable-runtime-pseudo-reloc -L/usr/lib/X11 -o lib/libRIO.dll io/io/src/TStreamerInfoReadBuffer.o io/io/src/TMemFile.o io/io/src/TFile.o io /io/src/TFileCacheWrite.o io/io/src/TBufferFile.o io/io/src/TGenCollectionStreamer.o io/io/src/TFileMerger.o io/io/src/TEmulatedMapProxy.o io/io/src/TSt reamerInfoActions.o io/io/src/TFPBlock.o io/io/src/TLockFile.o io/io/src/TZIPFile.o io/io/src/TStreamerInfoWriteBuffer.o io/io/src/TFilePrefetch.o io/io /src/TGenCollectionProxy.o io/io/src/TKeyMapFile.o io/io/src/TStreamerInfo.o io/io/src/TKey.o io/io/src/TContainerConverters.o io/io/src/TCollectionProx yFactory.o io/io/src/TFree.o io/io/src/TMakeProject.o io/io/src/TDirectoryFile.o io/io/src/TMapFile.o io/io/src/TArchiveFile.o io/io/src/TEmulatedCollec tionProxy.o io/io/src/TFileCacheRead.o io/io/src/G__IO.o -Llib -lCore -lCint
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0xe): undefined reference to TSemaphore::Post()' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0xe): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTSemaphore::Post()'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x17): undefined reference to TCondition::GetMutex() const' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x17): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTCondition::GetMutex() co nst’
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x58): undefined reference to TSemaphore::Wait(int)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x58): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTSemaphore::Wait(int)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x67): undefined reference to TThread::Join(void**)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x67): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTThread::Join(void**)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x23e): undefined reference to TCondition::Wait()' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x23e): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTCondition::Wait()'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x2b7): undefined reference to TCondition::GetMutex() const' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x2b7): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTCondition::GetMutex() c onst’
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x3a3): undefined reference to TCondition::GetMutex() const' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x3a3): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTCondition::GetMutex() c onst’
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x573): undefined reference to TSemaphore::Wait(int)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x573): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTSemaphore::Wait(int)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x61a): undefined reference to TThread::TThread(void* (*)(void*), void*, TThread::EPriority)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x61a): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTThread::TThread(void* ( )(void), void*, TThread::EPriority)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x628): undefined reference to TThread::Run(void*)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x628): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTThread::Run(void*)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x873): undefined reference to TMutex::TMutex(bool)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x873): additional relocation overflows omitted from the output io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x88e): undefined reference toTMutex::TMutex(bool)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x8a9): undefined reference to TCondition::TCondition(TMutex*)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x8c4): undefined reference toTCondition::TCondition(TMutex*)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x8df): undefined reference to TSemaphore::TSemaphore(unsigned int)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x8fa): undefined reference toTSemaphore::TSemaphore(unsigned int)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x915): undefined reference to TSemaphore::TSemaphore(unsigned int)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x17ec): undefined reference toTSemaphore::Post()'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x17f5): undefined reference to TCondition::Wait()' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x17ff): undefined reference toTSemaphore::Wait(int)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x1808): undefined reference to TSemaphore::TryWait()' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x1815): undefined reference toTSemaphore::Post()'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x5e3): undefined reference to `TSemaphore::Post()'
collect2: error: ld returned 1 exit status
/cygdrive/c/root/root/io/io/Module.mk:45: recipe for target ‘lib/libRIO.dll’ failed
make: *** [lib/libRIO.dll] Error 1

Hi,

Cygwin is not officially supported anymore, but I’ll try on a Cygwin 32bits and I’ll let you know. BTW, which version of gcc do you have?

Cheers, Bertrand.

I have gcc 4.8.3-2. Thanks for checking on this for me!

You’re welcome. I’ll check tomorrow (I cannot access the Cygwin virtual machine until then).

Cheers, Bertrand.

Hi,

I have no problem compiling ROOT v5-34-00-patches and v5.34.19 on Cygwin (32bits) with gcc 4.8.2…
And BTW, why using Cygwin, and not the native Windows version of ROOT?

Cheers, Bertrand.

[quote=“mgatu”]I am trying to install ROOT 5.34.19 on Windows 7 64-bit, using cygwin. “./configure win64gcc” runs fine, make proceeds part of the way but then runs into errors. First, it will not build libReflexDict.dll. When I run with the option “./configure win64gcc --disable-reflex”, the first problem comes at libRIO.dll (see below). What am I doing wrong?

$ make
/cygdrive/c/root/root/build/unix/wingcc_ld.sh -shared -Wl,–export-all-symbols -Wl,–enable-auto-image-base -Wl,-soname=libRIO.dll -O2 -Wl,–enable-auto -import -Wl,–enable-runtime-pseudo-reloc -L/usr/lib/X11 -o lib/libRIO.dll io/io/src/TStreamerInfoReadBuffer.o io/io/src/TMemFile.o io/io/src/TFile.o io /io/src/TFileCacheWrite.o io/io/src/TBufferFile.o io/io/src/TGenCollectionStreamer.o io/io/src/TFileMerger.o io/io/src/TEmulatedMapProxy.o io/io/src/TSt reamerInfoActions.o io/io/src/TFPBlock.o io/io/src/TLockFile.o io/io/src/TZIPFile.o io/io/src/TStreamerInfoWriteBuffer.o io/io/src/TFilePrefetch.o io/io /src/TGenCollectionProxy.o io/io/src/TKeyMapFile.o io/io/src/TStreamerInfo.o io/io/src/TKey.o io/io/src/TContainerConverters.o io/io/src/TCollectionProx yFactory.o io/io/src/TFree.o io/io/src/TMakeProject.o io/io/src/TDirectoryFile.o io/io/src/TMapFile.o io/io/src/TArchiveFile.o io/io/src/TEmulatedCollec tionProxy.o io/io/src/TFileCacheRead.o io/io/src/G__IO.o -Llib -lCore -lCint
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0xe): undefined reference to TSemaphore::Post()' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0xe): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTSemaphore::Post()'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x17): undefined reference to TCondition::GetMutex() const' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x17): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTCondition::GetMutex() co nst’
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x58): undefined reference to TSemaphore::Wait(int)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x58): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTSemaphore::Wait(int)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x67): undefined reference to TThread::Join(void**)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x67): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTThread::Join(void**)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x23e): undefined reference to TCondition::Wait()' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x23e): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTCondition::Wait()'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x2b7): undefined reference to TCondition::GetMutex() const' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x2b7): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTCondition::GetMutex() c onst’
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x3a3): undefined reference to TCondition::GetMutex() const' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x3a3): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTCondition::GetMutex() c onst’
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x573): undefined reference to TSemaphore::Wait(int)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x573): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTSemaphore::Wait(int)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x61a): undefined reference to TThread::TThread(void* (*)(void*), void*, TThread::EPriority)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x61a): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTThread::TThread(void* ( )(void), void*, TThread::EPriority)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x628): undefined reference to TThread::Run(void*)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x628): relocation truncated to fit: R_X86_64_PC32 against undefined symbolTThread::Run(void*)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x873): undefined reference to TMutex::TMutex(bool)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x873): additional relocation overflows omitted from the output io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x88e): undefined reference toTMutex::TMutex(bool)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x8a9): undefined reference to TCondition::TCondition(TMutex*)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x8c4): undefined reference toTCondition::TCondition(TMutex*)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x8df): undefined reference to TSemaphore::TSemaphore(unsigned int)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x8fa): undefined reference toTSemaphore::TSemaphore(unsigned int)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x915): undefined reference to TSemaphore::TSemaphore(unsigned int)' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x17ec): undefined reference toTSemaphore::Post()'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x17f5): undefined reference to TCondition::Wait()' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x17ff): undefined reference toTSemaphore::Wait(int)'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x1808): undefined reference to TSemaphore::TryWait()' io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x1815): undefined reference toTSemaphore::Post()'
io/io/src/TFilePrefetch.o:TFilePrefetch.cxx:(.text+0x5e3): undefined reference to `TSemaphore::Post()'
collect2: error: ld returned 1 exit status
/cygdrive/c/root/root/io/io/Module.mk:45: recipe for target ‘lib/libRIO.dll’ failed
make: *** [lib/libRIO.dll] Error 1[/quote]

Hi dear mgatu

I’m trying to compile ROOT and I face exactly the same error. Have you found any way to overcome this?

Thanks a million

Hi,

If I remember correctly the 64bit never worked correctly on cygwin. Is using the 32 bit build an option for you?

Philippe.

Hi,

FYI, Cygwin is not supported. May I advise to use a Windows native version of ROOT? You can choose between using a prebuilt version or building from source with CMake.

Cheers, Bertrand.