View Single Post
  #7   (View Single Post)  
Old 19th July 2008
ocicat ocicat is offline
Administrator
 
Join Date: Apr 2008
Posts: 3,318
Default

Quote:
Originally Posted by roundkat View Post
My question originated in a package that wasn't available in the OpenBSD ports tree or via package..
Now you are potentially getting into the world of porting. The three main issues are:
  • Was the initial application written strictly in a POSIX compliant manner? If it was, then porting it to OpenBSD will be easier than if it was not. Nevertheless, are all supporting libraries available? In the case of Linux, not all libraries used by applications there will be the same as on OpenBSD or even available. You may be taking on the responsibility to emulate or fully port them yourself to OpenBSD in order for the application to run.
  • Likewise, what are the filesystem requirements? Note that OpenBSD's filesystem layout is different from that of other operating systems. Careful study of the hier(7) manpage may be required.
  • Was the application written as a 32-bit or 64-bit application? The answer to this question may resonate throughout the application & require many changes if you are moving it to a different processor.
You may need to study Section 9.4 of the FAQ for other foreign application support information:

http://openbsd.org/faq/faq9.html#Interact

...as well as the various compatibility manpages: compat_linux(8), compat_freebsd(8), compat_sunos(8), etc. There are other compat_* manpages you may need to read. Note that some of these compatibility layers may be limited and/or dated. As jggimi has noted elsewhere, maintenance of some of these emulation layers isn't quite as crucial today given that more natively compiled applications are increasingly available in the ports tree.

Lastly, porting can range for trivial to very complex. The better you understand the space where your target application lives, the easier your plight will be in porting it.

Last edited by ocicat; 19th July 2008 at 11:25 PM.
Reply With Quote