I just encountered this as well, where do I begin telling you about the great journey that it took me to get this running.
The issue is that the version of mcu8051ide fedora 21 is shipping is hardcoded to want tclsh8.5 and that's not on fedora 21 we have tclsh8.6. The good news is the developer has fixed this already and provides an rpm.
Remove your current version
yum remove mcu8051ide
Go get mcu8051ide-1.4-11.noarch.rpm from the developers site ( http://www.moravia-microsystems.com/download/mcu8051ide/mcu8051ide/1.4.10/ )
install this (but it has an odd conflict I ignored)
rpm -Uhv --force mcu8051ide-1.4-11.noarch.rpm
Now this will work with tclsh on F21, the next issue is that there is a bug in tkimg in how it opens png files (I'll raise it on bugzilla at some point).
The bug can be seen by trying the following
tclsh
% package require img::png
1.4
% image create photo -file /usr/share/mcu8051ide/icons/other/splash.png
invalid after png_start_read_image or
png_read_update_info
So I've followed the advice of https://bugs.mageia.org/show_bug.cgi?id=12596 comment 3
yum install tcl-tkpng.i686
cp /usr/lib/tcl8.6/tkpng0.9/libtkpng0.9.so /usr/lib/tcl8.6/Img1.4/libtkpng0.9.so
now edit /usr/lib/tcl8.6/Img1.4/pkgIndex.tcl and add the lines as suggested to the top.
package ifneeded tkpng 0.9
[list load [file join $dir libtkpng0.9.so] tkpng]
Finally we need to hack mcu8051ide to use the alternative png library
edit the file /usr/share/mcu8051ide/lib/main.tcl
look for the line with set LIBRARIES_TO_LOAD { and remove the call to img::png
Next look for the pre_initilization and change it to the code below.
# PRE-INITIALIZATION
# -----------------------------
# Load Tk ToolKit
set T [lindex [time {
if {[catch {package require tkpng 0.9} e]} {
libraryLoadFailed "tkpng"
}
if {[catch {package require Tk $::MIN_TCL_VER} errinfo]} {
puts stderr "Unable to initialize Tk\n$errinfo"
}
}] 0]
It should now work. One more issue is the rpm version number of mcu8051ide is older than the one in yum repos so you need to exclude mcu8051ide from being updated in /etc/yum/conf or all your hard work will be undone.
exclude=mcu8051ide*
Good look,
8051's rock!
Edit - Raised
https://bugzilla.redhat.com/show_bug.cgi?id=1199776
and
https://bugzilla.redhat.com/show_bug.cgi?id=1199777