Installing Wink on 64 bit Ubuntu

Wink is great tutorial building software for Linux and Windows. It used to be available in the Ubuntu repositories but is no longer included. Currently, the Linux variant of Wink is version 1.5 and the Windows variant is version 2.0. Even though they share the same build number, they are not the same.

Unfortunately, running the newer, Windows version under Wine is not an option that I can see because there isn’t a way to capture the input from native Linux windows.

Go to the download page and download the wink15.tar.gz tarball to a temporary directory. This makes cleanup easier, since it is actually a tarbomb, extracting to the current directory.

Unzip the tarball which creates an installer.sh script and an installdata tarball.

> tar xzvf wink15.tar.gz

Now, run the installer script.

> ./installer.sh
This installer only has x86 binaries. Sorry.

Oops. I am running a 64 bit version of Ubuntu and this is a 32 bit binary only. Lets check what is in the installdata.tar.gz tarbomb.

> rm installer.sh
> tar xzvf installdata.tar.gz

This creates an entire directory structure in place including the wink executable. Lets install some basic 32 bit libraries.

> sudo apt-get install ia32-libs

Now lets check whats missing.

> ldd wink
linux-gate.so.1 =>  (0xf779e000)
libgtk-x11-2.0.so.0 => /usr/lib32/libgtk-x11-2.0.so.0 (0xf73bc000)
libgdk-x11-2.0.so.0 => /usr/lib32/libgdk-x11-2.0.so.0 (0xf7327000)
libatk-1.0.so.0 => /usr/lib32/libatk-1.0.so.0 (0xf7309000)
libgdk_pixbuf-2.0.so.0 => /usr/lib32/libgdk_pixbuf-2.0.so.0 (0xf72ef000)
libpangoxft-1.0.so.0 => /usr/lib32/libpangoxft-1.0.so.0 (0xf72e6000)
libpangox-1.0.so.0 => /usr/lib32/libpangox-1.0.so.0 (0xf72d9000)
libpango-1.0.so.0 => /usr/lib32/libpango-1.0.so.0 (0xf7291000)
libgobject-2.0.so.0 => /usr/lib32/libgobject-2.0.so.0 (0xf7252000)
libgmodule-2.0.so.0 => /usr/lib32/libgmodule-2.0.so.0 (0xf724d000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7249000)
libglib-2.0.so.0 => /lib32/libglib-2.0.so.0 (0xf7193000)
libgthread-2.0.so.0 => /usr/lib32/libgthread-2.0.so.0 (0xf718d000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7174000)
libXi.so.6 => /usr/lib32/libXi.so.6 (0xf7168000)
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7158000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7029000)
libm.so.6 => /lib32/libm.so.6 (0xf7003000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xf6f49000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf6f2b000)
libc.so.6 => /lib32/libc.so.6 (0xf6de6000)
libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xf6d67000)
libpangoft2-1.0.so.0 => /usr/lib32/libpangoft2-1.0.so.0 (0xf6d3e000)
libexpat.so.0 => not found
libpangocairo-1.0.so.0 => /usr/lib32/libpangocairo-1.0.so.0 (0xf6d31000)
libXcomposite.so.1 => /usr/lib32/libXcomposite.so.1 (0xf6d2c000)
libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf6d29000)
libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf6d23000)
libcairo.so.2 => /usr/lib32/libcairo.so.2 (0xf6c9c000)
libgio-2.0.so.0 => /usr/lib32/libgio-2.0.so.0 (0xf6c06000)
libfontconfig.so.1 => /usr/lib32/libfontconfig.so.1 (0xf6bd8000)
libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf6bce000)
libXinerama.so.1 => /usr/lib32/libXinerama.so.1 (0xf6bcb000)
libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf6bc2000)
libXcursor.so.1 => /usr/lib32/libXcursor.so.1 (0xf6bb7000)
libXft.so.2 => /usr/lib32/libXft.so.2 (0xf6ba2000)
libz.so.1 => /usr/lib32/libz.so.1 (0xf6b8c000)
libpcre.so.3 => /lib32/libpcre.so.3 (0xf6b5b000)
/lib/ld-linux.so.2 (0xf779f000)
librt.so.1 => /lib32/librt.so.1 (0xf6b52000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf6b4e000)
libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf6b2f000)
libpixman-1.so.0 => /usr/lib32/libpixman-1.so.0 (0xf6ae8000)
libdirectfb-1.2.so.0 => /usr/lib32/libdirectfb-1.2.so.0 (0xf6a6e000)
libfusion-1.2.so.0 => /usr/lib32/libfusion-1.2.so.0 (0xf6a64000)
libdirect-1.2.so.0 => /usr/lib32/libdirect-1.2.so.0 (0xf6a4c000)
libpng12.so.0 => /usr/lib32/libpng12.so.0 (0xf6a23000)
libxcb-render-util.so.0 => /usr/lib32/libxcb-render-util.so.0 (0xf6a1e000)
libxcb-render.so.0 => /usr/lib32/libxcb-render.so.0 (0xf6a15000)
libresolv.so.2 => /lib32/libresolv.so.2 (0xf6a01000)
libselinux.so.1 => /lib32/libselinux.so.1 (0xf69e6000)
libexpat.so.1 => /lib32/libexpat.so.1 (0xf69be000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf69b9000)

The “libexpat.so.0 => not found” line tells us that libexpat.so.0 is missing. What is odd is that the executable also links against libexpat.so.1.

I could try and find a 32 bit version of libexpat.so.0, but it might be worth a try to fake it.

> sudo ln -s /lib32/libexpat.so.1 /lib32/libexpat.so.0
> ./wink

Ha, it runs! Initial tests shows that it captures fine and can save to HTML, PDF and Flash.

Copy the entire directory structure to a its final resting place.

> rm installdata.tar.gz
> mkdir ~/wink
> cp -r * ~/wink
> rm -rf *

Now you can either run it from the wink directory or set up some desktop links to it.

2 comments so far

Add Your Comment
  1. thanks a lot for this…

    However, this does no longer work as libstdc++5 is not in the repos anymore (replaced with libstdc++6).

    Creating a symlink to version 6 did not do the trick as GLIBCPP_3.2 and CXXABI_1.2 were still missing.

    I got it to work though by following this post:

    wget http://security.ubuntu.com/ubuntu/pool/universe/i/ia32-libs/ia32-libs_2.7ubuntu6.1_amd64.deb
    dpkg-deb -x ia32-libs_2.7ubuntu6.1_amd64.deb ia32-libs
    sudo cp ia32-libs/usr/lib32/libstdc++.so.5.0.7 /usr/lib32/
    cd /usr/lib32
    sudo ln -s libstdc++.so.5.0.7 libstdc++.so.5

    I figure others might need the info as well.

  2. In ubuntu 12.10 I found libstdc++5 again ia32-libs is now ia32-libs-multiarch
    unity does not show wink in the systemtray
    But after
    gsettings set com.canonical.Unity.Panel systray-whitelist “[‘all’]”
    from commandline this worked also
    This last is found on
    btw, I used this reciept in a 32bit environment :-)