I was trying to install root (version 5.34.23) on my computer when this error occurred:
g++ -shared -Wl,-soname,libGX11TTF.so -m64 -O2 -Wl,--no-undefined -Wl,--as-needed -o lib/libGX11TTF.so graf2d/x11ttf/src/TGX11TTF.o graf2d/x11ttf/src/G__X11TTF.o -L/usr/lib/x86_64-linux-gnu -lfreetype -lz -lpng12 -Llib -lGX11 -lGraf -lXpm -lXext -lX11 -lXft -Llib -lCore -lCint -ldl
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0x310): undefined reference to `TVirtualX::GetFontAscent(char const*) const'
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0x320): undefined reference to `TVirtualX::GetFontDescent(char const*) const'
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0x960): undefined reference to `TAttLine::SetLineColorAlpha(short, float)'
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0x9f0): undefined reference to `TAttFill::SetFillColorAlpha(short, float)'
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0xa98): undefined reference to `TAttText::SetTextColorAlpha(short, float)'
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0xb30): undefined reference to `TAttMarker::SetMarkerColorAlpha(short, float)'
collect2: error: ld returned 1 exit status
make: *** [lib/libGX11TTF.so] Error 1
If I type the command “arch” on my terminal I get “x86_64”, so I tried to configure root for the arch linuxx8664gcc (my gcc version is gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2 ) and then “make” it, but I got the problem above descripted.
If I try to configure root for the arch linux, I get this error message:
Checking for libX11 ... no
configure: libX11 MUST be installed
I’ve installed all the prerequisites listed here root.cern.ch/drupal/content/build-prerequisites (those for Ubuntu 10, 11, 12 and 14), but still no result.
The problem seems to regard libX11 ( and/or libXpm) but if I try with
I get : libx11-dev is already the newest version.
libxpm-dev is already the newest version.
Previously I had root on my pc, but I uninstalled it because there were problems in linking libraries ( doing root-config --cflags --glibs it didn’t find “Physics” “Postcript” & “Graf3d” libraries) : probably because the first time I installed it I did it not in the proper way.
Hope someone can help me, thanks!
I tried to
sudo apt-get build-dep root-system
but it seems impossible to have any resault due to a problem with this:
libiodbc2-dev : Depends: libiodbc2 (= 3.52.7-3.1) but it won’t be installed.
Then I tried to follow what you said here Trouble Installing
, doing this:
rm -rf v5-34-00-patches
git clone -b v5-34-00-patches http://root.cern.ch/git/root.git v5-34-00-patches
cd v5-34-00-patches
unset ROOTSYS
./configure --enable-soversion --all > configure.out.txt 2>&1
make > make.out.txt 2>&1
But when I try to make root I (still) get this
g++ -shared -Wl,-soname,libGX11TTF.so -m64 -O2 -Wl,--no-undefined -Wl,--as-needed -o lib/libGX11TTF.so graf2d/x11ttf/src/TGX11TTF.o graf2d/x11ttf/src/G__X11TTF.o -L/usr/lib/x86_64-linux-gnu -lfreetype -lz -lpng12 -Llib -lGX11 -lGraf -lXpm -lXext -lX11 -lXft -Llib -lCore -lCint -ldl
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0x310): undefined reference to `TVirtualX::GetFontAscent(char const*) const'
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0x320): undefined reference to `TVirtualX::GetFontDescent(char const*) const'
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0x960): undefined reference to `TAttLine::SetLineColorAlpha(short, float)'
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0x9f0): undefined reference to `TAttFill::SetFillColorAlpha(short, float)'
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0xa98): undefined reference to `TAttText::SetTextColorAlpha(short, float)'
graf2d/x11ttf/src/TGX11TTF.o:(.data.rel.ro._ZTV8TGX11TTF[_ZTV8TGX11TTF]+0xb30): undefined reference to `TAttMarker::SetMarkerColorAlpha(short, float)'
collect2: error: ld returned 1 exit status
make: *** [lib/libGX11TTF.so] Error 1
I tried to execute all the sudo commands indicated, but still no result. Should I “make” root one more time, after the execution of “sudo apt-get build-dep root-system” ? (If not, only typing “root” is unsuccessful because I get “The program ‘root’ is currently not installed. You can install it by typing:
sudo apt-get install root-system-bin”).
When I locate libCore the output is:
/usr/lib/x86_64-linux-gnu/libCore.so
/usr/lib/x86_64-linux-gnu/libCore.so.5.34
/usr/lib/x86_64-linux-gnu/root5.34/libCore.rootmap
/usr/lib/x86_64-linux-gnu/root5.34/libCore.so
/usr/lib/x86_64-linux-gnu/root5.34/libCore.so.5
/usr/lib/x86_64-linux-gnu/root5.34/libCore.so.5.34
And for libCint:
You apparently have some version of ROOT installed in “system directories” ("/usr/lib/x86_64-linux-gnu/").
You must “completely remove” (“purge”) all “system-provided” ROOT related packages (this includes any “official” packages that originate from your operating system’s repositories as well as any version that you yourself built).
Then configure and make your new version of ROOT from scratch.
Note: this is explicitly written in [url=https://root-forum.cern.ch/t/missing-canvas/17664/17 of the old posts that I gave you[/url].
PS: That g++ line was NOT the result of the command make after the execution my “configure” line (yes, I can clearly see that there’s something missing in that line, which must have had been there if ROOT was configured according to my “configure” line).
Actually in usr/lib/x86_64-linux-gnu/ there is the directory root5.34, but how do I completely delete root & everything related to it in order to configure and make a new version of it? Should I simply delete that directory (and the one that contains root’s source), or something more is required?
Done. But the root5.34 directory is still there (almost empty. It only contains 2 .so files “Physics” & “Postcript”). Neither was removed the directory “root”, which contains root’s source files. Is it correct? What should I do next?
Those two libraries are still there.
Apparently now on my pc I have these files/directories regarding root (or, at least, these are the “visible” ones):
[ul]
root_v5.34.23.source.tar
root (directory created once .tar was unpacked)
root5.34 (directory in urs/lib/x86_64-linux-gnu/)
[/ul]
Nothing changed.
While executing the command, I get a list of:
Package ‘***’ is not installed, so not removed
So probably the previous executions went well, but I cannot remove those two libraries; even if I try to do it directly from the root5.34 directory. Should the directory root, with the source files, be removed?
Well, you could try to install and then purge everything again:
sudo apt-get install libroot-math-physics5.34 libroot-math-physics-dev libroot-graf2d-postscript5.34 libroot-graf2d-postscript-dev
sudo apt-get purge root-system* root-plugin* libroot*
Afterwards you should get an empty list when you try:
sudo dpkg --list “*”|grep libroot