Build a portable linux binary?

classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Build a portable linux binary?

roland65
Hi,

I'd like to know if it is possible to build a portable Linux binary, that
can be distributed on various Linux distributions, and installed by untaring
an archive. In the best case, such a build should include most packages,
like in the Windows build.

This is the way Firefox, Libreoffice, or even MATLAB are distributed. So,
perhaps it's possible to do the same for Octave?

Of course, I know that we could have flatpak or snap packages, but there are
sand boxes, and as such have issues (permission problems, gui themes, huge
size, etc.).

So, do you think a portable Linux build can be done?

Thanks,
RB



--
Sent from: http://octave.1599824.n4.nabble.com/Octave-Maintainers-f1638794.html

Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

tmacchant
--- roland65

> Hi,
>
> I'd like to know if it is possible to build a portable Linux binary, that
> can be distributed on various Linux distributions, and installed by untaring
> an archive. In the best case, such a build should include most packages,
> like in the Windows build.
>
> This is the way Firefox, Libreoffice, or even MATLAB are distributed. So,
> perhaps it's possible to do the same for Octave?
>
> Of course, I know that we could have flatpak or snap packages, but there are
> sand boxes, and as such have issues (permission problems, gui themes, huge
> size, etc.).
>
> So, do you think a portable Linux build can be done?
>
> Thanks,
> RB
>
>
>
mxe build for linux is one of the candidate.
I did mxe build for linux on  about two or three years before.

But I do not know its current state.

Tatsuro

Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

Richard Crozier


On 19/02/2019 10:23, Tatsuro MATSUOKA wrote:

> --- roland65
>> Hi,
>>
>> I'd like to know if it is possible to build a portable Linux binary, that
>> can be distributed on various Linux distributions, and installed by untaring
>> an archive. In the best case, such a build should include most packages,
>> like in the Windows build.
>>
>> This is the way Firefox, Libreoffice, or even MATLAB are distributed. So,
>> perhaps it's possible to do the same for Octave?
>>
>> Of course, I know that we could have flatpak or snap packages, but there are
>> sand boxes, and as such have issues (permission problems, gui themes, huge
>> size, etc.).
>>
>> So, do you think a portable Linux build can be done?
>>
>> Thanks,
>> RB
>>
>>
>>
> mxe build for linux is one of the candidate.
> I did mxe build for linux on  about two or three years before.
>
> But I do not know its current state.
>
> Tatsuro
>

Here's a link to what Tatsuro is talking about:

https://wiki.octave.org/MXE

Note that this is a fork of the original MXE which you will find elsewhere.

You could perhaps use MXE to do a static build on an old Linux system
(e.g. old ubuntu in a VM). 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.

Richard

The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

John W. Eaton
Administrator
On 2/19/19 5:33 AM, CROZIER Richard wrote:

> Here's a link to what Tatsuro is talking about:
>
> https://wiki.octave.org/MXE
>
> Note that this is a fork of the original MXE which you will find elsewhere.
>
> You could perhaps use MXE to do a static build on an old Linux system
> (e.g. old ubuntu in a VM).

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



Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

nrjank
On Tue, Feb 19, 2019 at 8:57 AM John W. Eaton <[hidden email]> wrote:
On 2/19/19 5:33 AM, CROZIER Richard wrote:

> Here's a link to what Tatsuro is talking about:
>
> https://wiki.octave.org/MXE
>
> Note that this is a fork of the original MXE which you will find elsewhere.
>
> You could perhaps use MXE to do a static build on an old Linux system
> (e.g. old ubuntu in a VM).

I doubt that it is possible to build Octave and all dependencies as
static libraries.


if a standalone Linux build is that involved, depending on your needs maybe a compact virtualbox compatible VM with Octave preconfigured would do the trick? i.e., an Octave Virtual Appliance? Virtualbox has pretty standard availability across Linux distros and would even translate to Windows and maybe Mac? 
Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

Michael Godfrey
In reply to this post by John W. Eaton


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 [hidden email]


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 | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

Richard Crozier


On 19/02/2019 14:54, Michael D Godfrey wrote:

>
>
> 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 [hidden email]
>>
>>
> 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


Another option that might be interesting might be Appimage

https://appimage.org/

Regards,

Richard
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

roland65
In reply to this post by John W. Eaton
John W. Eaton wrote
> 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.

OK, I see...

However, I've seen this project:
https://github.com/wheybags/glibc_version_header
That seems interesting but they say they don't support C++ yet, and there
are also some issues...






--
Sent from: http://octave.1599824.n4.nabble.com/Octave-Maintainers-f1638794.html

Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

Richard Crozier

On 19/02/2019 15:34, roland65 wrote:

> John W. Eaton wrote
>> 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.
>
> OK, I see...
>
> However, I've seen this project:
> https://github.com/wheybags/glibc_version_header
> That seems interesting but they say they don't support C++ yet, and there
> are also some issues...
>
>

I tried using this on another, much simpler, project and unfortunately
couldn't get it to work. This could be more to do with my limitations
than the tool itself though.

I think problem is Octave has many dependencies, and some of them will
actually require (or at least pretend they require) certain libc
versions, with MXE it is also not easy to pick and choose versions of
packages, you need a set that all work together.

I mean, there's also this:

https://phusion.github.io/holy-build-box/

Portable binaries on Linux are a real PITA, hence the existence of the
project you link to, Holy Build Box (linked above), Snap packages,
Flatpak, Appimage, Launchpad Ubuntu PPAs, MXE Octave, etc. etc. It's a
nightmare really if you just want something easy for users who don't
know how to compile stuff to install, without waiting 3 years for it to
appear in the package repositories.

Flatpak seems good, except that you won't be able to install any Octave
packages from Octave Forge that need to link to libraries on the
computer, e.g. the netcdf package.

If JWE can't make it work, it's probably pretty difficult.

Richard

The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

John W. Eaton
Administrator
On 2/19/19 10:50 AM, CROZIER Richard wrote:

> Portable binaries on Linux are a real PITA, hence the existence of the
> project you link to, Holy Build Box (linked above), Snap packages,
> Flatpak, Appimage, Launchpad Ubuntu PPAs, MXE Octave, etc. etc. It's a
> nightmare really if you just want something easy for users who don't
> know how to compile stuff to install, without waiting 3 years for it to
> appear in the package repositories.

Also, the point of mxe-octave was initially to build Octave for Windows.
  Using it to build for Linux systems was something that happened later,
and only because I needed a way to build Octave and all dependencies on
systems like RHEL 5 that didn't have compilers that were new enough to
build Octave and that also lacked the necessary dependencies as
packages.  If those were my systems, I'd upgrade them to a newer version
of the OS and install all the necessary dependencies from the
distribution.  It's extremely frustrating to me that people insist on
sticking with obsolete versions (5-6 years old) of the OS but want to
run the latest versions of applications on them.  This makes little
sense to me but it seems to be fairly common.

jwe

Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

nrjank
On Tue, Feb 19, 2019 at 11:31 AM John W. Eaton <[hidden email]> wrote:

It's extremely frustrating to me that people insist on
sticking with obsolete versions (5-6 years old) of the OS but want to
run the latest versions of applications on them.  This makes little
sense to me but it seems to be fairly common.



I believe that's Windows business/enterprise environment SOP, where external dependencies are nonexistent and redundancy is the name of the game.  I guess it's just become business/enterprise SOP now? 
Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

roland65
In reply to this post by John W. Eaton
John W. Eaton wrote
> Also, the point of mxe-octave was initially to build Octave for Windows.
>   Using it to build for Linux systems was something that happened later,
> and only because I needed a way to build Octave and all dependencies on
> systems like RHEL 5 that didn't have compilers that were new enough to
> build Octave and that also lacked the necessary dependencies as
> packages.

I understand the point. However, the Scilab team probably has the same
problems but they distribute a common binary for all Linux distributions
(it's only a tar.gz archive and there is no need to be root for running
Scilab). I think they also have many dependencies like Octave...

Perhaps, it could be interesting to know how they do?
 



--
Sent from: http://octave.1599824.n4.nabble.com/Octave-Maintainers-f1638794.html

Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

Mike Miller-4
In reply to this post by roland65
On Tue, Feb 19, 2019 at 02:57:39 -0600, roland65 wrote:
> I'd like to know if it is possible to build a portable Linux binary, that
> can be distributed on various Linux distributions, and installed by untaring
> an archive. In the best case, such a build should include most packages,
> like in the Windows build.

You brought this up 2 years ago, and I don't think anything has changed,
except that there are now even more ways to install Octave.

If you or someone else is interested in doing the work, it can certainly
be done. I don't think the Octave maintainers are interested in doing
the work when there are already plenty of ways to easily install Octave
on GNU/Linux systems.

> This is the way Firefox, Libreoffice, or even MATLAB are distributed. So,
> perhaps it's possible to do the same for Octave?

This is not the way I would install any of these programs, or imagine
that most people would. Am I out of touch?

I would expect most GNU/Linux users to use their Software Center, apt,
dnf, etc, to look for applications first. Users of almost all
distributions out there can very easily install Octave this way.

> Of course, I know that we could have flatpak or snap packages

We do have a Flatpak package already that works quite well.

Linuxbrew (the GNU/Linux port of Homebrew) includes Octave. A Homebrew
bottle is essentially a portable binary.

Not to mention it is easy to install Octave in a chroot, container,
Docker image, or virtual machine.

I see no shortage of ways to install Octave on GNU/Linux systems, so I
honestly don't see the need to invent a new one.

--
mike

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

roland65
Mike Miller-4 wrote
> If you or someone else is interested in doing the work, it can certainly
> be done. I don't think the Octave maintainers are interested in doing
> the work when there are already plenty of ways to easily install Octave
> on GNU/Linux systems.

Yes of course, there are different ways and using the package manager of the
Linux distribution is the most common of these.

However this method has drawbacks. For example, I use Ubuntu 18.04 (long
term stable version) and Octave version is only 4.2.2. So, to get the last
Octave 4.4.1 and apply some recent patches I need, I had to compile Octave
and a lot of its packages and build deb packages for Ubuntu 18.04. This was
a lot of work, but it finally worked...

Now, some colleagues and friends who use another Linux distro, wanted to use
my work and they simply couldn't. They have to do the same work of building
these many Octave packages for their particular distribution. Most of them
found it was too complicated and they gave up...

So, I think it would make sense to have a way to distribute a portable
binary package that could be run on many Linux distributions...

Anyway, thanks to all for your advices. I'll try to investigate the proposed
solutions and if I obtain some interesting results, I'll let you know...




--
Sent from: http://octave.1599824.n4.nabble.com/Octave-Maintainers-f1638794.html

Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

tmacchant




----- Original Message -----

> From: roland65 
> To: octave-maintainers
> Cc:
> Date: 2019/2/22, Fri 17:10
> Subject: Re: Build a portable linux binary?
>
> Mike Miller-4 wrote
>>  If you or someone else is interested in doing the work, it can certainly
>>  be done. I don't think the Octave maintainers are interested in doing
>>  the work when there are already plenty of ways to easily install Octave
>>  on GNU/Linux systems.
>
> Yes of course, there are different ways and using the package manager of the
> Linux distribution is the most common of these.
>
> However this method has drawbacks. For example, I use Ubuntu 18.04 (long
> term stable version) and Octave version is only 4.2.2. So, to get the last
> Octave 4.4.1 and apply some recent patches I need, I had to compile Octave
> and a lot of its packages and build deb packages for Ubuntu 18.04. This was
> a lot of work, but it finally worked...

On Ubuntu, I think that it is not so hard task to build from source.

Almost build dependency can be installed with instruction (Of course, I installed Qt tools ) 
I first do
sudo apt build-dep gnuplot
This installs a lot of tools what are required to build many tools. 

and then I follow the instruction:
https://www.scivision.co/compiling-octave-4-on-ubuntu/ 

I add portaudio19-dev, libfltk1.3-dev, libopenblas-dev in addition to them.
and
./configure --with-blas='-lopenblas'

This is my routine for install octave from source on Ubuntu. 

> Now, some colleagues and friends who use another Linux distro, wanted to use
> my work and they simply couldn't. They have to do the same work of building
> these many Octave packages for their particular distribution. Most of them
> found it was too complicated and they gave up...
>
> So, I think it would make sense to have a way to distribute a portable
> binary package that could be run on many Linux distributions...
Flatpak is a solution but as you mention it has problem.

For me I could not install flatpak on WSL (Windows Subsystem for Linux).
This is important for me, so that I prefer to install from source rather than use flatpak.
 

Tatsuro

Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

Richard Crozier
In reply to this post by roland65


On 22/02/2019 08:10, roland65 wrote:

> Mike Miller-4 wrote
>> If you or someone else is interested in doing the work, it can certainly
>> be done. I don't think the Octave maintainers are interested in doing
>> the work when there are already plenty of ways to easily install Octave
>> on GNU/Linux systems.
>
> Yes of course, there are different ways and using the package manager of the
> Linux distribution is the most common of these.
>
> However this method has drawbacks. For example, I use Ubuntu 18.04 (long
> term stable version) and Octave version is only 4.2.2. So, to get the last
> Octave 4.4.1 and apply some recent patches I need, I had to compile Octave
> and a lot of its packages and build deb packages for Ubuntu 18.04. This was
> a lot of work, but it finally worked...
>
> Now, some colleagues and friends who use another Linux distro, wanted to use
> my work and they simply couldn't. They have to do the same work of building
> these many Octave packages for their particular distribution. Most of them
> found it was too complicated and they gave up...
>


I had the same problem, ended up just making bash install scripts for
every distro I needed :-(

If you find a solution, I'd like to hear about it!

Richard
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

roland65
In reply to this post by tmacchant
tmacchant wrote

> On Ubuntu, I think that it is not so hard task to build from source.
>
> Almost build dependency can be installed with instruction (Of course, I
> installed Qt tools ) 
> I first do
> sudo apt build-dep gnuplot
> This installs a lot of tools what are required to build many tools. 
>
> and then I follow the instruction:
> https://www.scivision.co/compiling-octave-4-on-ubuntu/ 
>
> I add portaudio19-dev, libfltk1.3-dev, libopenblas-dev in addition to
> them.
> and
> ./configure --with-blas='-lopenblas'
>
> This is my routine for install octave from source on Ubuntu. 
>
> For me I could not install flatpak on WSL (Windows Subsystem for Linux).
> This is important for me, so that I prefer to install from source rather
> than use flatpak.
>
> Tatsuro

Thanks for sharing!





--
Sent from: http://octave.1599824.n4.nabble.com/Octave-Maintainers-f1638794.html

Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

Przemek Klosowski-7
In reply to this post by roland65
On 2/22/19 3:10 AM, roland65 wrote:

> Now, some colleagues and friends who use another Linux distro, wanted to use
> my work and they simply couldn't. They have to do the same work of building
> these many Octave packages for their particular distribution. Most of them
> found it was too complicated and they gave up...
>
> So, I think it would make sense to have a way to distribute a portable
> binary package that could be run on many Linux distributions...
>
> Anyway, thanks to all for your advices. I'll try to investigate the proposed
> solutions and if I obtain some interesting results, I'll let you know...

How many different Linux distributions are your friends using? From
where I sit, there are two main flavors: Fedora/Redhat/Centos and
Debian/Ubuntu, and they are supported by distribution-level packages.

What you are asking for, an universal package, is in line with the
recent trend towards modules, containers, VMs, flatpaks, etc. The whole
concept has some serious advangages and disadvangages . On the plus
side, one package for all environments has merits:

    - simplifies the life of Octave packagers

    - one update covers all environments

    - not held back by individual distributions' runtimes (*)

The disadvantages, however, are serious because it  decouples the Octave
update from the distro updates

    - bugs aren't fixed by automatic distro updates; you have to
remember to update all your individual flatpaks/modules

    - the independent package model implies baking dependencies into
each package, which is bad:

       - calcifies and multiplies bugs

       - prevents systematic fixing of  issues across the entire ecosystem

       - is wasteful (multiple copies)

    - promotes version stagnation for Octave users because of no
automatic updates

Time will tell which approach will win---people are trying to come up
with mitigations for the disadvantages. I am skeptical, but I could see
being proven wrong.


(*) THis is a serious problem that you mention: old distros sometimes
prevent the use of new packages. At the same time, I am perplexed and
frustrated when people insist  on simultaneously using some obsolete
base OS and the newest version of enduser software like Octave. Having
said that, I do realize that many people have the OS imposed on them by
their inflexible IT organization.


Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

John W. Eaton
Administrator
On 2/22/19 11:33 AM, Przemek Klosowski wrote:

> (*) THis is a serious problem that you mention: old distros sometimes
> prevent the use of new packages. At the same time, I am perplexed and
> frustrated when people insist  on simultaneously using some obsolete
> base OS and the newest version of enduser software like Octave

Yes, I have the same reaction.

People who want to do this are expecting a package like Octave to be
absolutely up to date while also either requiring it to build on and
work around problems in an old OS or ship in binary form with updated
packages that can also run on the old OS.  This approach pushes the
massive task of tracking updates for, building, and packaging all
dependencies from Octave down to libc.  This is obviously no easy task.
My best attempt is what became the "native" build option for mxe-octave
and in the end it was a tremendous amount of effort and it doesn't work
particularly well.

Other options like flatpak seem promising, but then if your old OS is
old enough, flatpak isn't supported.  And, whether the solution is
docker, flatpak, or a VM, it all seems to me to come down to some
solution to run what is essentially an updated set of packages or
updated OS inside a VM/container/whatever on your obsolete OS?  All for
what?  To avoid updating the OS?

jwe

Reply | Threaded
Open this post in threaded view
|

Re: Build a portable linux binary?

tmacchant
In reply to this post by roland65


>t macchant wrote
>>  On Ubuntu, I think that it is not so hard task to build from source.
>>
>>  Almost build dependency can be installed with instruction (Of course, I
>>  installed Qt tools ) 
>>  I first do
>>  sudo apt build-dep gnuplot
>>  This installs a lot of tools what are required to build many tools. 
>>
>>  and then I follow the instruction:
>>  https://www.scivision.co/compiling-octave-4-on-ubuntu/ 
>>
>>  I add portaudio19-dev, libfltk1.3-dev, libopenblas-dev in addition to
>>  them.
>>  and
>>  ./configure --with-blas='-lopenblas'
>>
>>  This is my routine for install octave from source on Ubuntu. 
>>
>>  For me I could not install flatpak on WSL (Windows Subsystem for Linux).
>>  This is important for me, so that I prefer to install from source rather
>>  than use flatpak.
>>
>>  Tatsuro
>
> Thanks for sharing!
>
https://wiki.octave.org/Octave_for_Debian_systems

Compiling from source


is also helpful.

However, this does not install TeX which are required for development branch build.
sudo apt build-dep gnuplot
installs a lot of TeX package (texlive) .

But I should  install "texlive-generic-recommended
sudo apt install texlive-generic-recommended

unless you already install it.

Tatsuro

12