Best way to run Ubuntu applications in SLED11 SP2?

There are quite a few application that I wanted to use that are readily available for Ubuntu but not for SLED. How can I run Ubuntu app on SLED11? Ideally, under some emulator, like Windows apps running under Wine. Does anything like that exist for SLED?

I don’t really want to go with dual boot.

I looked at virtualization option. My system has CPU that supports it. I read article about virtualization options in SLED11. I don’t like that with Xen I need to choose at startup to load OS with Xen-kernel. I tried it once with SLED10 and video defaulted to basic functionality only. I guess other things may break too.

Maybe I am wrong, it’s just my impression that KVM would be better in my case but actually neither KVM nor XEN supports Ubuntu.

Is there any “easy” solution to my problem? Also, when running for example some Ubuntu 3D CAD app I still need the graphic performance to be acceptable.

Thanks.

Ubuntu and SLED are both Linux based operating systems, it’s not analogous to trying to run Windows applications on Linux. It’s possible to get anything available for Ubuntu running on SLED, though admittedly the effort required can vary greatly.

If you find something that only seems to be available as a Ubuntu package, look for a SLED or openSUSE version at the openSUSE build service http://software.opensuse.org/search Some packages built for openSUSE 11.x will work on SLED. If the source is available, you may be able to build it on SLED yourself. (You may need to get some of the -devel packages from the SLE-SDK - the download page fails to make it clear, but you only need DVD1.)

If you want to run a copy of Ubuntu then look at VirtualBox The version marked as being for SUSE Linux Enterprise Server 11 works on SLED 11. It supports 3D acceleration.

If post the applications you’re thinking of, someone might be able to help you get them running on SLED.

[QUOTE=mikewillis;12170]Ubuntu and SLED are both Linux based operating systems, it’s not analogous to trying to run Windows applications on Linux. It’s possible to get anything available for Ubuntu running on SLED, though admittedly the effort required can vary greatly.

If you find something that only seems to be available as a Ubuntu package, look for a SLED or openSUSE version at the openSUSE build service http://software.opensuse.org/search Some packages built for openSUSE 11.x will work on SLED. If the source is available, you may be able to build it on SLED yourself. (You may need to get some of the -devel packages from the SLE-SDK - the download page fails to make it clear, but you only need DVD1.)

If you want to run a copy of Ubuntu then look at VirtualBox The version marked as being for SUSE Linux Enterprise Server 11 works on SLED 11. It supports 3D acceleration.

If post the applications you’re thinking of, someone might be able to help you get them running on SLED.[/QUOTE]

There have been several apps that I could not find for SLED11 (not available in openSUSE Build Service) but available for Ubuntu. Most importantly I could not get Userful Desktop Multiplier because it was available for Ubuntu and SLED11 and I already had SLED11SP1 and it did not work. Userful even does not release the Multipier for SLED anymore. Recently I have a problem getting decent 2D/3D CAD application for SLED11sp2. I installed FreeCAD and LibreCAD into Ubuntu under VirtualBox on my SLED and it works nicely. Maybe I am missing something here but when Ubuntu and SLED are both Linux based and so much more similar then SLED and Windows, why there is no Wine-like emulator for ubuntu under SLED? Wouldn’t it be lot simpler then Wine for Windows?
Anyway, I also tried to build FreeCAD from source myself. I painfully collected all dependencies, added whole bunch of new repos from openSUSE Build Service and individual packages. Whole bunch of original rpms from Novell repos have been updated from new repos and at some point I had a feeling that it must be a mess but I did not break any dependency and dependency check returns OK. Both Cmake and nice make ran without single error and built all files. But when I finally run the FreeCAD executable I am getting Segmentation fault without any further explanation what could be the problem. Can someone give me a clue what to do to find the problem?

Hi
Running strace or running ldd on the binary may shed some light. The
easiest option is to request the SLE build target is added for the
packages your after? For FreeCAD why not ask the KDE:Extras
maintainers to add the SLE build target? You can always create your
own account on the Open Build Service and copy/branch a package for
building as required.


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 12.3 (x86_64) Kernel 3.7.10-1.1-desktop
up 17:10, 3 users, load average: 0.16, 0.07, 0.08
CPU Intel® i5 CPU M520@2.40GHz | GPU Intel® Ironlake Mobile

Replacing the libraries provided in SLED, or whichever distro you’re using, is generally a bad idea as that can easily lead to a mess and in the case of SLED it runs the risk of you not being able to get support because you’ve replaced so many bits. If you need newer versions of libraries it’s best to install them in to a custom location where nothing else can see them and then put a little wrapper script around the application to point it to those libraries. For example http://blogs.warwick.ac.uk/mikewillis/entry/handbrake_on_sled_1/

What you appear to be looking for is a something which provides all the libraries that appear in Ubuntu in a form that you put on a different Linux distro and run applications against. I guess it doesn’t exist because there isn’t sufficient need for it to exist. If there were, someone surely would do by now as someone would have done it. In practice people re-build stuff from the source. Or the vendors build their software in such a way that it’s usable on a large number of distros. (E.g. Wolfram don’t produce different versions of Mathematica for Ubuntu, SLED, Fedora.) http://portablelinuxapps.org/ and http://0install.net/ are two examples are projects aimed at packaging applications so they can be used on a large number of distros. One gives you a single executable, the other gives you all the dependencies.

As for the segmentation fault, there is mention in the README.Linux for FreeCAD that a segmentation can be caused by using a copy of SoQT linked against QT3 rather than QT4.
I was able to find most of the dependencies for FreeCAD in the SLE-SDK or by adding this repo http://download.opensuse.org/repositories/science/SLE_11/science.repo I got libeigen3-devel from http://download.opensuse.org/repositories/home:/repabuild/SLE_11_SP2/noarch/libeigen3-devel-3.1.2-13.4.noarch.rpm I got a binary, but it segfaults. I’m using an instance of SoQT linked against QT3, I haven’t been able to find one linked against QT4 and when attempting to build from source, it keeps complaining it can’t find OpenCASCADE.

[QUOTE=malcolmlewis;12451]Hi
Running strace or running ldd on the binary may shed some light.


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 12.3 (x86_64) Kernel 3.7.10-1.1-desktop
up 17:10, 3 users, load average: 0.16, 0.07, 0.08
CPU Intel® i5 CPU M520@2.40GHz | GPU Intel® Ironlake Mobile[/QUOTE]

I tried

strace -e open ./FreeCAD

and it gave me whole list of missing lib files that seems to be related to FreeCAD, for example

open("/usr/lib64/mpi/gcc/openmpi/lib64/libCoin.so.60", O_RDONLY) = -1 ENOENT (No such file or directory)

and non FreeCAD related libraries (I mean libs that are present in the system regardless of FreeCAD, if I understand it correctly), for example

open("/usr/lib64/mpi/gcc/openmpi/lib64/libX11.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
So, I guess the segmentation fault is not caused only by that using a copy of SoQT linked against QT3 rather than QT4.

I’m abandoning idea of troubleshooting my program build.

That on it’s own is not indication of a problem. Various locations will be searched, including directories $LD_CONFIG_PATH or listed in files /etc/ld.so.conf.d/. All that line indicates is that the library wasn’t found in that one location. If you grep the strace output for ‘libCoin.so.60’ you may find that it is found somewhere else.

So is there an “easy” way how to make output of strace more meaningful, or so it shows only the errors I need to see?

Not really, as far as I know. You can tell strace to only show you certain calls, e.g. open, (see man page) but that would still show you it attempting to open files that don’t exist. strace is by no means guaranteed to help you figure why something doesn’t work. It’s good for seeing exactly what happens, but you have to be able to make sense of the output. There’s been times I’ve run something under strace and very quickly been able to diagnose the problem and times I’ve looked at the output of strace and found it of no help whatsoever. In the latter cases it may have been because I didn’t really know what I was looking for and hence wasn’t able to pick out relevant lines, or there was just nothing useful in there.