Solaris / OpenSolarisThis forum is for the discussion of Solaris, OpenSolaris, OpenIndiana, and illumos.
General Sun, SunOS and Sparc related questions also go here. Any Solaris fork or distribution is welcome.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
one of my friends who is working for a scientific research center has a software that he wants ported from Solaris to Linux. The software isnt open source, so i cant make out like what system calls is it making.
Hopefully its not bound to the kernel, so bearing that, can anyone tell me the workaround for this task considering both cases. i.e. the app is bound to the kernel, and it aint bound to the kernel. If anyone cud point me to resources, that would be of great help.
How to port a software that doesnt have its source code visible to me, and exists in compiled form on the system. See logically i could port a Red Hat Application to SuSe, without necessarily having its source code.
I do understand that the difference in kernel of Solaris and Linux Kernel may be quite a lot, but what i want to know is to what extent are the two kernels different? I suppose some memory mapping and scheduling techniques differ... but to what extent could these differences stop me from porting the application?
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789
Rep:
Quote:
See logically i could port a Red Hat Application to SuSe, without necessarily having its source code.
That should be easy, but is not what is ussually called porting.
Quote:
I do understand that the difference in kernel of Solaris and Linux Kernel may be quite a lot, but what i want to know is to what extent are the two kernels different?
The kernels are certainly somewhat different, but far much closer that say Linux and Windows. But why are you focusing on the kernel ? There are many issues that may arise before you reach the kernel.
If you have no source code, I suppose all you got are binary executable files plus possibly some text/data/script files.
You first have to make sure these binaries are in some way compatible with the target system.
For example if the binaries are for Solaris on SPARC, and you target system is some Linux distro on x86, you can be sure the binary is uncompatible.
If both are x86, you have to make sure the executable format is compatible. Here again, although Linux has switched to Solaris format (ELF) a while ago, they are not strictly compatible, so you need some kind of emulation techniques to try having this software run in the other environment. One available is lxrun, that allows some application to run. Another not yet available is LAE (Linux Application Environment) from Sun, that will allow the same kind of thing, here again I guess only if your original program is for Solaris on x86.
Quote:
I suppose some memory mapping and scheduling techniques differ... but to what extent could these differences stop me from porting the application?
Again, you are not going to port the application as you haven't the source code, but really you want to try to adapt the application environment for it to run properly.
Finally, you may also try a different way, based on virtual machine emulation, commercial (VMware, ...) and free (Qemu, ...) products exists that will allow you to install Solaris in a virtual environment, itself running on Linux. Depending on if the CPU architecture match, you may also find it worthing to be investigated.
I suppose I wud try my luck in the order you have mentioned. As far as the machine is concerned, both the source and target machines are same.
I checked out lxRun, have u tested it ever? Seems like it should be able to solve my problem.
Maybe in the end i finally resort to Qemu...
Ok tell me one more thing, what are the chances of inter UNIX transfer? Can I shift it to FreeBSD UNIX? What all can be the difficulties that arise then?
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789
Rep:
Quote:
I checked out lxRun, have u tested it ever?
Sure, it has improved greatly with the years, I'm currently using it to run a proprietary epson driver not available for Solaris, but available for Linux.
Quote:
Ok tell me one more thing, what are the chances of inter UNIX transfer? Can I shift it to FreeBSD UNIX? What all can be the difficulties that arise then?
I think BSD has a Linux emulation layer, something like what will be Solaris LAE.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.