ROOT 5.30 does not compile with gcc 4.61?

Hi, tried compiling version 5.30.01 and gcc 4.61 (latest ubuntu).
I used “./configure linuxx8664gcc” and ran “make”. I keep getting a bunch of “lib/libProof.so: undefined reference to…” errors. This is also happening after a fresh download and “make clean”.

Is root incompatible with gcc 4.6? or am I missing something obvious?

update: it works just fine with 4.4

Here’s the output of gcc -v:

Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6.1/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.1-7ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix

And the error

g++ -m64 -O2  -o bin/pq2 proof/pq2/src/pq2actions.o proof/pq2/src/pq2main.o proof/pq2/src/pq2ping.o proof/pq2/src/pq2wrappers.o proof/pq2/src/redirguard.o  -Llib -lRIO -lNet -lHist -lTree -lMatrix -lProof -lThread -lCore -lCint -lMathCore  -lm -ldl  -pthread   -rdynamic
lib/libProof.so: undefined reference to `TTree::MakeSelector(char const*)'
lib/libProof.so: undefined reference to `TChain::AddFriend(char const*, char const*)'
lib/libProof.so: undefined reference to `TQueryResult::SetArchived(char const*)'
lib/libProof.so: undefined reference to `TTree::LoadTreeFriend(long long, TTree*)'
lib/libProof.so: undefined reference to `TTree::OptimizeBaskets(unsigned long long, float, char const*)'
lib/libProof.so: undefined reference to `TTree::GetPlayer()'
lib/libProof.so: undefined reference to `TChain::Merge(TCollection*, char const*)'
lib/libProof.so: undefined reference to `TTree::SetAutoFlush(long long)'
lib/libProof.so: undefined reference to `TTree::GetEntryNumberWithIndex(int, int) const'
lib/libProof.so: undefined reference to `TTree::SetAlias(char const*, char const*)'
lib/libProof.so: undefined reference to `TChain::GetEntryWithIndex(int, int)'
lib/libProof.so: undefined reference to `TTree::DropBaskets()'
lib/libProof.so: undefined reference to `TTree::SetFileNumber(int)'
lib/libProof.so: undefined reference to `TQueryResult::GetInputObject(char const*) const'
lib/libProof.so: undefined reference to `TTree::SetCacheEntryRange(long long, long long)'
lib/libProof.so: undefined reference to `TChain::GetLeaf(char const*)'
lib/libProof.so: undefined reference to `TTree::CreateBasket(TBranch*)'
lib/libProof.so: undefined reference to `TChain::SetBranchAddress(char const*, void*, TBranch**)'
lib/libProof.so: undefined reference to `TTree::CopyEntries(TTree*, long long, char const*)'
lib/libProof.so: undefined reference to `typeinfo for TChain'
lib/libProof.so: undefined reference to `TTree::SetObject(char const*, char const*)'
lib/libProof.so: undefined reference to `typeinfo for TEntryList'
lib/libProof.so: undefined reference to `TTree::FlushBaskets() const'
lib/libProof.so: undefined reference to `TChain::AddFileInfoList(TCollection*, long long)'
lib/libProof.so: undefined reference to `TChain::TChain()'
lib/libProof.so: undefined reference to `TChain::ShowMembers(TMemberInspector&)'
lib/libProof.so: undefined reference to `TTree::CopyAddresses(TTree*, bool)'
lib/libProof.so: undefined reference to `TTree::StopCacheLearningPhase()'
lib/libProof.so: undefined reference to `TTree::BranchImp(char const*, char const*, TClass*, void*, int, int)'
lib/libProof.so: undefined reference to `TChain::GetMinimum(char const*)'
lib/libProof.so: undefined reference to `TQueryResult::Print(char const*) const'
lib/libProof.so: undefined reference to `TChain::Merge(TFile*, int, char const*)'
lib/libProof.so: undefined reference to `TChain::UseCache(int, int)'
lib/libProof.so: undefined reference to `TTree::BranchImpRef(char const*, char const*, TClass*, void*, int, int)'
lib/libProof.so: undefined reference to `TChain::Print(char const*) const'
lib/libProof.so: undefined reference to `TTree::SetBasketSize(char const*, int)'
lib/libProof.so: undefined reference to `TEventList::TEventList()'
lib/libProof.so: undefined reference to `TTree::SetMakeClass(int)'
lib/libProof.so: undefined reference to `TChain::SetWeight(double, char const*)'
lib/libProof.so: undefined reference to `TTree::KeepCircular()'
lib/libProof.so: undefined reference to `TTree::BranchOld(char const*, char const*, void*, int, int)'
lib/libProof.so: undefined reference to `TChain::ResetBranchAddress(TBranch*)'
lib/libProof.so: undefined reference to `TQueryResult::Browse(TBrowser*)'
lib/libProof.so: undefined reference to `TChain::AddFile(char const*, long long, char const*)'
lib/libProof.so: undefined reference to `TQueryResult::CloneInfo()'
lib/libProof.so: undefined reference to `TTree::UnbinnedFit(char const*, char const*, char const*, char const*, long long, long long)'
lib/libProof.so: undefined reference to `typeinfo for TTree'
lib/libProof.so: undefined reference to `TTree::CopyTree(char const*, char const*, long long, long long)'
lib/libProof.so: undefined reference to `TTree::GetFriend(char const*) const'
lib/libProof.so: undefined reference to `TTree::SetDebug(int, long long, long long)'
lib/libProof.so: undefined reference to `TChain::SetAutoDelete(bool)'
lib/libProof.so: undefined reference to `TChain::ls(char const*) const'
lib/libProof.so: undefined reference to `TTree::Branch(char const*, char const*, void*, int, int)'
lib/libProof.so: undefined reference to `TTree::SetEstimate(long long)'
lib/libProof.so: undefined reference to `TTree::RemoveFriend(TTree*)'
lib/libProof.so: undefined reference to `typeinfo for TEventList'
lib/libProof.so: undefined reference to `TTree::SetTreeIndex(TVirtualIndex*)'
lib/libProof.so: undefined reference to `TTree::Branch(TList*, int, int)'
lib/libProof.so: undefined reference to `TTree::SetCacheLearnEntries(int)'
lib/libProof.so: undefined reference to `TTree::Notify()'
lib/libProof.so: undefined reference to `TChain::DirectoryAutoAdd(TDirectory*)'
lib/libProof.so: undefined reference to `TChain::SetProof(bool, bool, bool)'
lib/libProof.so: undefined reference to `TTree::BranchImp(char const*, TClass*, void*, int, int)'
lib/libProof.so: undefined reference to `TChain::GetClusterIterator(long long)'
lib/libProof.so: undefined reference to `TTree::BranchRef()'
lib/libProof.so: undefined reference to `TChain::SetBranchStatus(char const*, bool, unsigned int*)'
lib/libProof.so: undefined reference to `TTree::SetAutoSave(long long)'
lib/libProof.so: undefined reference to `TChain::LoadTree(long long)'
lib/libProof.so: undefined reference to `TTree::SetCircular(long long)'
lib/libProof.so: undefined reference to `TChain::SetBranchAddress(char const*, void*, TBranch**, TClass*, EDataType, bool)'
lib/libProof.so: undefined reference to `TTree::ChangeFile(TFile*)'
lib/libProof.so: undefined reference to `TTree::SetName(char const*)'
lib/libProof.so: undefined reference to `TTree::Delete(char const*)'
lib/libProof.so: undefined reference to `TTree::SetEntries(long long)'
lib/libProof.so: undefined reference to `TChain::GetEntryNumber(long long) const'
lib/libProof.so: undefined reference to `TChain::TChain(char const*, char const*)'
lib/libProof.so: undefined reference to `TChain::Merge(char const*, char const*)'
lib/libProof.so: undefined reference to `TTree::GetFriendAlias(TTree*) const'
lib/libProof.so: undefined reference to `TTree::PrintCacheStats(char const*) const'
lib/libProof.so: undefined reference to `TTree::Refresh()'
lib/libProof.so: undefined reference to `TTree::AddBranchToCache(TBranch*, bool)'
lib/libProof.so: undefined reference to `TTree::BronchExec(char const*, char const*, void*, bool, int, int)'
lib/libProof.so: undefined reference to `TQueryResult::~TQueryResult()'
lib/libProof.so: undefined reference to `TChain::~TChain()'
lib/libProof.so: undefined reference to `TChain::RecursiveRemove(TObject*)'
lib/libProof.so: undefined reference to `TChain::SetPacketSize(int)'
lib/libProof.so: undefined reference to `TTree::Branch(TCollection*, int, int, char const*)'
lib/libProof.so: undefined reference to `vtable for TQueryResult'
lib/libProof.so: undefined reference to `TTree::UseCurrentStyle()'
lib/libProof.so: undefined reference to `TChain::Add(TChain*)'
lib/libProof.so: undefined reference to `TQueryResult::ShowMembers(TMemberInspector&)'
lib/libProof.so: undefined reference to `TQueryResult::TQueryResult(int, char const*, TList*, long long, long long, char const*)'
lib/libProof.so: undefined reference to `TTree::MakeProxy(char const*, char const*, char const*, char const*, int)'
lib/libProof.so: undefined reference to `TChain::GetChainEntryNumber(long long) const'
lib/libProof.so: undefined reference to `TEntryList::TEntryList(char const*, char const*)'
lib/libProof.so: undefined reference to `TTree::Bronch(char const*, char const*, void*, int, int)'
lib/libProof.so: undefined reference to `TTree::Project(char const*, char const*, char const*, char const*, long long, long long)'
lib/libProof.so: undefined reference to `TTree::Write(char const*, int, int)'
lib/libProof.so: undefined reference to `TTree::AutoSave(char const*)'
lib/libProof.so: undefined reference to `TQueryResult::AddInput(TObject*)'
lib/libProof.so: undefined reference to `TTree::CloneTree(long long, char const*)'
lib/libProof.so: undefined reference to `TChain::SetEntryListFile(char const*, char const*)'
lib/libProof.so: undefined reference to `TTree::AddBranchToCache(char const*, bool)'
lib/libProof.so: undefined reference to `TChain::LoadBaskets(long long)'
lib/libProof.so: undefined reference to `TTree::ReadFile(char const*, char const*, char)'
lib/libProof.so: undefined reference to `TChain::AddFriend(char const*, TFile*)'
lib/libProof.so: undefined reference to `TChain::Add(char const*, long long)'
lib/libProof.so: undefined reference to `TQueryResult::AddLogLine(char const*)'
lib/libProof.so: undefined reference to `TQueryResult::SetProcessInfo(long long, float, long long, float, float)'
lib/libProof.so: undefined reference to `TTree::SetCacheSize(long long)'
lib/libProof.so: undefined reference to `TChain::CanDeleteRefs(bool)'
lib/libProof.so: undefined reference to `TQueryResult::Class()'
lib/libProof.so: undefined reference to `TChain::GetMaximum(char const*)'
lib/libProof.so: undefined reference to `TChain::ResetBranchAddresses()'
lib/libProof.so: undefined reference to `TTree::BuildIndex(char const*, char const*)'
lib/libProof.so: undefined reference to `TTree::GetEntriesFriend() const'
lib/libProof.so: undefined reference to `TTree::Branch(char const*, void*, char const*, int)'
lib/libProof.so: undefined reference to `TQueryResult::RecordEnd(TQueryResult::EQueryStatus, TList*)'
lib/libProof.so: undefined reference to `TChain::CreatePackets()'
lib/libProof.so: undefined reference to `TTree::GetUserInfo()'
lib/libProof.so: undefined reference to `TTree::MakeClass(char const*, char const*)'
lib/libProof.so: undefined reference to `TTree::CheckBranchAddressType(TBranch*, TClass*, EDataType, bool)'
lib/libProof.so: undefined reference to `TChain::SetBranchAddress(char const*, void*, TClass*, EDataType, bool)'
lib/libProof.so: undefined reference to `TTree::SetDefaultEntryOffsetLen(int, bool)'
lib/libProof.so: undefined reference to `TChain::Loop(char const*, long long, long long)'
lib/libProof.so: undefined reference to `TTree::ReadStream(std::basic_istream<char, std::char_traits<char> >&, char const*, char)'
lib/libProof.so: undefined reference to `TChain::Reset(char const*)'
lib/libProof.so: undefined reference to `TTree::Fit(char const*, char const*, char const*, char const*, char const*, long long, long long)'
lib/libProof.so: undefined reference to `TChain::GetEntry(long long, int)'
lib/libProof.so: undefined reference to `TTree::DropBuffers(int)'
lib/libProof.so: undefined reference to `TTree::Write(char const*, int, int) const'
lib/libProof.so: undefined reference to `TQueryResult::SetInputList(TList*, bool)'
lib/libProof.so: undefined reference to `TTree::GetEntryList()'
lib/libProof.so: undefined reference to `TTree::MakeCode(char const*)'
lib/libProof.so: undefined reference to `TTree::StartViewer()'
lib/libProof.so: undefined reference to `TChain::GetWeight() const'
lib/libProof.so: undefined reference to `TChain::SetDirectory(TDirectory*)'
lib/libProof.so: undefined reference to `TChain::GetNbranches()'
lib/libProof.so: undefined reference to `TChain::AddFriend(TTree*, char const*, bool)'
lib/libProof.so: undefined reference to `TTree::SetParallelUnzip(bool, float)'
lib/libProof.so: undefined reference to `TTree::Show(long long, int)'
lib/libProof.so: undefined reference to `TTree::Query(char const*, char const*, char const*, long long, long long)'
lib/libProof.so: undefined reference to `TChain::Merge(TCollection*, TFileMergeInfo*)'
lib/libProof.so: undefined reference to `TChain::GetAlias(char const*) const'
lib/libProof.so: undefined reference to `typeinfo for TFriendElement'
lib/libProof.so: undefined reference to `TTree::Class()'
lib/libProof.so: undefined reference to `TTree::GetIteratorOnAllLeaves(bool)'
lib/libProof.so: undefined reference to `typeinfo for TQueryResult'
lib/libProof.so: undefined reference to `TChain::Scan(char const*, char const*, char const*, long long, long long)'
lib/libProof.so: undefined reference to `TTree::Branch(char const*, int, int)'
lib/libProof.so: undefined reference to `TTree::GetEntryNumberWithBestIndex(int, int) const'
lib/libProof.so: undefined reference to `TTree::BranchImpRef(char const*, TClass*, EDataType, void*, int, int)'
lib/libProof.so: undefined reference to `TQueryResult::SetOutputList(TList*, bool)'
lib/libProof.so: undefined reference to `TSelector::GetSelector(char const*)'
collect2: ld returned 1 exit status
make: *** [bin/pq2] Error 1

Sorry to bump this, but could someone else verify that gcc 4.61 does not compile root 5.30?
As gcc 4.61 will be shipped in a month with Ubuntu systems, many users could be potentially affected.

Thanks,

Nathaniel

I have the same problem, and it seems to be a problem with some missing library dependencies. If I add for example “-lTree” to the GCC command at the top of your output, it compiles (at least until the next missing library).

[quote=“nbubis”]Sorry to bump this, but could someone else verify that gcc 4.61 does not compile root 5.30?
As gcc 4.61 will be shipped in a month with Ubuntu systems, many users could be potentially affected.

Thanks,

Nathaniel[/quote]

I have absolutely the same problem with ubuntu 11.10 beta and gcc 4.61.
Hope the info helpful.

I have the same problem, trying to install Root v5.30 on ubuntu using gcc 4.6.1.
Has someone found a solution?

Hi,

I can not reproduce the problem with gcc 4.6.1 (but using Fedora).

Can you try :g++ -m64 -O2 -o bin/pq2 proof/pq2/src/pq2actions.o proof/pq2/src/pq2main.o proof/pq2/src/pq2ping.o proof/pq2/src/pq2wrappers.o proof/pq2/src/redirguard.o -Llib -lRIO -lNet -lHist -lTree -lMatrix -lProof -lThread -lCore -lCint -lMathCore -lTree -lm -ldl -pthread -rdynamic

Cheers,
Philippe.

[quote=“pcanal”]Hi,

I can not reproduce the problem with gcc 4.6.1 (but using Fedora).

Can you try :g++ -m64 -O2 -o bin/pq2 proof/pq2/src/pq2actions.o proof/pq2/src/pq2main.o proof/pq2/src/pq2ping.o proof/pq2/src/pq2wrappers.o proof/pq2/src/redirguard.o -Llib -lRIO -lNet -lHist -lTree -lMatrix -lProof -lThread -lCore -lCint -lMathCore -lTree -lm -ldl -pthread -rdynamic

Cheers,
Philippe.[/quote]

GREAT!
This codes works!!
I find it’s -lTree missing when compling with make. (ubuntu 11.10 beta gcc 4.6.1)

Hi,

This is fixed in revision 40914 of the trunk.

Cheers,
Philippe.

I got a new error:

g++ -m64 -O2 -o bin/pq2 proof/pq2/src/pq2actions.o proof/pq2/src/pq2main.o proof/pq2/src/pq2ping.o proof/pq2/src/pq2wrappers.o proof/pq2/src/redirguard.o -Llib -lProof -lMatrix -lHist -lTree -lRIO -lNet -lThread -lCore -lCint -lMathCore -lm -ldl -pthread -rdynamic
lib/libHist.so: undefined reference to TMatrixTSym<double>::ResizeTo(int, int, int)' lib/libHist.so: undefined reference toTMatrixTSym::Streamer(TBuffer&)'
lib/libHist.so: undefined reference to TMatrixTSym<double>::ResizeTo(int, int, int, int, int)' lib/libHist.so: undefined reference toTMatrixTDiag_const::ShowMembers(TMemberInspector&)'
lib/libHist.so: undefined reference to TMatrixTSym<double>::Delete_m(int, double*&)' lib/libHist.so: undefined reference toTMatrixTBase::Sum() const’
lib/libHist.so: undefined reference to TMatrixTBase<double>::Apply(TElementPosActionT<double> const&)' lib/libHist.so: undefined reference toTMatrixT operator*(double, TMatrixT const&)'
lib/libHist.so: undefined reference to TMatrixT<double>::TMatrixT(TMatrixT<double> const&, TMatrixT<double>::EMatrixCreatorsOp2, TMatrixT<double> const&)' lib/libHist.so: undefined reference toTMatrixTSparse::RowNorm() const’
lib/libHist.so: undefined reference to TVectorT<double>::TVectorT(TMatrixTDiag_const<double> const&)' lib/libHist.so: undefined reference toTMatrixTBase::Sqr()'
lib/libHist.so: undefined reference to TMatrixTSparse<double>::ShowMembers(TMemberInspector&)' lib/libHist.so: undefined reference tovtable for TDecompSVD’
lib/libHist.so: undefined reference to TMatrixTSym<double>::SetSub(int, int, TMatrixTBase<double> const&)' lib/libHist.so: undefined reference toTMatrixTSparse::Streamer(TBuffer&)'
lib/libHist.so: undefined reference to vtable for TMatrixDSymEigen' lib/libHist.so: undefined reference toTMatrixTSparse::TMatrixTSparse(TMatrixTSparse const&)'
lib/libHist.so: undefined reference to TMatrixTBase<double>::ShowMembers(TMemberInspector&)' lib/libHist.so: undefined reference toTMatrixTColumn_const::Class()'
lib/libHist.so: undefined reference to TMatrixTSparse<double>::Class()' lib/libHist.so: undefined reference toTMatrixT::Transpose(TMatrixT const&)'
lib/libHist.so: undefined reference to TMatrixTBase<double>::E2Norm() const' lib/libHist.so: undefined reference toTMatrixTBase::Apply(TElementActionT const&)'
lib/libHist.so: undefined reference to bool operator==<double>(TMatrixTBase<double> const&, TMatrixTBase<double> const&)' lib/libHist.so: undefined reference toTMatrixTSparse::TMatrixTSparse(int, int)'
lib/libHist.so: undefined reference to TMatrixTSym<double>::GetSub(int, int, int, int, TMatrixTBase<double>&, char const*) const' lib/libHist.so: undefined reference toTMatrixTBase::Min() const’
lib/libHist.so: undefined reference to TMatrixT<double>::operator*=(double)' lib/libHist.so: undefined reference toTMatrixTBase::Max() const’
lib/libHist.so: undefined reference to TMatrixTBase<double>::ExtractRow(int, int, double*, int) const' lib/libHist.so: undefined reference toTMatrixTSparse::GetSub(int, int, int, int, TMatrixTBase&, char const*) const’
lib/libHist.so: undefined reference to TDecompChol::Decompose()' lib/libHist.so: undefined reference toTMatrixTSym::Determinant(double&, double&) const’
lib/libHist.so: undefined reference to TMatrixTColumn_const<double>::ShowMembers(TMemberInspector&)' lib/libHist.so: undefined reference toTMatrixTRow::TMatrixTRow(TMatrixTSym&, int)'
lib/libHist.so: undefined reference to TMatrixT<double>::Determinant(double&, double&) const' lib/libHist.so: undefined reference toTMatrixTSym::Class()'
lib/libHist.so: undefined reference to TMatrixTBase<double>::Sqrt()' lib/libHist.so: undefined reference toTMatrixT::TMatrixT(TMatrixT::EMatrixCreatorsOp1, TMatrixT const&)'
lib/libHist.so: undefined reference to TMatrixTBase<double>::Zero()' lib/libHist.so: undefined reference toTVectorT::Class()'
lib/libHist.so: undefined reference to TMatrixTSym<double>::Similarity(TVectorT<double> const&) const' lib/libHist.so: undefined reference toTMatrixTSym::SetMatrixArray(double const*, char const*)'
lib/libHist.so: undefined reference to TMatrixT<double>::operator=(double)' lib/libHist.so: undefined reference toTVectorT::Zero()'
lib/libHist.so: undefined reference to TVectorT<double>::Delete_m(int, double*&)' lib/libHist.so: undefined reference toTMatrixTSparse::UnitMatrix()'
lib/libHist.so: undefined reference to TMatrixTSym<double>::Shift(int, int)' lib/libHist.so: undefined reference toTDecompChol::TDecompChol(TMatrixTSym const&, double)'
lib/libHist.so: undefined reference to TMatrixT<double>::Determinant() const' lib/libHist.so: undefined reference toTVectorT::operator=(TMatrixTColumn_const const&)'
lib/libHist.so: undefined reference to TMatrixTBase<double>::RowNorm() const' lib/libHist.so: undefined reference toTMatrixTBase::UnitMatrix()'
lib/libHist.so: undefined reference to TMatrixT<double>::operator-=(TMatrixT<double> const&)' lib/libHist.so: undefined reference toTMatrixTSparse::Zero()'
lib/libHist.so: undefined reference to TVectorT<double>::Draw(char const*)' lib/libHist.so: undefined reference toTMatrixTRow::ShowMembers(TMemberInspector&)'
lib/libHist.so: undefined reference to TMatrixTDiag_const<double>::Class()' lib/libHist.so: undefined reference toTMatrixTSparse::GetMatrix2Array(double*, char const*) const’
lib/libHist.so: undefined reference to TMatrixTBase<double>::ColNorm() const' lib/libHist.so: undefined reference todouble operator*(TVectorT const&, TVectorT const&)'
lib/libHist.so: undefined reference to TMatrixT<double>::TMatrixT(TMatrixT<double> const&)' lib/libHist.so: undefined reference toTMatrixTSym::Use(int, int, double*)'
lib/libHist.so: undefined reference to TMatrixTColumn_const<double>::TMatrixTColumn_const(TMatrixT<double> const&, int)' lib/libHist.so: undefined reference toTMatrixTRow_const::Streamer(TBuffer&)'
lib/libHist.so: undefined reference to TMatrixTBase<double>::NormByDiag(TVectorT<double> const&, char const*)' lib/libHist.so: undefined reference toTMatrixTSym::TMatrixTSym(int)'
lib/libHist.so: undefined reference to TMatrixDSymEigen::TMatrixDSymEigen(TMatrixTSym<double> const&)' lib/libHist.so: undefined reference toTMatrixTBase::Abs()'
lib/libHist.so: undefined reference to TVectorT<double>::operator=(TMatrixTRow_const<double> const&)' lib/libHist.so: undefined reference toTMatrixT::Invert(double*)'
lib/libHist.so: undefined reference to TMatrixTSparse<double>::SetSub(int, int, TMatrixTBase<double> const&)' lib/libHist.so: undefined reference toTMatrixTSparse::SetMatrixArray(int, int*, int*, double*)'
lib/libHist.so: undefined reference to TMatrixTSym<double>::RandomizePD(double, double, double&)' lib/libHist.so: undefined reference toTMatrixTRow::Streamer(TBuffer&)'
lib/libHist.so: undefined reference to TVectorT<double>::TVectorT(int)' lib/libHist.so: undefined reference toTMatrixT::Class()'
lib/libHist.so: undefined reference to TVectorT<double>::TVectorT(TVectorT<double> const&)' lib/libHist.so: undefined reference toTMatrixTSparse::operator()(int, int) const’
lib/libHist.so: undefined reference to TMatrixT<double>::TMatrixT(int, int, double const*, char const*)' lib/libHist.so: undefined reference toTMatrixTBase::Print(char const*) const’
lib/libHist.so: undefined reference to vtable for TDecompChol' lib/libHist.so: undefined reference toTMatrixTSparse::ExtractRow(int, int, double*, int) const’
lib/libHist.so: undefined reference to TMatrixTSym<double>::Randomize(double, double, double&)' lib/libHist.so: undefined reference toTVectorT::Streamer(TBuffer&)'
lib/libHist.so: undefined reference to TMatrixTBase<double>::NonZeros() const' lib/libHist.so: undefined reference toTMatrixTRow::TMatrixTRow(TMatrixT&, int)'
lib/libHist.so: undefined reference to TMatrixTSparse<double>::TMatrixTSparse(TMatrixT<double> const&)' lib/libHist.so: undefined reference toTVectorT::operator=(TVectorT const&)'
lib/libHist.so: undefined reference to TMatrixTBase<double>::SetMatrixArray(double const*, char const*)' lib/libHist.so: undefined reference toTMatrixTBase::Randomize(double, double, double&)'
lib/libHist.so: undefined reference to TVectorT<double>::operator=(double)' lib/libHist.so: undefined reference toTMatrixTSparse::Randomize(double, double, double&)'
lib/libHist.so: undefined reference to TMatrixT<double>::GetSub(int, int, int, int, TMatrixTBase<double>&, char const*) const' lib/libHist.so: undefined reference toTMatrixT::ShowMembers(TMemberInspector&)'
lib/libHist.so: undefined reference to TMatrixTSym<double>::ShowMembers(TMemberInspector&)' lib/libHist.so: undefined reference toTMatrixTSparse::ColNorm() const’
lib/libHist.so: undefined reference to TDecompChol::Invert(TMatrixTSym<double>&)' lib/libHist.so: undefined reference toTVectorT::operator*=(TMatrixT const&)'
lib/libHist.so: undefined reference to TMatrixTSym<double>::Apply(TElementPosActionT<double> const&)' lib/libHist.so: undefined reference toTMatrixT::operator=(TMatrixT const&)'
lib/libHist.so: undefined reference to TMatrixTBase<double>::Shift(int, int)' lib/libHist.so: undefined reference toTVectorT::ShowMembers(TMemberInspector&)'
lib/libHist.so: undefined reference to TMatrixTSparse<double>::TMatrixTSparse(TMatrixTSparse<double>::EMatrixCreatorsOp1, TMatrixTSparse<double> const&)' lib/libHist.so: undefined reference toTMatrixTSym::Determinant() const’
lib/libHist.so: undefined reference to TMatrixTSym<double>::Apply(TElementActionT<double> const&)' lib/libHist.so: undefined reference toTMatrixTSym::TMatrixTSym(TMatrixTSym const&)'
lib/libHist.so: undefined reference to TVectorT<double>::Print(char const*) const' lib/libHist.so: undefined reference toTMatrixTDiag_const::TMatrixTDiag_const(TMatrixTSym const&)'
lib/libHist.so: undefined reference to TMatrixTBase<double>::Streamer(TBuffer&)' lib/libHist.so: undefined reference toTMatrixT::SetSub(int, int, TMatrixTBase const&)'
lib/libHist.so: undefined reference to TMatrixTRow_const<double>::Class()' lib/libHist.so: undefined reference toTMatrixTDiag_const::Streamer(TBuffer&)'
lib/libHist.so: undefined reference to TVectorT<double>::ResizeTo(int, int)' lib/libHist.so: undefined reference toTMatrixTBase::Draw(char const*)'
lib/libHist.so: undefined reference to TDecompSVD::TDecompSVD(TMatrixT<double> const&, double)' lib/libHist.so: undefined reference toTMatrixT::ResizeTo(int, int, int, int, int)'
lib/libHist.so: undefined reference to TVectorT<double> operator*<double>(TMatrixT<double> const&, TVectorT<double> const&)' lib/libHist.so: undefined reference toTMatrixTSym::Invert(double*)'
lib/libHist.so: undefined reference to vtable for TDecompBase' lib/libHist.so: undefined reference toTVectorT::operator*=(double)'
lib/libHist.so: undefined reference to TMatrixTSparse<double>::RandomizePD(double, double, double&)' lib/libHist.so: undefined reference toTVectorT::Sum() const’
lib/libHist.so: undefined reference to TMatrixTSparse<double>::operator()(int, int)' lib/libHist.so: undefined reference toTMatrixTBase::Class()'
lib/libHist.so: undefined reference to TMatrixT<double>::TMatrixT(int, int)' lib/libHist.so: undefined reference toTMatrixT operator*(TMatrixT const&, TMatrixT const&)'
lib/libHist.so: undefined reference to TMatrixT<double>::Streamer(TBuffer&)' lib/libHist.so: undefined reference toTMatrixTBase::GetMatrix2Array(double*, char const*) const’
lib/libHist.so: undefined reference to TMatrixT<double>::TMatrixT(TMatrixTSparse<double> const&)' lib/libHist.so: undefined reference toTMatrixTRow::Class()'
lib/libHist.so: undefined reference to TMatrixT<double>::Delete_m(int, double*&)' lib/libHist.so: undefined reference toTMatrixTBase::IsSymmetric() const’
lib/libHist.so: undefined reference to TMatrixTSparse<double>::ResizeTo(int, int, int, int, int)' lib/libHist.so: undefined reference toTMatrixTSparse::ResizeTo(int, int, int)'
lib/libHist.so: undefined reference to TMatrixTSparse<double>::InsertRow(int, int, double const*, int)' lib/libHist.so: undefined reference toTMatrixTColumn_const::Streamer(TBuffer&)'
lib/libHist.so: undefined reference to TMatrixTRow_const<double>::ShowMembers(TMemberInspector&)' lib/libHist.so: undefined reference toTMatrixT::ResizeTo(int, int, int)'
lib/libHist.so: undefined reference to `TMatrixTBase::InsertRow(int, int, double const*, int)'
collect2: ld returned 1 exit status
make: *** [bin/pq2] Error 1

Any suggestion on what’s wrong?
Thank you all

Hi,

Try with revision 40939 (-lHist and -lMatrix needed to be inverted).

Cheers,
Philippe.

lib/libProof.so: undefined reference to `TTree::MakeSelector(char const*)’

crashes on make, ubuntu 11.10 64 bit. gcc 4.6.1. At revision 40947.

Dear Philippe,
I have an other error:
g++ -m64 -O2 -o bin/h2root main/src/h2root.o
-Llib -lCore -lCint -lMathCore -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lMatrix -lThread lib/libminicern.so
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/libgfortran.so /usr/lib/gcc/x86_64-linux-gnu/4.6.1/libgfortranbegin.a -lm -ldl -pthread -rdynamic
lib/libHist.so: undefined reference to ROOT::Math::MinimizerOptions::~MinimizerOptions()' lib/libHist.so: undefined reference toROOT::Fit::FitResult::LowerError(unsigned int) const’
lib/libHist.so: undefined reference to ROOT::Fit::Fitter::FitFCN(void (*)(int&, double*, double&, double*, int), int, double const*, unsigned int, bool)' lib/libTree.so: undefined reference totypeinfo for TSQLResult’
lib/libHist.so: undefined reference to ROOT::Fit::FitUtil::EvaluateLogLGradient(ROOT::Math::IParametricFunctionMultiDim const&, ROOT::Fit::UnBinData const&, double const*, double*, unsigned int&)' lib/libTree.so: undefined reference tovtable for TSQLRow’
lib/libHist.so: undefined reference to TMath::ErfInverse(double)' lib/libHist.so: undefined reference toTMath::Beta(double, double)'
lib/libHist.so: undefined reference to ROOT::Fit::DataRange::DataRange(double, double)' lib/libHist.so: undefined reference toROOT::Fit::FitConfig::CreateMinimizer()'
lib/libHist.so: undefined reference to ROOT::Fit::BinData::Add(double const*, double, double const*, double)' lib/libHist.so: undefined reference togRandom’
lib/libTree.so: undefined reference to typeinfo for TSQLRow' lib/libHist.so: undefined reference toTMath::ChisquareQuantile(double, double)'
lib/libHist.so: undefined reference to ROOT::Fit::Fitter::Fitter()' lib/libHist.so: undefined reference toROOT::Fit::SparseData::SparseData(unsigned int, double*, double*)'
lib/libTree.so: undefined reference to TSQLRow::ShowMembers(TMemberInspector&)' lib/libHist.so: undefined reference toTMath::Poisson(double, double)'
lib/libHist.so: undefined reference to ROOT::Fit::Fitter::SetFunction(ROOT::Math::IParametricGradFunctionOneDim const&)' lib/libHist.so: undefined reference toTMath::BesselI1(double)'
lib/libHist.so: undefined reference to TMath::Gaus(double, double, double, bool)' lib/libHist.so: undefined reference toROOT::Fit::BinData::Add(double, double, double)'
lib/libHist.so: undefined reference to ROOT::Fit::DataRange::operator()(unsigned int, unsigned int) const' lib/libHist.so: undefined reference toROOT::Fit::FitResult::operator=(ROOT::Fit::FitResult const&)'
lib/libHist.so: undefined reference to TMath::BesselK0(double)' lib/libTree.so: undefined reference toTMessage::Class()'
lib/libHist.so: undefined reference to TMath::StruveH0(double)' lib/libHist.so: undefined reference toROOT::Fit::FitUtil::EvaluatePoissonLogL(ROOT::Math::IParametricFunctionMultiDim const&, ROOT::Fit::BinData const&, double const*, int, unsigned int&)‘
lib/libHist.so: undefined reference to ROOT::Math::GaussLegendreIntegrator::~GaussLegendreIntegrator()' lib/libHist.so: undefined reference toROOT::Fit::BinData::Add(double, double, double, double)’

Ok, instead of second guessing what changes in library ordering is needed I’ll install Ubuntu 11.10 to try myself.

Cheers, Fons.

It works, I changed the ROOTLIBS order in the main makefile:

ROOTLIBS:= -lTree -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad $(BOOTLIBS)
-lMatrix -lThread

Thank you all,

Cheers
Cinzia

Ok, 5.30 installed ok now (same versions as my previous post).

However, when running some code I see

“dlopen error: ~/fairsoft/tools/root/lib/libGeom.so: undefined symbol: gRandom
Load Error: Failed to load Dynamic link library ~/fairsoft/tools/root/lib/libGeom.so”

Could anyone shed some light on this? Cheers.

An unappreciated bump.

Now I have problem running xproofd.

I can’t make it running, in the log file I can see:

110929 15:45:12 001 xpd-I: ROOTMgr::Config: configuring
110929 15:46:12 001 xpd-E: ROOTMgr::Validate: timed-out receiving PROOF server protocol number
110929 15:46:12 001 xpd-E: ROOTMgr::Config: ROOT dist: ‘5.31/01 5.31/01 /usr/local’ could not be validated
110929 15:46:12 001 xpd-E: ROOTMgr::Config: no ROOT dir defined; ROOTSYS location missing - unloading
110929 15:46:12 001 xpd-E: Manager::Config: problems configuring the ROOT versions manager
110929 15:46:12 001 XrdProtocol: Protocol xproofd could not be loaded
initialization failed.

ROOTSYS is setted and $PATH is set to the bin folder of ROOT!

Any idea on what to do?

@jal: can you tell me how to reproduce the libGeom load error. On my Ubuntu 11.10 using the trunk I can do:

root [0] gSystem->Load("libGeom")
(int)0
root [1] gSystem->ListLibraries()
 
Loaded shared libraries
=======================
/home/rdm/root/lib/libCint.so
/home/rdm/root/lib/libRint.so
/home/rdm/root/lib/libCore.so
/home/rdm/root/lib/libMathCore.so
/home/rdm/root/lib/libThread.so
/home/rdm/root/lib/libRIO.so
/home/rdm/root/lib/libGeom.so
-----------------------
7 libraries loaded
=======================
root [2] 

Hi Fons. To be sure that we’re on the same page I updated my system and also to root revision 41061.
(previously installed (?) from the latest fairsoft, svn co subversion.gsi.de/fairroot/fairsoft/trunk fairsoft)

It fails (as before) on make:

[…]
g++ -m64 -O2 -o bin/pq2 proof/pq2/src/pq2actions.o proof/pq2/src/pq2main.o proof/pq2/src/pq2ping.o proof/pq2/src/pq2wrappers.o proof/pq2/src/redirguard.o -Llib -lRIO -lNet -lHist -lTree -lMatrix -lProof -lThread -lCore -lCint -lMathCore -lm -ldl -pthread -rdynamic
lib/libProof.so: undefined reference to `TTree::MakeSelector(char const*)’
[…]

So, in reference to Cinzia, I modified line 318 of the Makefile:

ROOTLIBS:= -lTree -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad $(BOOTLIBS)
-lMatrix -lThread

clean, make…

-> exactly the same.

Any diagnostic suggestions? I include the output of ‘configure’ for your information.
Many thanks. Ben.
configure_output.txt (6.8 KB)

Since I couldn’t get xproofd running I tried to reinstall ROOT, but I got a new error:

Creating executable …/…/bin/testserver
g++ -m64 -D_ALL_SOURCE -D_REENTRANT -D_GNU_SOURCE -fPIC -rdynamic -Wall -Wno-deprecated -D__linux__ -O2 …/…/obj/XrdSectestServer.o -lnsl -lrt -ldl -lc -L…/…/lib -lXrdSec -lXrdNet -lXrdOuc -lXrdNetUtil -lXrdSys -o …/…/bin/testserver
…/…/lib/libXrdSec.so: undefined reference to sem_init' ../../lib/libXrdSec.so: undefined reference topthread_mutexattr_settype’
…/…/lib/libXrdSec.so: undefined reference to pthread_key_create' ../../lib/libXrdSec.so: undefined reference topthread_attr_setstacksize’
…/…/lib/libXrdSec.so: undefined reference to sem_destroy' ../../lib/libXrdSec.so: undefined reference topthread_getspecific’
…/…/lib/libXrdSec.so: undefined reference to pthread_mutexattr_destroy' ../../lib/libXrdSec.so: undefined reference topthread_create’
…/…/lib/libXrdSec.so: undefined reference to pthread_mutexattr_init' ../../lib/libXrdSec.so: undefined reference tosem_post’
…/…/lib/libXrdSec.so: undefined reference to pthread_setspecific' ../../lib/libXrdSec.so: undefined reference tosem_wait’
…/…/lib/libXrdSec.so: undefined reference to pthread_join' collect2: ld returned 1 exit status make[5]: *** [../../bin/testserver] Error 1 make[4]: *** [Linuxall] Error 2 make[3]: *** [all] Error 2 make[2]: *** [XrdSec] Error 2 make[1]: *** [all] Error 2 make[1]: Leaving directory/home/cinzia/root/net/xrootd/src/xrootd’
*** Error condition reported by make (rc = 2):
make: *** [net/xrootd/src/xrootd/LastBuild.d] Error 1

Any idea on what to do?

Thank you

Cinzia