2.0.0 Final (2009/12/16)

This is the final 2nd edition release of ESbox.

What's New since 2.0.0M6

ESbox-specific Changes

  • Moved update sites to maemoide.nokia.com.
  • Improved default workspace settings
  • Improved virtual machine installation
  • Improved virtual machine setup process. You can now configure a machine, launch it, ensure it works, and then validate it for use in ESbox.
  • Support for automatic mounting of shares from VMs
  • Added support for importing existing projects: use File > New... > Maemo C/C++ Project with the Existing Program template.
  • Added Qt project support
  • Support updating C/C++ indexer configuration after a project is modified through the context menu Project > Index > Add/Reset Paths and Symbols.
  • Better error checking when trying to launch SBRSH over a remote machine where networking setup is unsupported
  • Removed old-style CDI launch configurations by default, making for simpler launch UI. These can be re-enabled under General > Capabilities if wanted.
  • Removed Scratchbox 2 UI by default; enable this under General > Capabilities if wanted.

Common (Mica) Changes

See the Mica 2.0.0 final release notes.

Known Issues

  • In Ubuntu 9.10, Fedora 11, or other platforms using GTK+ 2.18 and/or Mozilla xulrunner 1.19, you must launch ESbox with the script esbox.sh included in the archive. Otherwise, Eclipse will fail to start and/or will have erratic UI. See this post for GTK+ details and this bug for xulrunner information.

    Use the esbox.sh script from a product build to launch in these hosts.

  • When developing Qt applications, the debug and development packages (e.g. libqt4-core-dbg) are only available in the SDK repository (deb http://repository.maemo.org/ fremantle/sdk free). This repository is not intended to be installed on a device. This means if you are debugging into the Qt libraries and want to see sources and symbols, you can only effectively do this under an emulator under Scratchbox.

    If you like risky behavior, you manually add the SDK repository to a device, but this is not a tested or supported configuration. See the original description of the SDK vs. application repository split to understand the rationale and risks.

  • If you want to install a Debian package into Scratchbox using Project > Debian Package > Install Debian Package on Target, and the package invokes UI as part of its installation, this will fail, e.g.:
      Cache file created successfully.
    maemo-invoker: died connecting to the launcher
    dpkg: error processing package (--install):
     subprocess post-installation script returned error exit status 1
    Errors were encountered while processing:


      /var/lib/dpkg/info/package.postinst: line 6: 17546 Broken pipe 
      maemo-select-menu-location package.desktop
    dpkg: error processing package (--install):
     subprocess post-installation script returned error exit status 141
    Errors were encountered while processing:
    You must install such packages manually. We do not currently have support for properly invoking the dpkg command in the context of the Maemo AF. [#4723]
  • ESbox on Linux hosts is only supported fully on Debian or Ubuntu. Some features will currently fail on Fedora: [#4644] [#4645]
  • When using a virtual machine with NAT, it can take a very long time for the Diablo Maemo AF UI to show up. There seems to be some network issue deep inside the SDK which causes a long timeout. You can still launch your program, but it will appear in a bare window until the window manager starts. [#4045]
  • As discovered when fixing [#4237], it may be difficult to build third-party projects on Mac OS X, especially after "make clean", because the version of Samba shipped with OS X 10.5 is lacking a fundamental bugfix that allows deleting softlinks. Convert any build scripts you have to use hardlinks or copying instead of creating softlinks, or manually delete such files from the host side to work around this problem. Or, see the fstest.sh script installed into template projects like Shared Library to see how to work around this. [Upstream reference]

Detailed changes

ESbox 2.0.0-I20091125

  • Removed default support for Scratchbox 2. This support was not maintained or tested. If you want to use it anyway, see the General > Capabilities preferences. [#4805] [#4789]
  • Fixed MacOS X host issue where preferences were hard to deal with because their contents would be scrolled to the far right by default. [#4699]
  • Fixed: Python project fails to build debian package (diablo) [#4826]
  • Fixed: The host address selection for a VM may choose a USB connection [#4827]
  • Fixed: C++ Hello World Example does not handle menu button [#4824][
  • Fixed: Maemo SDK VM installer: Can not launch build machine, if apply pressed before ok button, ESbox "launching virtual machine..." dialog comes up behind other windows and cannot be used [#4816][ [#4794][
  • Fixed: Unnecessary SSH2 Message is displayed while running Maemo SDK Virtual Image Installer [#4809][
  • Fixed: SSH connection with default NAT settings does not work with VMware Player (more specifically, we tell you how to configure in this case) [#4808][
  • Fixed: VirtualBox VMs are not detected automatically after changing VirtualBox Executable field [#4807][
  • Fixed: VMware Product type selection is wrong with VMware Player [#4806][
  • Fixed: "Select Build Machine" info is misleading while running Maemo SDK Virtual Image Installer [#4804][
  • Fixed: The Maemo SDK VM installer does not configure the correct image [#4801][
  • Fixed: When using a VM, remote debugging needs to warn when not using WLAN [#4712][
  • Fixed: Esbox installation instructions, no python installation mentioned [#4705][
  • Fixed: In Maemo SDK VM installer, avoid launching or acquiring virtual machine until it is configured [#4651][
  • Fixed again: Change some default settings (was missing timeout option for Pydev) [#4434]

ESbox 2.0.0-I20091111

  • Provided an important workaround for recent Linux distribution changes that cause problems with Eclipse. Newer GTK builds (2.18+) and Mozilla xulrunner (1.19) are incompatible with Eclipse 3.4.2. New product builds provide a esbox.sh script which you can use to set up environment variables and VM argument settings to work around these issues. #4689
  • Renamed launch configurations and shortcuts. The "DSF" launches are now the default, because they are faster, especially in remote debugging. The non-suffixed launches were renamed "CDI", and are hidden by default.

    You can re-enable the CDI launches with the General > Capabilities preferences.

  • Added "Existing ... Program" templates to New Project wizards so you can easily create projects from existing code on your system. Such projects need to be copied into Scratchbox before using this wizard.
  • Fixed oversight not allowing adding Diablo support to a Fremantle Scratchbox installation. #4775
  • Fixed: Fail to launch gtkhello project (Linux) when X11 not started #4741
  • Fixed: Maemo SDK VM Installer: Exception when fetching scripts from Download page #4740
  • Fixed: Prevent debian package creation until structure is created #4732
  • Fixed automatic project to Debian package name conversion when creating projects #4729
  • Fixed: Handle changing host address better. This is useful in virtual machine situations: ESbox will validate that the Host Address field in the Build Machines preference page is valid. You can also specify a hostname here, and ESbox will act a lot better when your host IP changes often. #4710
  • Fixed: Import Project from Debian Repository fails. #4708
  • Fixed (again): If changing target, building of few projects fails on Mac OS X #4237
  • Fixed: In Maemo SDK VM installer, avoid launching or acquiring virtual machine until it is configured #4651
  • Fixed: docs: issues with shared folder setup #4665
  • Fixed: some more ESbox VM UI tweaks #4666

ESbox 2.0.0-I20091022

  • Split help into a common Mica portion and an ESbox portion. There should be no outright visible changes.
  • Fixed: C/C++ programs cannot be terminated [#4696]
  • Fixed: Maemo VM installer: NPE if use previous download is selected before server information is loaded [#4669]
  • Fixed: docs: issues with shared folder setup, Document: How to set up shares to configure for C/C++ Indexing in Mac OS.

    Note: there is a known issue that you may need to set "encrypt passwords = true" on Mac OS X 10.6 (Snow Leopard).

    [#4665], [#4524]
  • Known issue: Starting Maemo Application Framework takes a long time [#4045]
  • Known issue: ESbox expects a host Linux system to be Debian-based. For other hosts, some features will not work (like installing software to the host, which assumes 'apt'). Use a virtual machine if necessary. Issues with Fedora: [#4636] , [#4644] , [#4645] .
See Mica notes here.

ESbox 2.0.0-I20091007

  • Changed some default workspace settings [#4434]:
    • Turn off Project > Build Automatically (because this is a huge waste of time in C/C++)
    • Turn on Run/Debug > Launching > Save required dirty editors before Build (because you nearly always have to edit multiple files in C/C++ and it's easy to forget to save all; in any case, this seems obvious)
    • Turn on Run/Debug > Launching > Always launch the previously launched application (because we offer so many launch config types, that hitting run/debug from an editor often does not find the existing launch config and makes you reselect it)
    • Change the Pydev > Debug > Connect timeout setting to 60000 ms because SBRSH easily takes more than 20 seconds to connect.
  • Fixed: Multiple instances of VMware are started every time ESbox wants to do something with the VM [#4631] [#4595]
  • Added a "Launch" button to the ESbox > Build Machines page to test launching a machine before attempting to validate it.
  • Added support to mount shared Samba/CIFS folders from Windows and OS X [#4638] [#4200]
  • Added support to add shared folder entries from the host or the VM
  • Fixed: Funny download progress in multipart VM image [#4587]
See Mica changes here.

ESbox 2.0.0-I20090923

  • Added Qt build support, plus template projects for C/C++ and Python (PyQt4 and PySide) to the product. You can install packages for these during the project wizard or using Validate Installed Packages.

    Currently you may only have one *.pro file in the root of your project, and this will be converted to a Makefile using qmake. There is no way to configure this. (If you want full control and want to avoid letting Mica recreate the Makefile, turn off the "Mica QMake Project Builder" from Project > Properties > Builders and run qmake yourself.)

    Note: Python support for Qt is quite unstable in both Diablo and Fremantle due to shifting APIs and other vagaries. I couldn't find any less-than-dead-simple test programs that successfully launched for both frameworks. You're on your own :)

  • Fixed: Usability problems with first configuring a new virtual machine [#4009]

    The process of setting up a virtual machine, as well as launching it and diagnosing problems, should be much improved.

    ESbox no longer silently launches a VM, or worse, kills a VM when it is not configured properly. It will always ask whether to launch, and indicates whether it thinks the problem is that the VM engine is not running or that the network settings might be incorrect. This solves frustrating problems where ESbox keeps launching a machine you don't want (and also helped diagnose a bug where a machine would still be launched with old settings when you were changing machine settings).

    Also, fixed an issue in not properly detecting whether VMware was running on Mac OS X.

    When launching a machine, a progress dialog is always displayed rather than waiting for a minute, and the "look here" help is collapsed as well to avoid giving the impression that there is an error.

    Also, in the "Build Machines" UI, the "Apply and Validate" button is now "Validate", so you can test changes to an unsaved machine without triggering side effects in the rest of the IDE.

  • Fixed: Hover help local- local/remote update fails [#4510]
  • Fixed: Building debian package for template projects does not work on MacOS [#3955]

    More specifically, you couldn't create the Debian structure in the Shared Library template because the original fix for this bug introduced softlinks that pointed to themselves.

  • Fixed: Python Project: Fails to build debian package [#3358]

    This was fixed in Mica by adding extensions for Python-specific support; see more details there.

  • Fixed: Maemo 5 template projects, enhancement for "debianization" [#4561]
  • Fixed: VirtualBox config: offer to set up port forwarding for NAT [#4490]
  • Fixed: Cygwin X failed to restart [#4535]

See Mica changes here.