octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Build a portable linux binary?


From: Michael D Godfrey
Subject: Re: Build a portable linux binary?
Date: Tue, 19 Feb 2019 14:54:37 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0



On 2/19/19 1:57 PM, John W. Eaton wrote:
I doubt that it is possible to build Octave and all dependencies as static libraries.

The main issue with portable binaries is
libc, which can't be statically linked which is why you need to build on
a system with an old version of libc, and hope this is ok for all the
new versions of packages downloaded by MXE. The resulting binaries
should work on any system with the same or newer version of libc (I
think?), unless the packages require features not present in that
version of libc.

Last year I attempted to deliver a binary built with MXE that could be used on just two systems, RHEL 6 and SuSE 11.  I performed the build on the SuSE system because it had the older libc of the two.  My build replaced as many system libraries as possible.  In the end, I think it just required libc, ld.so, and a few other very low-level system libraries.  I built and distributed everything else.  I was able to install and run Octave on both systems.  But the customer reported issues.  In the end, I just built and delivered binaries for both of the systems I wanted to support.

jwe address@hidden


This has been a long-standing problem for all "distributions". Not only is it hard to achieve for any one system
(RHEL 6, and xx, and SuSE 11 are just examples) but then maintaining the port through system updates makes
it a constant effort.

Improving the current installation procedures from source may be more productive.  A script that just identifies
all required dependencies and how to download and install them could help. I have not checked the current
instructions lately but they tend to be written for people who have considerable knowledge. A "beginner's"
set of instructions might help. Of course, even this would require constant maintenance and updating...

I looked at: https://cran.cnr.berkeley.edu/ for how R handles distribution.  In outline it seems to have
some good features. They support binary downloads for "Linux" (but not Fedora...), Mac,  and Windows.
(No mention of RHEL...)
For others they give some instructions for download and compile. However, I doubt if this works much better
than the current Octave procedures.

So, just trying to keep the current download source, install all dependencies, and compile procedures
reasonably clear and up-to-date may be the best that can be done.

Michael

reply via email to

[Prev in Thread] Current Thread [Next in Thread]