[OpenIndiana-discuss] (no subject)
In message <743925890.650533.1613077826...@mail.yahoo.com>, Jason Long via open indiana-discuss writes: >My VirtualBox version is: > >$ VBoxManage --version >6.1.16r140961 6.1.18 is current. https://www.virtualbox.org/wiki/Downloads> I believe I have reproduced your results under unsupported VBox 5.2.44. lightdm displays the username/password prompt but upon loggin in, the screen goes black within VM window but is normal in VirtualBox Manager's preview. Also the display is fine when the guest is paused. Try upgrading your VirtualBox to 6.1.18. John groenv...@acm.org ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] Porting an application to OpenIndiana.
Bottom line is that except for apps that use native GUI code* or apps that perform system management functions**, _IF_ the original programmer takes due care to use only standards compliant interfaces and widely available dependencies as much as possible, and to use build mechanisms(s) that can choose between alternative platform dependent code when that's NOT possible (and tries to isolate and encapsulate that as possible), then the application can be quite portable, building on all platforms for which the support is included and dependencies are satisfied, and taking no more than the necessary amount of effort to add support for other platforms that do (or can) support the needed standards. So you can write something that's POSIX+X11 (and layered libraries) only, and IF the native environment implements the needed standards and has the needed extra goodies, it will probably work on anything from a Raspberry Pi to a mainframe or supercomputer. But there are other gotchas to doing it right. Word size, byte order, version of standards supported (or of OS-dependent features available), etc; all of which can be overcome by careful aware coding, but are easy enough to miss. There is a significant level of discipline and skill required to make a large program (esp. one with GUI or system management aspects) as portable as possible. There are tools to help, but it works best if they were used from the beginning; retrofitting them and good design may indeed involve a lot of rewriting. Writers of apps for multiple versions/distros of Linux, or to a lesser degree the BSDs already have to deal with SOME of that because those OSs themselves have been ported to multiple CPU architectures, etc; and have multiple options for "native" GUI (different toolkits layered on top of X11, or even Wayland rather than X11 as the lower layer of graphics, although X11 can be implemented on top of Wayland for compatibility). So to build on more than one particular distro and architecture, code for those OSs already has to take into account CPU architecture differences, dependency availability (which might be as little as DOCUMENTING what the prerequisites are and how to find them), etc, whereas strictly native code for Windows or macOS mostly just deals with version compatibility issues (although even Windows and macOS have at various times in their histories run on different CPU architectures etc, so code for them should also take that into account). Programmers who have mostly not had to worry about portability issues should perhaps study the available standards for platforms they desire to support, and work upward starting with simple programs that deal just with SOME problematic areas, and look at existing examples that do it well. Usually one does NOT want to reinvent one's own build mechanisms from scratch, but pick something that's widely enough supported and good enough to do the job; otherwise additional build-time dependencies (and maintenance of the extra tools!) are required. I never needed to go much beyond the simple phase myself; but it wasn't hard for me because I've always been compulsive about reading the man page for every library or system call while I was coding a call to it; typically even if I'd called that one hundreds of times before, because there might be something like a USUALLY uncommon flag value or error condition that might be more relevant in a particular situation, and need to be used or handled differently. GOOD man pages (Solaris and derivatives are pretty good in this regard) try to mention which features of what they document are standards-compliant, and which are non-standard extensions, helping one to avoid needless use of the latter. Mostly, if you want to blame someone, do NOT blame the OS developers (as long as their documentation is decent) so much as the application developers. Yes, a less common OS will not be as widely supported, but most apps meant to be portable and already supporting some not too similar platforms, should be easily (added code and platform recognition, but not a major rewrite) extensible to a platform not originally supported. *for which Windows, most Unix/Linux except macOS (macOS _can_ run X11, but it's not as nice there as the native GUI), and macOS have very different interfaces and capabilities. ** as I recall, attempts to standardize some minimum portion of system management interfaces pretty much failed, as along with (in some cases) native GUIs, those were major differentiating (and backwards compatibility!) factors that no vendor wanted to compromise on. > On Feb 11, 2021, at 13:13, Alan Coopersmith > wrote: > > On 2/11/21 8:59 AM, Jason Long via openindiana-discuss wrote: >> Hello, >> If someone wants to porting an application from an operating system to >> another operating system, then he\she must rewrite that program from scratch? > > No - most applications have a large amount of code
Re: [OpenIndiana-discuss] Porting an application to OpenIndiana.
On 2/11/21 1:14 PM, Jason Long wrote: Thank you so much. Excuse me, can I send email to you? Sorry - I don't do private consulting. I answer questions on the mailing list when my time allows and I know the answer, but often times one or the other of those won't apply, and others on the list can help instead, so mailing the list is usually best, since you'll have no way of knowing which list members have the right combination of knowledge and time at any given point. -alan- ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] Porting an application to OpenIndiana.
Thank you so much. Excuse me, can I send email to you? On Thursday, February 11, 2021, 09:43:26 PM GMT+3:30, Alan Coopersmith wrote: On 2/11/21 8:59 AM, Jason Long via openindiana-discuss wrote: > Hello, > If someone wants to porting an application from an operating system to > another operating system, then he\she must rewrite that program from scratch? No - most applications have a large amount of code that's specific to the application itself which is operating system independent - for instance a stock market application is going to have code for tracking changes in stock prices or figuring out gains and losses that doesn't depend on the OS in use; while a database is going to have things like SQL handling code that doesn't change between platforms. But applications also have a fair amount of code to interact with platform interfaces to do things like network communications, read & write to disk or other storage, display output, etc. If they're written in something like Java or Python that provides it's own platform routines for that, to hide the underlying OS details, then there may be very little work to port to a new OS, unless they need functionality not provided by the platform. If they're written in something else, without those platform routines, such as C or C++, then the work may increase and how much depends on the OS'es you are porting between. Porting from another platform in the Unix family - Linux, BSD, AIX, etc. - will be much easier than porting from Windows or MacOS, since a large amount of the OS interfaces are the same between the Unixes - especially for the subset defined in the POSIX standard. You can see this in the large amount of open source software shipping already in OpenIndiana, where the same source code for things such as vim, emacs, nano, Firefox, perl, python, etc. is used on OpenIndiana as on BSD & Linux, with just some small sections of the code which check for the OS and call the OS-specific interfaces for that. -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - https://blogs.oracle.com/alanc ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] How to install MATE or Gnome Desktop?
My VirtualBox version is: $ VBoxManage --version 6.1.16r140961 And: # pkg update Packages to install: 12 Packages to update: 387 Packages to change: 6 Mediators to change: 3 Create boot environment: Yes Create backup boot environment: No DOWNLOAD PKGS FILES XFER (MB) SPEED Completed 405/405 8305/8305 154.3/154.3 45.9k/s PHASE ITEMS Removing old actions 1166/1166 Installing new actions 3802/3802 Updating modified actions 7396/7396 Updating package state database Done Updating package cache 387/387 Updating image state Done Creating fast lookup database Done A clone of openindiana-2021:01:29 exists and has been updated and activated. On the next boot the Boot Environment openindiana-2021:02:11-1 will be mounted on '/'. Reboot when ready to switch to this updated BE. --- NOTE: Please review release notes posted at: https://docs.openindiana.org/release-notes/latest-changes/ --- But, same result!!! On Wednesday, February 10, 2021, 09:33:44 PM GMT+3:30, John D Groenveld wrote: In message <211044048.216299.1612975141...@mail.yahoo.com>, Jason Long via open indiana-discuss writes: >Hello, >Any idea? I can't reproduce your error. Two shots in the dark: In the guest: # pkg update # init 6 On the host, VBoxManage --version If not the latest, upgrade. https://www.virtualbox.org/wiki/Downloads> John groenv...@acm.org ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] What is the Solaris ld linker's equivalent to GNU's -dynamic-linker?
On Thu, 11 Feb 2021, Alan Coopersmith wrote: https://illumos.org/man/1/ld documents --dynamic-linker as an alias for -I - is the problem the lack of the double-dash in your script? I'd be tempted to just delete it altogether, since the linker will pick the right value on its own, but if you needed something non-default, try adding the second dash or switching to -I. The Linux manual page says this: "The default dynamic linker is normally correct; don't use this unless you know what you are doing." Perhaps the person who requested --dynamic-linker met the above qualification, or perhaps she just felt like using it. I see that the Linux linker also supports the -I option for the same purpose so it seems that -I is more portable. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ Public Key, http://www.simplesystems.org/users/bfriesen/public-key.txt ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] Porting an application to OpenIndiana.
On 2/11/21 8:59 AM, Jason Long via openindiana-discuss wrote: Hello, If someone wants to porting an application from an operating system to another operating system, then he\she must rewrite that program from scratch? No - most applications have a large amount of code that's specific to the application itself which is operating system independent - for instance a stock market application is going to have code for tracking changes in stock prices or figuring out gains and losses that doesn't depend on the OS in use; while a database is going to have things like SQL handling code that doesn't change between platforms. But applications also have a fair amount of code to interact with platform interfaces to do things like network communications, read & write to disk or other storage, display output, etc. If they're written in something like Java or Python that provides it's own platform routines for that, to hide the underlying OS details, then there may be very little work to port to a new OS, unless they need functionality not provided by the platform. If they're written in something else, without those platform routines, such as C or C++, then the work may increase and how much depends on the OS'es you are porting between. Porting from another platform in the Unix family - Linux, BSD, AIX, etc. - will be much easier than porting from Windows or MacOS, since a large amount of the OS interfaces are the same between the Unixes - especially for the subset defined in the POSIX standard. You can see this in the large amount of open source software shipping already in OpenIndiana, where the same source code for things such as vim, emacs, nano, Firefox, perl, python, etc. is used on OpenIndiana as on BSD & Linux, with just some small sections of the code which check for the OS and call the OS-specific interfaces for that. -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - https://blogs.oracle.com/alanc ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss
[OpenIndiana-discuss] Porting an application to OpenIndiana.
Hello, If someone wants to porting an application from an operating system to another operating system, then he\she must rewrite that program from scratch? Thank you. ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] What is the Solaris ld linker's equivalent to GNU's -dynamic-linker?
On 2/11/21 8:03 AM, cretin1997 via openindiana-discuss wrote: I have a linker script which uses many of: -dynamic-linker /lib64/ld-linux-x86-64.so.2 I tried to use it on OpenIndiana by changed it to: -dynamic-linker /lib/64/ld.so.1 but the Solaris ld linker doesn't happy with it: ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1763 (illumos) ld: fatal: option -d has illegal argument 'ynamic-linker' ld: fatal: flags processing errors Please help. https://illumos.org/man/1/ld documents --dynamic-linker as an alias for -I - is the problem the lack of the double-dash in your script? I'd be tempted to just delete it altogether, since the linker will pick the right value on its own, but if you needed something non-default, try adding the second dash or switching to -I. -alan- ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss
[OpenIndiana-discuss] What is the Solaris ld linker's equivalent to GNU's -dynamic-linker?
I have a linker script which uses many of: -dynamic-linker /lib64/ld-linux-x86-64.so.2 I tried to use it on OpenIndiana by changed it to: -dynamic-linker /lib/64/ld.so.1 but the Solaris ld linker doesn't happy with it: ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1763 (illumos) ld: fatal: option -d has illegal argument 'ynamic-linker' ld: fatal: flags processing errors Please help. Sent with ProtonMail Secure Email. ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org https://openindiana.org/mailman/listinfo/openindiana-discuss