Error compiling ROOT 5.16.00 with icc 10.0

I just tried the lastest icc 10.0.025 to compile 5.16.00, but I got the following error message:

bin/rmkdepend -R -fbase/src/InitGui.d -Y -w 1000 -- -fPIC -wd1476 -Iinclude -DR__HAVE_CONFIG -wd1572 -pthread -D__cplusplus -- base/src/InitGui.cxx
icc -O -fPIC -wd1476 -Iinclude -DR__HAVE_CONFIG -wd1572 -pthread -DUSEPCH -include precompile.h -pch-use include/precompile.pchi -o base/src/InitGui.o -c base/src/InitGui.cxx
"base/src/InitGui.cxx": using precompiled header file "include/precompile.pchi"
(0): internal error: backend signals

compilation aborted for base/src/InitGui.cxx (code 4)
make: *** [base/src/InitGui.o] Error 4

I have no idea about this error.
PS. Compiling 5.16.00 with icc 9.1 is OK.

I am using Intel 10.0.018 (latest version on Mac OS X) on ROOT v5.16.00 with no problems. From the error message it looks to be an internal compiler error. The InitGui.cxx file is basically empty so there cannot be much the compiler cannot handle. Could you try:

icc -O -fPIC -wd1476 -Iinclude -DR__HAVE_CONFIG -wd1572 -pthread -o base/src/InitGui.o -c base/src/InitGui.cxx 

Cheers, Fons.


I am using also icc 10.0.025 and see the same error for ROOT 5.14.00.
This looks like a memory managment problem of icc. There is already an error posted to intel concerning a similar problem
( … 35218.aspx)

A workaround is to run “make” again after the error. Doing so the build process goes on with the same file which causes the problem and may or may not crash at a later stage. Sometimes i have to rerun make up to 5 times.



I have also ran into this problem and I fixed it by changing

in config/Makefile.config

Also, when compiling root, there are a lot of warnings about operator new not having corresponding delete. And I guess because of this rootcint ( and compiled programs , that use root as well) crash on exit every time there is an object created with new and not deleted explicitly.

for example

[ardashev@legsux8 macros]$ root -n
root [0] TBrowser* br = new TBrowser;
root [1] .q
(no debugging symbols found)
Using host libthread_db library “/lib64/”.
Attaching to program: /proc/5947/exe, process 5947
(no debugging symbols found)…done.
[Thread debugging using libthread_db enabled]
[New Thread 46912529167440 (LWP 5947)]
(no debugging symbols found)…done.
(no debugging symbols found)…done.
(no debugging symbols found)…done.
(no debugging symbols found)…done.
(no debugging symbols found)…done.
(no debugging symbols found)…done.
0x0000003b18297155 in waitpid () from /lib64/
#1 0x0000003b1823c289 in do_system () from /lib64/
#2 0x00002aaaaad5344f in TUnixSystem::Exec () from /home/ardashev/root/lib/
#3 0x00002aaaaad59e51 in TUnixSystem::StackTrace () from /home/ardashev/root/lib/
#4 0x00002aaaaad50335 in TUnixSystem::DispatchSignals () from /home/ardashev/root/lib/
#5 0x00002aaaaad5028f in SigHandler () from /home/ardashev/root/lib/
#6 0x00002aaaaad599ed in sighandler () from /home/ardashev/root/lib/
#8 0x00002aaaaacdc53a in TQObject::NumberOfConnections () from /home/ardashev/root/lib/
#9 0x00002aaaaacd8b7c in TQSlotPool::Free () from /home/ardashev/root/lib/
#10 0x00002aaaaacd8a34 in _ZN12TQConnectionD9Ev () from /home/ardashev/root/lib/
#11 0x00002aaaaacd8baf in TQConnection::~TQConnection$delete () from /home/ardashev/root/lib/
#12 0x00002aaaaacdcb5a in _ZN16TQConnectionListD9Ev () from /home/ardashev/root/lib/
#13 0x00002aaaaacdcc43 in TQConnectionList::~TQConnectionList$delete () from /home/ardashev/root/lib/
#14 0x00002aaaaad1b80e in TCollection::GarbageCollect () from /home/ardashev/root/lib/
#15 0x00002aaaaad1ed1a in TList::Delete () from /home/ardashev/root/lib/
#16 0x00002aaaaacdb408 in _ZN8TQObjectD9Ev () from /home/ardashev/root/lib/
#17 0x00002aaaaace162d in TQObject::~TQObject$base () from /home/ardashev/root/lib/
#18 0x00002aaaae81851a in _ZN7TGFrameD9Ev () from /home/ardashev/root/lib/
#19 0x00002aaaae81a795 in TGFrame::~TGFrame$base () from /home/ardashev/root/lib/
#20 0x00002aaaae7dc847 in _ZN8TGButtonD9Ev () from /home/ardashev/root/lib/
#21 0x00002aaaae7de0fd in TGButton::~TGButton$base () from /home/ardashev/root/lib/
#22 0x00002aaaae7dea5c in _ZN15TGPictureButtonD9Ev () from /home/ardashev/root/lib/
#23 0x00002aaaae7deabf in TGPictureButton::~TGPictureButton$delete () from /home/ardashev/root/lib/
#24 0x00002aaaae81a66a in TGCompositeFrame::Cleanup () from /home/ardashev/root/lib/
#25 0x00002aaaae8a1f19 in TGToolBar::Cleanup () from /home/ardashev/root/lib/
#26 0x00002aaaae8af654 in _ZN12TRootBrowserD9Ev () from /home/ardashev/root/lib/
#27 0x00002aaaae8afa3b in TRootBrowser::~TRootBrowser$delete () from /home/ardashev/root/lib/
#28 0x00002aaaae8afa5b in non-virtual thunk to TRootBrowser::~TRootBrowser$delete() () from /home/ardashev/root/lib/
#29 0x00002aaaaacb244b in _ZN8TBrowserD9Ev () from /home/ardashev/root/lib/
#30 0x00002aaaaacb2607 in TBrowser::~TBrowser$delete () from /home/ardashev/root/lib/
#31 0x00002aaaaad1b80e in TCollection::GarbageCollect () from /home/ardashev/root/lib/
#32 0x00002aaaaad1ed1a in TList::Delete () from /home/ardashev/root/lib/
#33 0x00002aaaaace4c5a in _ZN5TROOTD9Ev () from /home/ardashev/root/lib/
#34 0x00002aaaaace499b in TROOT::~TROOT () from /home/ardashev/root/lib/
#35 0x0000003b1823374d in __cxa_finalize () from /lib64/
#36 0x00002aaaaaca8276 in __do_global_dtors_aux () from /home/ardashev/root/lib/
#37 0x0000000000000001 in ?? ()
#38 0x00007fffb73e36d0 in ?? ()
#39 0x00002aaaab1a5371 in _fini () from /home/ardashev/root/lib/
#40 0x0000000000000000 in ?? ()
The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
Detaching from program: /proc/5947/exe, process 5947
Root >


[ardashev@legsux8 macros]$ root -n
root [0] TBrowser* br = new TBrowser;
root [1] delete br;
root [2] .q

Definetely, memory management is not taken care of properly in root. And gcc is just more forgiving.
if one wants to fix it here is attachment text file of warnings. ( gzipped)
icpc_warning.txt.gz (6.23 KB)

The problem that you report with TBrowser hs been fixed in 5.17 several weeks ago.

I looked quickly to your warning file. Most of the messages reported by icc
are not correct.