Unable to compile v5-32-04 on Ubuntu 10.04

Hello everyone, and thanks for the help in advance.

I have been using root for quite some time already, and now I need to re-install root to a newer version (but cannot use the last version, it must be v5-32-04).

My built-in specs are:

Target: i486-linux-gnu
Configured with: …/src/configure -v --with-pkgversion=‘Ubuntu 4.3.4-10ubuntu1’ --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.3.4 (Ubuntu 4.3.4-10ubuntu1)

After the “make” I get this nasty message:

core/meta/src/TCint.o: In function TCint::SetGetline(char const* (*)(char const*), void (*)(char const*))': TCint.cxx:(.text+0x2650): undefined reference toCint::G__SetGetlineFunc(char const* ()(char const), void ()(char const))‘
core/meta/src/TCint.o: In function TCint::GetSharedLibs()': TCint.cxx:(.text+0x2e4e): undefined reference toCint::G__SourceFileInfo::SerialNumber()‘
TCint.cxx:(.text+0x2e79): undefined reference to Cint::G__SourceFileInfo::SerialNumber()' core/meta/src/TCint.o: In functionTCint::ResetGlobalVar(void*)’:
TCint.cxx:(.text+0x3d10): undefined reference to G__resetglobalvar' core/meta/src/TCint.o: In functionTCint::UpdateListOfGlobals()’:
TCint.cxx:(.text+0x5264): undefined reference to Cint::G__DataMemberInfo::SerialNumber()' TCint.cxx:(.text+0x5271): undefined reference toCint::G__DataMemberInfo::SerialNumber()'
core/meta/src/TCint.o: In function TCint::TCint(char const*, char const*)': TCint.cxx:(.text+0x610a): undefined reference toCint::G__InitGenerateDictionary(int ()(std::basic_string<char, std::char_traits, std::allocator > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&))'
core/meta/src/TCint.o: In function TCint::TCint(char const*, char const*)': TCint.cxx:(.text+0x646a): undefined reference toCint::G__InitGenerateDictionary(int (
)(std::basic_string<char, std::char_traits, std::allocator > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&))'
collect2: ld returned 1 exit status
make: *** [lib/libCore.so] Error 1

I have tried to install from online package, from SVN, and I always end up with the same problem. Tried to de-activate the TCint.cxx from ./configure using “./configure --disable-cintex” but doesn’t seem to work eather.

If anyone can show me the right way I would be pleased!

Thanks!

Try to update all your Ubuntu software packages to the latest available versions.
I am able to compile ROOT v5-32-04 on an “Ubuntu 10.04.4 LTS / i686” (“2.6.32-44-generic-pae” kernel) with “gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)” and “(g)libc 2.11.1-0ubuntu7.11”.

BTW. The “TCint” class is the ROOT’s interface to “CINT” -> you will always need it. The “cintex” is a separate (usually unneeded) “Reflex interface library”.

First of all, thank you Wile E. I really appreciate any kind of help…

I upgraded gcc to 4.4.3 and still not working… same error. I tryed both 5_32 and 5_34. Now using:

gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
ldd (Ubuntu EGLIBC 2.11.1-0ubuntu7.11) 2.11.1

And still the same prompt:

core/meta/src/TCint.o: In function TCint::SetGetline(char const* (*)(char const*), void (*)(char const*))': TCint.cxx:(.text+0x2710): undefined reference toCint::G__SetGetlineFunc(char const* ()(char const), void ()(char const))‘
core/meta/src/TCint.o: In function TCint::GetSharedLibs()': TCint.cxx:(.text+0x2bde): undefined reference toCint::G__SourceFileInfo::SerialNumber()‘
TCint.cxx:(.text+0x2beb): undefined reference to Cint::G__SourceFileInfo::SerialNumber()' core/meta/src/TCint.o: In functionTCint::ResetGlobalVar(void*)’:
TCint.cxx:(.text+0x49d0): undefined reference to G__resetglobalvar' core/meta/src/TCint.o: In functionTCint::UpdateListOfGlobals()’:
TCint.cxx:(.text+0x52d7): undefined reference to Cint::G__DataMemberInfo::SerialNumber()' TCint.cxx:(.text+0x52e5): undefined reference toCint::G__DataMemberInfo::SerialNumber()'
core/meta/src/TCint.o: In function TCint::TCint(char const*, char const*)': TCint.cxx:(.text+0x5dda): undefined reference toCint::G__InitGenerateDictionary(int ()(std::basic_string<char, std::char_traits, std::allocator > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&))'
core/meta/src/TCint.o: In function TCint::TCint(char const*, char const*)': TCint.cxx:(.text+0x612a): undefined reference toCint::G__InitGenerateDictionary(int (
)(std::basic_string<char, std::char_traits, std::allocator > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > const&))'
collect2: ld returned 1 exit status
make: *** [lib/libCore.so] Error 1

What could be the problem? having another root installed (with PATH, LD_LIBRARY_PATH and ROOTSYS pointing to another root folder) could have something to do?

I could never get a clean installation of root… what could be the cause?

Before you try to build a new ROOT, make sure nothing in your environment variables points to another version of ROOT.

I commented all ROOT related variables from .bashrc and still not working. Also tryed to install it with a fixed location in my home directory (for not mixing with other installations) and still with the same problem…

It seems to appear when the makefile throws:

g++ -shared -Wl,-soname,libCore.so -m32 -O2 -Wl,–no-undefined -Wl,–as-needed -o lib/libCore.so core/base/src/InitGui.o core/base/src/ManualBase4.o core/base/src/Match.o core/base/src/String.o core/base/src/Stringio.o core/base/src/TApplication.o core/base/src/TApplicationImp.o core/base/src/TAtt3D.o core/base/src/TAttAxis.o core/base/src/TAttBBox.o core/base/src/TAttFill.o core/base/src/TAttLine.o core/base/src/TAttMarker.o core/base/src/TAttPad.o core/base/src/TAttText.o core/base/src/TBase64.o core/base/src/TBenchmark.o core/base/src/TBrowser.o core/base/src/TBrowserImp.o core/base/src/TBuffer3D.o core/base/src/TBuffer.o core/base/src/TCanvasImp.o core/base/src/TColor.o core/base/src/TColorGradient.o core/base/src/TContextMenu.o core/base/src/TContextMenuImp.o core/base/src/TControlBarImp.o core/base/src/TDatime.o core/base/src/TDirectory.o core/base/src/TEnv.o core/base/src/TError.o core/base/src/TException.o core/base/src/TExec.o core/base/src/TFileCollection.o core/base/src/TFileInfo.o core/base/src/TFolder.o core/base/src/TGuiFactory.o core/base/src/TInetAddress.o core/base/src/TInspectorImp.o core/base/src/TMacro.o core/base/src/TMathBase.o core/base/src/TMD5.o core/base/src/TMemberInspector.o core/base/src/TMessageHandler.o core/base/src/TNamed.o core/base/src/TObject.o core/base/src/TObjectSpy.o core/base/src/TObjString.o core/base/src/TParameter.o core/base/src/TPluginManager.o core/base/src/TPRegexp.o core/base/src/TProcessID.o core/base/src/TProcessUUID.o core/base/src/TQCommand.o core/base/src/TQConnection.o core/base/src/TQObject.o core/base/src/TRefCnt.o core/base/src/TRef.o core/base/src/TRegexp.o core/base/src/TRemoteObject.o core/base/src/TROOT.o core/base/src/TStopwatch.o core/base/src/TStorage.o core/base/src/TString.o core/base/src/TStringLong.o core/base/src/TStyle.o core/base/src/TSysEvtHandler.o core/base/src/TSystem.o core/base/src/TSystemDirectory.o core/base/src/TSystemFile.o core/base/src/TTask.o core/base/src/TTime.o core/base/src/TTimer.o core/base/src/TTimeStamp.o core/base/src/TUri.o core/base/src/TUrl.o core/base/src/TUUID.o core/base/src/TVirtualFFT.o core/base/src/TVirtualGL.o core/base/src/TVirtualMonitoring.o core/base/src/TVirtualMutex.o core/base/src/TVirtualPad.o core/base/src/TVirtualPadEditor.o core/base/src/TVirtualPadPainter.o core/base/src/TVirtualPerfStats.o core/base/src/TVirtualPS.o core/base/src/TVirtualViewer3D.o core/base/src/TVirtualX.o core/cont/src/TArrayC.o core/cont/src/TArray.o core/cont/src/TArrayD.o core/cont/src/TArrayF.o core/cont/src/TArrayI.o core/cont/src/TArrayL64.o core/cont/src/TArrayL.o core/cont/src/TArrayS.o core/cont/src/TBits.o core/cont/src/TBtree.o core/cont/src/TClassTable.o core/cont/src/TClonesArray.o core/cont/src/TCollection.o core/cont/src/TExMap.o core/cont/src/THashList.o core/cont/src/THashTable.o core/cont/src/TIterator.o core/cont/src/TList.o core/cont/src/TMap.o core/cont/src/TObjArray.o core/cont/src/TObjectTable.o core/cont/src/TOrdCollection.o core/cont/src/TRefArray.o core/cont/src/TRefTable.o core/cont/src/TSeqCollection.o core/cont/src/TSortedList.o core/meta/src/TBaseClass.o core/meta/src/TCint.o core/meta/src/TClass.o core/meta/src/TClassGenerator.o core/meta/src/TClassMenuItem.o core/meta/src/TClassRef.o core/meta/src/TDataMember.o core/meta/src/TDataType.o core/meta/src/TDictionary.o core/meta/src/TFunction.o core/meta/src/TGenericClassInfo.o core/meta/src/TGlobal.o core/meta/src/TInterpreter.o core/meta/src/TIsAProxy.o core/meta/src/TMethodArg.o core/meta/src/TMethodCall.o core/meta/src/TMethod.o core/meta/src/TRealData.o core/meta/src/TSchemaRule.o core/meta/src/TSchemaRuleSet.o core/meta/src/TStreamerElement.o core/meta/src/TToggle.o core/meta/src/TToggleGroup.o core/meta/src/TVirtualStreamerInfo.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/attach.o core/clib/src/Demangle.o core/clib/src/detach.o core/clib/src/getpagesize.o core/clib/src/keys.o core/clib/src/mcalloc.o core/clib/src/mfree.o core/clib/src/mmalloc.o core/clib/src/mmapsup.o core/clib/src/mmcheck.o core/clib/src/mmemalign.o core/clib/src/mmstats.o core/clib/src/mmtrace.o core/clib/src/mrealloc.o core/clib/src/mvalloc.o core/clib/src/sbrksup.o core/clib/src/snprintf.o core/clib/src/strlcat.o core/clib/src/strlcpy.o core/metautils/src/RConversionRuleParser.o core/metautils/src/TClassEdit.o core/textinput/src/Getline_color.o core/textinput/src/Getline.o core/textinput/src/textinput/Editor.o core/textinput/src/textinput/History.o core/textinput/src/textinput/KeyBinding.o core/textinput/src/textinput/Range.o core/textinput/src/textinput/SignalHandler.o core/textinput/src/textinput/StreamReader.o core/textinput/src/textinput/StreamReaderUnix.o core/textinput/src/textinput/StreamReaderWin.o core/textinput/src/textinput/TerminalConfigUnix.o core/textinput/src/textinput/TerminalDisplay.o core/textinput/src/textinput/TerminalDisplayUnix.o core/textinput/src/textinput/TerminalDisplayWin.o core/textinput/src/textinput/TextInputContext.o core/textinput/src/textinput/TextInput.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 lib/liblzma.a -L/usr/lib -lpcre -lcrypt -Llib -lCint -ldl

Any idea on how to solve this?

Thank you!

One thing looks strange to me … “lib/liblzma.a” … I have “-llzma” instead.
This shouldn’t be a problem, but you never know.
Make sure that you have two Ubuntu software packages installed … “liblzma1” and “liblzma-dev”.

Try to build your ROOT from scratch using: configure --all --enable-explicitlink --enable-soversion [--enable-rpath]

BTW. Make sure that you do not have any standard Ubuntu’s ROOT 5.18.00 related packages installed (i.e. “completely remove” / “remove with any associated configuration files” all standard Ubuntu’s ROOT packages).

I don’t know exactly what exactly did the trick but it worked!!

I list everything I did:

– Indeed I had some packages which I didn’t remove from Ubuntu’s package installation, that probably was the cause of it. Removed them

– Installed “liblzma1” and “liblzma-dev” as Wile E. suggested (thanks!!)

– Changed to “2.6.32-44” just to make sure (even if this probably did not have anything to do… I did it so I point it out…)

Wile E., Thank you so much!! you saved my day! :slight_smile: