Jeff Duntemann's Contrapositive Diary Rotating Header Image

Insight Is Gone From Ubuntu…

…and in fact from everything else based on Debian. Not six months after I saw Assembly Language Step By Step, Third Edition hit the shelves, the Debian team decided to pull the Insight debugger package from their seminal Linux distribution, on which Ubuntu, Kubuntu, Mint, and several others are based. Come Ubuntu 10.04 Lucid Lynx at the end of this past April, and suddenly people reading my book can’t work through the examples, because the software that I used in those examples (for single-stepping and examining registers and memory) is no longer available for their version of the OS.

This isn’t new news, and I’ve been trying to figure out how to finesse the problem ever since I heard about it mid-May. I got a number of queries this past week, suggesting that I had better get on it. (This is why you haven’t seen much from me in recent days.) Assuming at first that Insight had been dropped just to keep the distro CD-size, I tried to install it under Lucid from Software Center (not found), next a deb package, and finally from source, but nothing worked quite right. As the months have passed and more and more people are installing Lucid, I’m getting more and more mail about this. It’s a serious problem: A lot of the skill of assembly programming lies in debugging at the instruction level, and much of the tutorial depends on being able to run a debugger. Insight was that debugger. It’s GUI-based, rather than purely textual, and I think it’s a great deal easier to grasp, especially for newcomers.

So why didn’t I just use gdb?

Um…I did. Or at least I thought I did. Insight is an odd case. Most people assume (as I did) that it works the same way that Nemiver, KDbg, and DDD work, as independent front ends for gdb, passing textual commands to gdb and getting textual data back for display. Not so: Insight is gdb, and therein lies (in my opinion) most of the problem. What Insight’s originators did was take the gdb source code and add a built-in GUI, using Tcl/Tk. In effect, they forked gdb and produced a new custom version that contains all of gdb (at least gdb as of 2007) plus a windowing visual wrapper.

That in itself is unorthodox but not necessarily damaging, though forking something as fundamental as gdb should not be done lightly. Still, if you do it, you have to do it well, and I’m seeing indications that Insight isn’t nearly as clean a product as it should be. The Debian team spoke tersely; see the bug report and resolution here: “RoQA; insane packaging; unmaintained; low popcon.” (Yes, I read “popcorn” at first too.) More details may be found here. (Warning! DDG: Deep Debian Geekery.)

Quick translation:

  • RoQA means “Request of Quality Assurance”; basically, Debian’s QA team decided that the package was too broken to keep in the Debian distribution and requested that it be removed.
  • Two release candidate (RC) bugs were reported by the Debian team to Insight’s maintainer, but no one there responded. This is odd, because the maintainer is none other than Red Hat.
  • An NMU is a non-maintainer upload, which is when a package is sent to the distro team by someone other than the package maintainer of record. It is often a sign that the maintainer has abandoned the package, especially if the maintainer never acknowledges the third-party fix.
  • “Low popcon” is a reference to Debian’s unique “popularity contest” system for gaging how much individual distro packages are being used. Insight got 36 votes, which, in browsing the rest of the stats, seems low but not fatally low.

The real problem is that “insane packaging” issue. Insight contains embedded copies of software that is maintained by others and would be better linked in as libraries. The embedded bits “age” with respect to the current release of the OS and its libraries, eventually getting out of sync to the point that the package will not understand the current system well enough to function correctly. Tcl and Tk are either part of or easily installable to any Linux distro there is; you do not have to cut’n’paste them into your program source. With old software copied into its sources the package may build correctly, but might not necessarily run.

That said, the right way to approach the problem may be no more complex than taking the most recent release of Insight and making a proper Debian package out of it. The version I used last year in Karmic Koala goes back to 2007, and that’s the version pulled from Debian. The July 2009 release may be better. I’ve read enough on building Debian packages to know that I’m not the guy to do it, but I hope that somebody with better Debian chops will eventually try it, so that we can tell if Insight was just wounded, or if it’s really and quite sincerely dead.

In the meantime, the best fix appears to be falling back to Ubuntu 9.10. More here as I learn it.


  1. Bruce C. Baker says:

    This is exactly the sort of behavior that has kept me from even experimenting with Linux!

    Windows and MS’s langue du jour: Boring, predictable, dependable.

    (Let the flame wars begin! 😀 )

  2. Insight may be a worst-case scenario, and just my bad luck to base a whole chapter on it. Most Linux software is pretty boring and predictable, and the OS as a whole has been astonishingly reliable.

    My Windows-based copy of Thunderbird 3 has been doing weird things ever since I installed it, and XP Tablet Edition was horrendous. There’s plenty of this stuff to go around!

  3. Ian Simmons says:

    @ Bruce C. Baker:

    OK, I’ll bite.

    Seriously? You go to the trouble of reading a blog post about a Linux distro removing a package from its repository, causing a problem for people reading a book about learning assembly on Linux and then tell us how much better Windows is, and that you haven’t even experimented with Linux? Seems a bit of a waste of time. I mean, it’s not like us Linux users go on about how much better it is than Windows. 🙂

    @ Jeff Duntemann:

    Great book. I’ve only got to chapter 4, the different memory models, but I like your style. I’m learning a lot. Fascinating stuff.

  4. joeryan says:

    I was wondering if their was a resolution to this issue as I’m picking up my copy of the book tonight from the bookstore.

    I tried building the insight from source but get errors. I have not had any luck getting those issues resolved to compile it. As others with the issue I’m running Ubuntu Lucid. The version I compiled was the development version thinking maybe there was a fix in the latest source code.

    What is the difference that allows Fedora to install the package with I assume no trouble.

    Thanks for any input
    Joe Ryan

    1. Not yet, though we’re hoping somebody can figure it out. I don’t know the Insight codebase well enough to do anything with it, and people who have had experience with debuggers think it’s weirdly structured. So stay tuned, and if a solid solution turns up I’ll write about it in detail.

      Why Fedora can do it is still a mystery.

  5. Tiriel says:

    Hi, I was fooling with my box today and I found a workaround for this problem.

    This is basically falling back to Karmic Koala but without the need to downgrade your system or reinstall.

    Basically, you have to add the repository of Karmic, where insight still exists, this is done by adding the following line to your sources.list

    deb karmic universe

    This line will give us access also to the older version of tcl/tk that insight needs, now we need to downgrade tcl/tk back to version 3.2 (lucid sports version 3.4), so we issue this command:

    sudo apt-get install itcl3=3.2.1-5 itk3=3.2.1-5

    What this does is tell apt to choose the older version from the two that it now has available, now

    sudo apt-get install insight

    should get you all up and running.


    1. piecemeal says:

      This didn’t work for me. I added the repository to sources.list but the past version of tcl/tk still isn’t found. If I try to install insight it just says the candidate isn’t found. Which makes me hesitant to roll back to 9.10 as a second effort, since if it isn’t in the 9.10 repository now, how is putting my box back to Karmic going to fix that? Guess I’ll try to hang in there with another debugger.

      1. I guess what I meant was find an ISO for Ubuntu 9.10 and install from the ISO. Back then Insight was installed right along with everything else and was in the ISO; I didn’t have to go up to a repository and pull it down.

        What a lot of people are doing now is using gdbtui, which is a curses text UI for gdb, and while not as slick as the Tcl/Tk GUI, it’s certainly better than endlessly scrolling up in a terminal. You launch it as gdb -tui. Give it a shot.

      2. Tiriel says:

        sudo apt-get install itcl3/karmic itk3/karmic

        This whould install version 3.2.1 of both libraries, tried this just today and it works.

    2. Tiriel says:

      Hi again to all!

      I was fooling with insight today on my new distro, I installed as I said above with no problems, but it turns out nasm has to also be the version that was released with Karmic Koala, or else insight will not stop at breakpoints.

      That being said, you migth want to add to your sources.list

      deb karmic main

      and install the proper version of nasm

      sudo apt-get install nasm/karmic

      Hope this helps, cheers!

  6. Phate says:


    Thanks Tiriel for sharing this.

  7. Justin says:

    I’ve been using gdbtui, which includes all the functionality as insight but on the terminal using curses: “layout asm” gives you the code and “layout regs” gives you the registers. Oh, and “stepi” steps by machine instruction.

  8. ray says:

    Although I’ve not tried this, you may want to take a look at the following post:

    good luck.

  9. Bryson says:

    The best fix is to download the source and fix the problems.. they tend not to be that difficult..
    because “insight” is not bad as a debug environment ..

  10. sudo apt-add-repository “deb karmic main universe”
    sudo apt-get update
    sudo apt-get install nasm/karmic
    sudo apt-get install itcl3/karmic itk3/karmic
    sudo apt-get install insight
    insight &

  11. Ubuntu 10.04 LTS.
    Note, ‘apt-add-repository’ here is
    a single line with quoted repository;
    (looks like WordPress clipped the line).
    Choose your own mirror if desired.

  12. shariq says:

    I had success installing insight in ubuntu 10.10 by just the debian package on this site “” but make sure to install all the depdendencies and their dependencies too… it is tidious task and still the version is also 6.1 but believe me it wont trouble you as much as compiling the source of insight 6.8 does(i tried that..), and most of things works in this version.

  13. shariq says:

    hey finally i found the way to compile and install insight from source too hurray……. sry for postin bad solutions gys when good ones are already posted above rays solution really works.. thats is to got this adress “”

  14. linux says:

    it seems that link provided by shariq for compiling is dead now but here is the procedure from the catched version of that page.

    1. wget
    2. sudo apt-get install libx11-dev
    3. sudo apt-get install libncurses5-dev
    4. tar -xjvf insight-6.8-1.tar.bz2
    5. cd insight-6.8-1/
    6. ./configure –disable-werror
    7. make
    8. sudo make install

    1. Rahul Chaudhary says:

      Worked for me. I installed insight in my ubuntu 10.10 machine and its working very smoothly.

      Guys having problem installing insight….plz try this.

  15. Rtw says:

    Don´t know nothing about the rest of this thing, but I get my insight work fine for these lines in 10.04 LTS:

    sudo apt-add-repository “deb karmic main universe”
    sudo apt-get update
    sudo apt-get install nasm/karmic
    sudo apt-get install itcl3/karmic itk3/karmic
    sudo apt-get install insight
    insight &

    And Kate is still compiling my ASM sources as well, nothing has changed and I am able to continue my studs.

    Is there anything I need to know, I mean am I able to continue my book from now on?


  16. Bob D. says:

    I used the input from RTW above on 10.04 and 11.04
    and all went well. Thanks a ton guys for the info.
    I hope i will like nasm as well as i liked tasm and its
    debugger back in 92 on dos.

    Bob D.

  17. Mirc says:

    When i try to install insight using the above commands it says:
    Package insight is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:

    E: Package ‘insight’ has no installation candidate

    The other packages were Ok.
    Ideeas ?

  18. Gus says:

    I also just want to confirm that using RTW’s steps on my ubuntu 11.04 did work.
    I had been trying different suggestions with no luck so far, so thanks a lot!

  19. Don says:

    Well, I have tried using linux and Rtw’s steps above and noting. I get “Err karmic/main Packages ” and E: Release ‘karmic’ for ‘itcl3’ was not found”. So, I will make due with Kdbg.

  20. Jey says:

    This method was provided by linux. It works fine with Ubuntu 11.10

    Note the name of the file in step 1, it changed to

    1. wget

    2. sudo apt-get install libx11-dev
    3. sudo apt-get install libncurses5-dev
    4. tar -xjvf insight-6.8-1a.tar.bz2
    5. cd insight-6.8-1/
    6. ./configure –disable-werror
    7. make
    8. sudo make install

    1. A.B. says:

      Thank you Jey , I confirm that insight debugger is working fine in linux mint 12 , using the above procedure .

      that is download version 6.8-1 and make it (compile) with the option of ignoring warnings , then make install

      1. R.V. says:

        Thank you Jey …. its working fine..

    2. MatthewK says:

      Confirmed working on Debian Squeeze, thanks.

    3. k says:

      Success! Thank you

      OS: Linux version 3.2.0-23-generic (buildd@palmer) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu4) )

      1. k says:

        The type of distribution is linux mint maya 13

        1. Wow. By sheerest coincidence I just put Mint Maya up on a lab machine. This I gotta try…

    4. atul says:

      Fantastic!!!!, it works on Ubuntu 10.04 ..and frankly had my fingers crossed following all what is mentioned above

      A big thanks to Jey

  21. Kaitain says:

    It gets worse, because the ‘external tools’ plugin for Kate has now been removed. So even if you get Insight working, the Kate tool, which forms the backbone of the development done in the book, is crippled.

    It’s a shame, because Jeff’s book is really good, but it’s very difficult to use it now. I guess this is one of the major drawbacks with Linux: there are no guarantees that something that works when you write a book will still be accessible to readers even a short time later. Very frustrating.

  22. William says:

    There’s a PPA available for this. Makes installing Insight on Ubuntu 12.04 easy.

  23. Joe Wolf says:

    Insight is not maintained for more than three years now, and there are no signs that the situation would get better. I guess, it’s time to look for an alternative.

  24. atul says:

    Another obervation is to use -F dwarf rather then stab as debug format , I could not debug in source files using stab

  25. Digi says:

    Glad to see that this thread is still around. I bought the book about 3 years ago, got part way through it but had problems with KDBG on my (then current) Linux system. I’m revisiting the book now with Mint 13 64-bit and encountered the same problems as others here.

    I solved my problem via this tip as well.
    Thanks to atul’s observation, I also had to use -F dwarf instead of -F stabs to see the source during debugging. Now everything is working like Jeff’s (awesome!) book says it should.

    1. Digi says:

      The link above should have been Hopefully I got it right this time…

  26. Mihai says:

    I am an Arch Linux user. My machine is:
    uname -a
    Linux mobile 3.5.6-1-ARCH #1 SMP PREEMPT Sun Oct 7 19:33:50 CEST 2012 i686 GNU/Linux

    I got insight compiled with:

    cd ~/Downloads
    mkdir insight-6.8 #last time it was 6.8-1
    cd insight-6.8
    cvs -z9 -d co insight
    cd src
    ./configure –prefix=$HOME/local/insight-6.8 –disable-werror
    make install

  27. Ayright says:

    Backtrack 5r2

    deb revolution main microverse non-free testing
    deb revolution main microverse non-free testing
    deb lucid main universe
    deb-src lucid main universe #Added by software-properties
    # deb revolution main microverse non-free testing
    deb lucid main
    deb revolution main microverse non-free testing
    deb natty main
    deb-src natty main
    deb hardy main
    deb-src hardy main

    apt-get install insight – worked
    apt-get install kate – worked
    apt-get install kate-plugins – worked

    w00w00 I’m up, running, current and can do 32 or 64 bit. This rocks!

  28. Pratik says:

    Installing insight inside ubu12.04 ,
    I need help regarding external tools plugin in kate its no longer supported how do we solve this issue

  29. Haritha says:

    Original fix:

    This guy’s system works fine. But the problems will come after the installation……

    …..which is If you reassemble/compile the source code again,insight will have a hard time running it. you can debug old executables(found in the book’s web site) without any problem with Insight. Edit it and reassemble it, BAM! The best option is to install an older version of Ubuntu and work with it as shown below.

    I solved the issue like this.

    1.Download the Linux 9.10.

    2.Then install it.

    Insight doesn’t come pre-installed now, even with 9.10. So you have to manually install this.

    but you will not be able to access any software installation locations online without a fix which is shown by step 3.

    3.How to install insight on 9.10.

    first you have to open “sources.list” located at “/etc/apt/sources.list”, as Root.

    Then change all the “us.ubuntu.archive/ubuntu……………………..” to

    replace anything with to

    so you can get the old archives.

    3.1 go to Terminal and type “sudo apt-get update”

    3.2 then “sudo apt-get install insight”.
    Press “y” if it asks to install unverified packages. Finished!

    4.Run insight.

    1. Haritha says:

      make sure you have checked “allow execution” for the executable from its properties and you have full read/write access. Also make sure to put a break point in the correct location of the source code or it won’t run step by step.

  30. Squills says:

    Why not just use ddd? I’ve been using it for the examples in Chapter 7 and it seems fine.

  31. Ioan says:

    I don’t know if someone is still following this but I’m reading now “Assembly Language Step By Step, Third Edition” and I’m fascinated. Well, I’m writing for those who want to install insight on Ubuntu version 12.

    just follow bellow link in order to install insight.

    1. Chris says:

      Thanks loan! I’m just now reading the book and ran into this issue. Thanks for the link!

  32. harold says:

    An update. I successfully installed insight 6.7.1 on Ubuntu 14.04 using the .bz/configure/make method Jey suggested. I note that 6.8.1 did not install using the same commands. See link below from insight author regarding 6.8.1.

  33. Brennan says:

    I’m running Mint Linux 17.2 Cinnamon (64 bit).
    Great book! I started reading it after finishing Charles Petzold’s “Code” – an even deeper dive into the silicon. Anyways, got the to chapter about the Insight debugger and was disappointed to find that the package is no longer maintained. I tried Jey’s method first, configuring and making from source (both 6.7.1 and 6.8.1) – neither worked. I would get the error “Tk_Init failed: Can’t find a usable tk.tcl in the following directories:”. Scratched my head for a while and eventually followed the instructions on baptiste-wicht’s blog as William suggested. Worked that time! On with the book…

    1. Brennan says:

      My apologies for the poor formatting.
      1. As per this Linux Mint forum post install the following KDE libraries:
      apt install kdelibs-bin kdelibs5-data kdelibs5-plugins
      2. To enable the pretty icons and make the interface more usable, install the oxygen-icon-theme from the Software Manager.
      3. In Kate, you may have to manually enable some of the plugins. Go to Settings -> Configure Kate -> Plugins and enable terminal tool view, File system browser, and any others you might want.
      4. At first, clicking the Terminal button just opened a grey empty background. I had to install the KDE konsole app to get it working. sudo apt-get install konsole
      Hope that helps.

  34. Darren says:

    Hi all,

    I too am learning Assembly through Jeff’s book. Concerning the absence of Insight, and any other tools that may not work perfectly on anyone’s preferred Linux distro, I highly recommend the approach Jeff recommended on his other website, There, he suggested installing VirtualBox, and creating an Ubuntu 9.10 (32-bit) virtual machine. This is what I have done.

    Oddly enough, Insight was not present on my virtual machine by default as I expected, however, once you make the necessary changes to your /etc/apt/sources.list file as explained on this Ubuntu forum:, you’ll be able to “sudo apt-get install” your way to all the tools mentioned in the Assembly Language book.

    An added benefit of this approach is that all command line commands should work as printed in the book. (When working from my 64-bit Linux Mint machine, I did have to change an ld command slightly from Chapter 5 to get it to work properly, but did not have to when I fired up my 32-bit Ubuntu 9.10 VM.)

    I hope this suggestion helps those who may have become discouraged by the Insight problem. This is the nature of software development, however. The most valuable skill to learn is how to solve a problem when it impedes your progress. There are certainly numerous ways to proceed with Jeff’s book without Insight, but I’ve found the VM route to offer a solution that will hopefully allow me to progress with minimum future unexpected distractions so I can focus on simply on learning from Jeff’s awesome book!

  35. Hi,
    there is build of insight from Patrick Monnerat, at , I made a successful setup both on Ubuntu 15.10 and 16.04 LTS released yesterday, recording all steps and dependencies, I am making some check, because I made a 64 bit Ubuntu and I see some different behavior probably related to the 64 bit architecture.
    So as I am sure of the right build options, I will publish the setup guide.

    1. Excellent! Please post a new comment here with a link to your setup guide. Many thanks for grinding through it; Insight is nothing if not bizarre.

  36. This is the setup guide, the blog is just starting so is quite to be configured, but I preferred to make this available as soon as possible than waiting for a better appearance.

    1. That looks really good. Thanks for writing all that out; I’ll also link to it from my main blog. Good luck and again, thanks!

      1. Thanks.
        The Monnerat version I used to get insight working is, as can be checked on the fedora website, the version used in that distribution to make a native package.
        So it confirms the valid starting point, what could be interesting, could be to try to make a deb packages, based on the dependencies I found and put it on launchpad. This is also a commond practice for many tools, my direct experience in with Wireshark network analyzer.
        Currently Ubuntu 16.04 LTS includes the lates 2.0.2 qt version, but for up 15.10, where was not updated regularly, as it will happens later for this Ubuntu, there are builds for 2.0.x where the repositories include onlly that latest 1.x

        So the job would be really finished.

    2. Frederik Likaj says:

      Dear Fabio,

      I just followed your guide on installing insight on my ubuntu 16.04 (working with Jeff’s very interesting book on learning assembler) and cannot get further then her

      ~/insight$ autoconf
      -bash: /root/insight$:

      Not such file of file map.
      But i do not know where is the
      home of the cloned repository to get on with…
      Please help is needed.
      Thank you.

  37. Sean says:

    I followed Fabio’s guide (big thanks for that) and it seems to work except that insight will not display the source code, just the ASM steps or whatever they are. I believe this is because I have had to add the -m elf_i386 command to the linking step in order to get the linker to work on a 64bit system. Does anyone have a solution for this? For example if I copy the basic sandbox program from the book, compile and link it and open it in insight all I see is:

    0x8048060 : nop
    0x8048061 : nop

    pressing the source button does nothing.


  38. Jin says:

    I decided to get an old 32 bit computer for this book instead, and got myself a Pentium 4 32 bit computer. This computer is probably 14 years old so its specs are really limited (mine has about 2G RAM and 80G hard drive storage, and USB drives don’t appear to work since I had to reset the CMOS on the motherboard, so I’m limited to using DVD drive as my main boot for installing OS). However, when I tried to get an ISO image burned on a dvd disk and to install Ubuntu 8.10 (of which release Jeff uses in this book) on this PC, an error occurred with a message “boot loader: /casper/vmlinuz” then stops going any further into installation. I searched online for answers, apparently some people are saying that the “vmlinuz” file inside casper directory in the ISO image file needs to have an “.efi” extension. I renamed the file as “vmlinuz.efi” using tool WinISO and tried again, still same error message.. then I went to check all the releases of Ubuntu for 32 bit desktop PC, and it appears all of the “vmlinuz” file inside “casper” folder do not have .efi extension; but all the 64 bit releases do. – Does that mean none of the 32 bit Ubuntu releases work?
    Do you have any idea what might be going on here?

    1. This is news to me; maybe one of the other readers of this thread will know. I’ve never seen that error message before. The fact that USB doesn’t work is troubling, and suggests that the old machine may have other, deeper problems. I haven’t tried to make Insight work on 64-bit hardware yet. When I wrote the most recent edition in 2009 I still had a 32-bit box. Are you sure it’s a 32-bit CPU? That’s old for 64-bit but weirder things have happened.

      Let us know here if you figure it out!

  39. Jin says:

    Thanks, Jeff! I think something was corrupted with the motherboard, because originally i thought the problem came from hard drive but after waiting for 3 days for my new hard drive to arrive, the problem persisted. ive given up on this 32bit computer, and going back to my 64bit intel core 2 duo instead. although a few tweaks here and there are needed to get all the required tools (such as Kate, Insight etc) to work, but at least it works. Nevertheless, I still think your style of teaching asm in 32bit is great. I know some people think you should keep up to date with the tools utilized; but computer technology evolve fast and furious. every front end will be deemed outdated 10 or 20 years from now. people should pay attention to the underlying theory, the fundamental principles behind computer architecture, and thats the gist of learning assembly language.
    I wish i was more experienced with computers, (this is pretty much my first course in CS) and if given a choice, i would stick with my 32bit.
    on another note, i enjoy reading your first few chapters on computer fundamentals a lot. I wish I knew as much as you did about computer architecture etc.
    Would you recommend some other readings (besides the ones you mentioned in the book) to read to learn computer fundamentals after I finish this book? Many thanks again!

  40. Brian Tkatch says:

    Three cheers for Fabio!

    1. Thanks,
      I am happy when I can be of help to other colleagues.


Leave a Reply

Your email address will not be published. Required fields are marked *