To run MetaEdit+ on 64-bit openSUSE, you'll need to install some extra 32-bit libraries:
mailto:metacase@linux-ihvq:~/metaedit" rel="nofollow - sudo zypper install libX11-6-32bit libXft2-32bit libCairo2-32bit java-1_7_0-openjdk-devel |
Cairo is optional and gives better graphics; Java is optional and lets you try out the Digital Watch example. So how did I find these out? That's hopefully useful information also for other distributions, so I'll try and show you. After following the MetaEdit+ installation instructions, starting metaedit did nothing, silently. Looking at the metaedit shell script, I ran the startup command by hand, removing the >/dev/null to get more info, and saw the initial problem:
mailto:metacase@linux-ihvq:~/metaedit" rel="nofollow - ~/metaedit > /usr/local/mep50eval/visual /usr/local/mep50eval/mep50eval.im & [1] 12421 /usr/local/mep50eval/visual: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory |
A missing X11 library. OpenSUSE 64-bit claims to install 32-bit libraries, but this one obviously isn't included. Where one 32-bit library is missing, there may be others, so let's use ldd to see what's needed by the visual executable of MetaEdit+: [Edit: previously we used `whereis visual` to find it from the path, but that seems unreliable: type the explicit path to visual in the MetaEdit+ binary directory]
mailto:metacase@linux-ihvq:~/metaedit" rel="nofollow - > ldd /usr/local/mep50eval/visual linux-gate.so.1 (0xf777e000) kernel libX11.so.6 => not found libX11-6-32bit libpthread.so.0 => /lib/libpthread.so.0 (0xf7746000) glibc-32bit librt.so.1 => /lib/librt.so.1 (0xf773d000) glibc-32bit libdl.so.2 => /lib/libdl.so.2 (0xf7738000) glibc-32bit libm.so.6 => /lib/libm.so.6 (0xf770b000) glibc-32bit libz.so.1 => /lib/libz.so.1 (0xf76f4000) zlib-32bit libc.so.6 => /lib/libc.so.6 (0xf754e000) glibc-32bit /lib/ld-linux.so.2 (0xf777f000) glibc-32bit |
I've added and coloured the package names containing those libraries for openSUSE (found from http://rpmfind.net/linux/rpm2html/search.php?query=&submit=Search+...&system=opensuse&arch=" rel="nofollow - rpmfind.net ). As it happens, glibc-32bit and zlib-32bit are indeed already installed, so we just need X11:
mailto:metacase@linux-ihvq:~/metaedit" rel="nofollow - sudo zypper install libX11-6-32bit | mailto:metacase@linux-ihvq:~/metaedit" rel="nofollow - Now metaedit starts but hangs, writing to meplus0.err repeatedly. I did "ps" to find the process id then "kill -KILL pid". Looking at meplus0.err shows an error loading a library while looking for fonts (LibXft, i.e. libXft.so.2). That Xft library didn't show up before because it isn't referenced by visual, but is loaded dynamically. The intention was that MetaEdit+ would be able to cope without Xft by adding "noxft" on its command line. However, things have apparently changed, so that fonts are now required before we get as far as processing the command line... In any case, we want the nicer anti-aliased Xft fonts, so we can install the 32-bit library (the 64-bit Xft is already installed):
mailto:metacase@linux-ihvq:~/metaedit" rel="nofollow - sudo zypper install libXft2-32bit | mailto:metacase@linux-ihvq:~/metaedit" rel="nofollow - Now metaedit runs OK! The graphics aren't anti-aliased, and again openSUSE has just the 64-bit Cairo so we want to grab the 32-bit version of libcairo.so.2 too:
mailto:metacase@linux-ihvq:~/metaedit" rel="nofollow - sudo zypper install libCairo2-32bit | mailto:metacase@linux-ihvq:~/metaedit" rel="nofollow - Now the graphics are even more beautiful :). Finally, we'd like to try out the Digital Watch example, so we want a Java JDK (only a JRE is installed by default). Since the JDK is called by a command line rather than as a library, we don't care about 32/64-bit.
mailto:metacase@linux-ihvq:~/metaedit" rel="nofollow - sudo zypper install java-1_7_0-openjdk-devel | mailto:metacase@linux-ihvq:~/metaedit" rel="nofollow - And now when we open the Digital Watch project, open the Properties of the top-level graph and choose Generation target platform: "Java: Linux", Generate: Autobuild builds and opens the watches OK!
|