Root Installation Problem in OpenSUSE 12.3

I was trying to install in OpenSuse 12.3.

In the bash shell, I configured as

Aditya:~/TMP/root # ./configure --prefix=/opt/ROOT --enable-explicitlink --enable-soversion --enable-gdml --enable-opengl --enable-roofit --enable-rpath

Then I used “make -j2” and after a long waiting I found error which is like

g++  -pipe -m64 -Wshadow -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG   -pthread -I/root/TMP/root/math/genetic/inc/Math -I. -I/root/TMP/root/cint/cint/inc  -o math/genetic/src/G__Genetic.o -c math/genetic/src/G__Genetic.cxx
g++ -shared -Wl,-soname,libCore.so.5.34 -m64 -O2 -Wl,-rpath,/opt/ROOT/lib/root -Wl,--no-undefined -Wl,--as-needed -o lib/libCore.so.5.34 core/base/src/TControlBarImp.o core/base/src/TTimer.o core/base/src/ManualBase4.o core/base/src/TBrowserImp.o core/base/src/InitGui.o core/base/src/TApplication.o core/base/src/TSysEvtHandler.o core/base/src/TAttFill.o core/base/src/TQCommand.o core/base/src/TRegexp.o core/base/src/TString.o core/base/src/TParameter.o core/base/src/TVirtualMonitoring.o core/base/src/TApplicationImp.o core/base/src/TRef.o core/base/src/TAttAxis.o core/base/src/TTime.o core/base/src/TMacro.o core/base/src/TBenchmark.o core/base/src/TStopwatch.o core/base/src/TColor.o core/base/src/TFolder.o core/base/src/TSystemFile.o core/base/src/TAttLine.o core/base/src/TAttBBox.o core/base/src/TObject.o core/base/src/TAtt3D.o core/base/src/TRemoteObject.o core/base/src/TStorage.o core/base/src/TVirtualPadEditor.o core/base/src/TContextMenuImp.o core/base/src/TVirtualPad.o core/base/src/Stringio.o core/base/src/TQConnection.o core/base/src/TRefCnt.o core/base/src/TVirtualPadPainter.o core/base/src/TROOT.o core/base/src/TPluginManager.o core/base/src/TObjString.o core/base/src/TProcessUUID.o core/base/src/Match.o core/base/src/TAttText.o core/base/src/TFileCollection.o core/base/src/TMathBase.o core/base/src/TProcessID.o core/base/src/TBuffer3D.o core/base/src/TUUID.o core/base/src/TVirtualGL.o core/base/src/TPRegexp.o core/base/src/TMessageHandler.o core/base/src/TContextMenu.o core/base/src/TExec.o core/base/src/String.o core/base/src/TVirtualPerfStats.o core/base/src/TBuffer.o core/base/src/TMD5.o core/base/src/TInetAddress.o core/base/src/TGuiFactory.o core/base/src/TSystemDirectory.o core/base/src/TVirtualMutex.o core/base/src/TAttPad.o core/base/src/TStyle.o core/base/src/TVirtualPS.o core/base/src/TError.o core/base/src/TStringLong.o core/base/src/TMemberInspector.o core/base/src/TColorGradient.o core/base/src/TVirtualX.o core/base/src/TTask.o core/base/src/TUri.o core/base/src/TVirtualFFT.o core/base/src/TTimeStamp.o core/base/src/TNamed.o core/base/src/TUrl.o core/base/src/TAttMarker.o core/base/src/TCanvasImp.o core/base/src/TDirectory.o core/base/src/TException.o core/base/src/TBrowser.o core/base/src/TEnv.o core/base/src/TVirtualViewer3D.o core/base/src/TFileInfo.o core/base/src/TQObject.o core/base/src/TBase64.o core/base/src/TObjectSpy.o core/base/src/TSystem.o core/base/src/TDatime.o core/base/src/TInspectorImp.o core/cont/src/THashList.o core/cont/src/TList.o core/cont/src/TArrayS.o core/cont/src/TBits.o core/cont/src/TExMap.o core/cont/src/TCollection.o core/cont/src/TArray.o core/cont/src/TClassTable.o core/cont/src/TArrayC.o core/cont/src/TArrayD.o core/cont/src/TRefTable.o core/cont/src/TArrayI.o core/cont/src/TIterator.o core/cont/src/TRefArray.o core/cont/src/TArrayL.o core/cont/src/THashTable.o core/cont/src/TOrdCollection.o core/cont/src/TObjArray.o core/cont/src/TMap.o core/cont/src/TArrayL64.o core/cont/src/TObjectTable.o core/cont/src/TSeqCollection.o core/cont/src/TSortedList.o core/cont/src/TBtree.o core/cont/src/TClonesArray.o core/cont/src/TArrayF.o core/meta/src/TGenericClassInfo.o core/meta/src/TClassMenuItem.o core/meta/src/TMethodCall.o core/meta/src/TCint.o core/meta/src/TClassGenerator.o core/meta/src/TFunction.o core/meta/src/TDataMember.o core/meta/src/TClassRef.o core/meta/src/TClass.o core/meta/src/TMethod.o core/meta/src/TBaseClass.o core/meta/src/TSchemaRule.o core/meta/src/TVirtualStreamerInfo.o core/meta/src/TInterpreter.o core/meta/src/TDataType.o core/meta/src/TGlobal.o core/meta/src/TToggle.o core/meta/src/TToggleGroup.o core/meta/src/TIsAProxy.o core/meta/src/TSchemaRuleSet.o core/meta/src/TMethodArg.o core/meta/src/TStreamerElement.o core/meta/src/TRealData.o core/meta/src/TDictionary.o core/unix/src/TUnixSystem.o core/zip/src/ZDeflate.o core/zip/src/ZInflate.o core/zip/src/Compression.o core/lzma/src/ZipLZMA.o core/clib/src/keys.o core/clib/src/mcalloc.o core/clib/src/mvalloc.o core/clib/src/mmapsup.o core/clib/src/mmcheck.o core/clib/src/snprintf.o core/clib/src/sbrksup.o core/clib/src/mmemalign.o core/clib/src/mmtrace.o core/clib/src/strlcat.o core/clib/src/Demangle.o core/clib/src/mmalloc.o core/clib/src/getpagesize.o core/clib/src/strlcpy.o core/clib/src/detach.o core/clib/src/mfree.o core/clib/src/attach.o core/clib/src/mrealloc.o core/clib/src/mmstats.o core/metautils/src/RConversionRuleParser.o core/metautils/src/TClassEdit.o core/textinput/src/Getline.o core/textinput/src/Getline_color.o core/textinput/src/textinput/TerminalDisplay.o core/textinput/src/textinput/TextInput.o core/textinput/src/textinput/History.o core/textinput/src/textinput/TerminalDisplayUnix.o core/textinput/src/textinput/TerminalConfigUnix.o core/textinput/src/textinput/StreamReaderUnix.o core/textinput/src/textinput/StreamReader.o core/textinput/src/textinput/TextInputContext.o core/textinput/src/textinput/KeyBinding.o core/textinput/src/textinput/Editor.o core/textinput/src/textinput/StreamReaderWin.o core/textinput/src/textinput/Range.o core/textinput/src/textinput/SignalHandler.o core/textinput/src/textinput/TerminalDisplayWin.o core/base/src/G__Base1.o core/base/src/G__Base2.o core/base/src/G__Base3.o core/cont/src/G__Cont.o core/meta/src/G__Meta.o core/unix/src/G__Unix.o core/zip/src/G__Zip.o core/clib/src/G__Clib.o core/metautils/src/G__MetaUtils.o core/textinput/src/G__TextInput.o -lz -llzma -L/usr/lib64 -lpcre -lcrypt -Llib -lCint -ldl
core/meta/src/TCint.o: In function `TCint::ResetGlobalVar(void*)':
TCint.cxx:(.text+0x1960): undefined reference to `G__resetglobalvar'
core/meta/src/TCint.o: In function `TCint::UpdateListOfGlobals()':
TCint.cxx:(.text+0x2b4f): undefined reference to `Cint::G__DataMemberInfo::SerialNumber()'
TCint.cxx:(.text+0x2b5d): undefined reference to `Cint::G__DataMemberInfo::SerialNumber()'
core/meta/src/TCint.o: In function `TCint::TCint(char const*, char const*)':
TCint.cxx:(.text+0x9a18): undefined reference to `Cint::G__InitGenerateDictionary(int (*)(std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&))'
core/meta/src/TCint.o: In function `TCint::SetGetline(char const* (*)(char const*), void (*)(char const*))':
TCint.cxx:(.text+0x1c47): undefined reference to `Cint::G__SetGetlineFunc(char const* (*)(char const*), void (*)(char const*))'
collect2: error: ld returned 1 exit status
make: *** [lib/libCore.so] Error 1
Aditya:~/TMP/root #

Is there any handle to solve the issue?

Thanks

Can you make sure that … before you try to configure and build a new ROOT …

  1. you do not have any standard OpenSuse’s ROOT version installed (i.e. “completely remove” any existing ROOT related packages, if they provide any at all, of course),
  2. nothing in your environment variables points to another version of ROOT (and because you use “–prefix”, you must make sure that ROOTSYS is NOT defined).

BTW. Consider “–prefix=/opt/ROOT --etcdir=/opt/ROOT/etc/root”.

[quote=“Wile E. Coyote”]Can you make sure that … before you try to configure and build a new ROOT …

  1. you do not have any standard OpenSuse’s ROOT version installed (i.e. “completely remove” any existing ROOT related packages, if they provide any at all, of course),
  2. nothing in your environment variables points to another version of ROOT (and because you use “–prefix”, you must make sure that ROOTSYS is NOT defined).

BTW. Consider “–prefix=/opt/ROOT --etcdir=/opt/ROOT/etc/root”.[/quote]

There was no previous version of ROOT.

ROOTSYS was not defined as I used prefix.

Tried with --etcdir…
However, I got the same result.

Maybe you could try to remove “–enable-soversion” (I remember there were problems with it and maybe something is back).

I am sorry, in spite of this omission, I am getting the same error. The error indicates

core/meta/src/TCint.o: In function `TCint::ResetGlobalVar(void*)': TCint.cxx:(.text+0x1960): undefined reference to `G__resetglobalvar' core/meta/src/TCint.o: In function `TCint::UpdateListOfGlobals()': TCint.cxx:(.text+0x2b4f): undefined reference to `Cint::G__DataMemberInfo::SerialNumber()' TCint.cxx:(.text+0x2b5d): undefined reference to `Cint::G__DataMemberInfo::SerialNumber()' core/meta/src/TCint.o: In function `TCint::TCint(char const*, char const*)': TCint.cxx:(.text+0x9a18): undefined reference to `Cint::G__InitGenerateDictionary(int (*)(std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&))' core/meta/src/TCint.o: In function `TCint::SetGetline(char const* (*)(char const*), void (*)(char const*))': TCint.cxx:(.text+0x1c47): undefined reference to `Cint::G__SetGetlineFunc(char const* (*)(char const*), void (*)(char const*))' collect2: error: ld returned 1 exit status make: *** [lib/libCore.so] Error 1 .

Some function reference is not available. Do I need to use any other option or path?

Maybe you could try this: [code]# note: make sure the destination directory is empty
rm -rf /opt/ROOT
cd ~/TMP/root

note: before configuring it again, make sure the build directory is “clean”

make distclean
unset ROOTSYS
./configure --prefix=/opt/ROOT --etcdir=/opt/ROOT/etc/root --enable-explicitlink --enable-soversion --all > configure.out.txt 2>&1

note: use only 1 cpu to build it …

make > make.out.txt 2>&1[/code] and if it fails, post the “configure.out.txt” and “make.out.txt” here (I assume Philippe will need to have a look at them).

BTW. I assume you use the current ROOT 5.34 version (i.e. v5-34-07 or the head of v5-34-00-patches branch).

[quote=“Wile E. Coyote”]Maybe you could try this: [code]# note: make sure the destination directory is empty
rm -rf /opt/ROOT
cd ~/TMP/root

note: before configuring it again, make sure the build directory is “clean”

make distclean
unset ROOTSYS
./configure --prefix=/opt/ROOT --etcdir=/opt/ROOT/etc/root --enable-explicitlink --enable-soversion --all > configure.out.txt 2>&1

note: use only 1 cpu to build it …

make > make.out.txt 2>&1[/code] and if it fails, post the “configure.out.txt” and “make.out.txt” here (I assume Philippe will need to have a look at them).

BTW. I assume you use the current ROOT 5.34 version (i.e. v5-34-07 or the head of v5-34-00-patches branch).[/quote]

  1. ROOT v5-34-07.
  2. Religiously followed “rm”, “distclean” and “unset”.
  3. STILL FAILED WITH SAME ERROR of CINT.

Is it that I need to install older cint? My “cint” version is 5.18.00.
make.out.txt (345 KB)
configure.out.txt (7.43 KB)

For the moment, I don’t know why it fails (everything seems to be o.k. in the “*.out.txt” files).

The CINT version is o.k. (that’s the last one that exists at all).

The error you get is from building ROOT’s library “libCore” which uses the previously built CINT library “libCint”.

The only thing I still suspect is that it might get the “libCint” from somewhere else than expected.
Maybe you could try: ls -al /lib/libCint* /lib64/libCint* /usr/lib/libCint* /usr/lib64/libCint* cd ~/TMP/root find . -name "libCint.*" -print

[quote=“Wile E. Coyote”]For the moment, I don’t know why it fails (everything seems to be o.k. in the “*.out.txt” files).

The CINT version is o.k. (that’s the last one that exists at all).

The error you get is from building ROOT’s library “libCore” which uses the previously built CINT library “libCint”.

The only thing I still suspect is that it might get the “libCint” from somewhere else than expected.
Maybe you could try: ls -al /lib/libCint* /lib64/libCint* /usr/lib/libCint* /usr/lib64/libCint* cd ~/TMP/root find . -name "libCint.*" -print[/quote]

Aditya:~/TMP/root # ls -al /lib/libCint* /lib64/libCint* /usr/lib/libCint* /usr/lib64/libCint*
ls: cannot access /lib/libCint*: No such file or directory
ls: cannot access /lib64/libCint*: No such file or directory
ls: cannot access /usr/lib/libCint*: No such file or directory
-rwxr-xr-x 1 root root 2431352 Jan 27 05:08 /usr/lib64/libCint.so
Aditya:~/TMP/root #
Aditya:~/TMP/root # find . -name "libCint.*" -print
./cint/build/libCint.mk
Aditya:~/TMP/root # 

/usr/lib64/libCint.so … didn’t I tell you to REMOVE all standard OpenSuse’s ROOT related packages?

And I don’t understand why “find” didn’t return (unless you ran it on a “fresh” source code, before executing “make”):
[…]$ find . -name “libCint.*” -print
./lib/libCint.so
./lib/libCint.so.5.34
./lib/libCint.so.5
./cint/build/libCint.mk

[quote=“Wile E. Coyote”]/usr/lib64/libCint.so … didn’t I tell you to REMOVE all standard OpenSuse’s ROOT related packages?

And I don’t understand why “find” didn’t return (unless you ran it on a “fresh” source code, before executing “make”):
[…]$ find . -name “libCint.*” -print
./lib/libCint.so
./lib/libCint.so.5.34
./lib/libCint.so.5
./cint/build/libCint.mk[/quote]

[size=150]
Dear Brother

HATS OFF TO YOU.

I uninstalled CINT from OPENSUSE using “zypper rm”. Then I restarted again from “make distclean”. I configured as you said and then make was successful. It reports “ROOT BUILD SUCCESSFUL”.
I am grateful to you for your continued support. THANK YOU VERY MUCH…
Regards
ABHIJIT
[/size]