Ask Your Question

Cannot launch MCU 8051 IDE in Fedora 21

asked 2015-03-01 21:06:49 -0600

sharone gravatar image

hi, I am new to Linux and using Fedora 21 -FEL. When I tried to launch MCU 8051 IDE from the softwares installed, nothing happened. When tried from the treminal as [root@localhost sharone]# mcu8051ide i got the message given, /usr/bin/mcu8051ide: line 2: exec: tclsh8.5: not found. I got the same message when tried as root and the user.

Thanks in advance.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2015-03-07 18:51:53 -0600

Simon_6162 gravatar image

updated 2015-03-08 03:26:16 -0600

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 ( )

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

% package require img::png
% image create photo -file /usr/share/mcu8051ide/icons/other/splash.png
 invalid after png_start_read_image or

So I've followed the advice of comment 3

yum install tcl-tkpng.i686
cp /usr/lib/tcl8.6/tkpng0.9/ /usr/lib/tcl8.6/Img1.4/

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] 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.

# -----------------------------
# 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.


Good look, 8051's rock!

Edit - Raised and

edit flag offensive delete link more


nice work tracking this one down! You should definitely file a bug report with this information.

randomuser gravatar imagerandomuser ( 2015-03-07 23:11:20 -0600 )edit

Thanks, this really helped. What do you use to upload your programs to the 8051 in Fedora?

Rodrigo Valente gravatar imageRodrigo Valente ( 2015-03-16 06:04:28 -0600 )edit

The tkimg package has now been moved to testing, so you can skip all the stuff about making it work with a different back end and just update that from testing.

I use an 8051 that's on a CSR1010 Bluetooth smart module, so that has its own toolchain, which runs under wine. ATMEL used to offer an in circuit serial programming interface for most of its chips, 89c51 anyway, that used to have a Linux application as well, but I haven't touched that in about 10 years. Sorry I can't really help on this one.

Simon_6162 gravatar imageSimon_6162 ( 2015-03-19 04:40:39 -0600 )edit

answered 2015-03-02 11:20:09 -0600

mclmmc gravatar image
yum whatprovides tclsh
edit flag offensive delete link more

Question Tools

1 follower


Asked: 2015-03-01 21:06:49 -0600

Seen: 550 times

Last updated: Mar 08 '15