GUB - Cannot Build Perl

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

GUB - Cannot Build Perl

Jahrme Risner
Hello all,

tl;dr: I cannot get Perl to build in GUB.

I have been lurking on the list for a while as a user looking to become a
contributor. The first contribution I have been looking to make is to help
produce a 64-bit release of LilyPond for macOS. GUB currently has 'darwin-ppc'
and 'darwin-x86' as supported platforms but does not include a 'darwin-64'
platform. I have included some information at the bottom of my email on why I
feel adding a 64-bit release is important.

It is my understanding that there are large-scale issues/concerns with GUB in
terms of maintainability and reproducibility, so I understand if my issues with
GUB are not a priority. If there is anything I can do to assist in getting a
different (hopefully better) build-system working to produce releases please
let me know.

As for my setup, in order to run GUB on my laptop (macOS) as well as maintain a
consistent environment with my desktop (Kubuntu 18.04) I have been using
Vagrant to create virtual machines. I have been using the official Ubuntu 16.04
Vagrant box as my starting point to which I add 'build-essential',
'python-dev', and 'texlive-xetex'. I have troubleshot a couple of other issues
in GUB but I have been unable to successfully build Perl. I have attached the
log file from the build, though ultimately the problem seems to be that a
makefile GUB expects does not exist:

        IOError: [Errno 2] No such file or directory: '/vagrant/target/tools/build/perl-5.10.0/makefile'

For this error it may be helpful to know that '/vagrant/' is the GUB directory
mapped from my local system into the VM as the disk images are fixed at ~9GB
which is insufficient for a full GUB build.

I tried setting `parallel_build_broken = True` for Perl, thinking that possibly
I was experiencing a race-condition where the makefile had not been created by
the time it was being called, but that did not fix the issue. Similarly, I
tried changing the version of Perl to be 5.28.1 (the latest stable release) as
well as 5.22.1 (the version packaged for Ubuntu 16.04) in case version 5.10.0
was not compatible with Ubuntu 16.04 and neither was able to compile (citing
the same missing file).

If anyone can shed light on possible fixes I would be very grateful.
Thank you to everyone who has helped to make LilyPond what it is today!

Best wishes,
Jahrme Risner



The following two sections are: first, some background information on why I
believe a 64-bit build for macOS should be a priority going forward (assuming
continued mac support); and second, a more thorough explanation of my setup
with instructions in case anyone would like to experiment with the same setup.

--------------------------------------------------------------------------------

Background Information on 64-bit macOS Support:

A little background on why I feel that 64-bit binaries should be a higher
priority for future releases than the two current platforms:
- All macs produced from 2007 onward have used 64-bit Intel processors.
- Apple removed support for PowerPC processors in Mac OSX 10.6 (released 2009).
- Current macOS versions warn about the upcoming deprecation of 32-bit binaries.
  <https://support.apple.com/en-us/HT208436>

Together, this means that if support for 'darwin-pc' and 'darwin-x86' was
discontinued (which I am not suggesting should be done), only computers
produced over a decade ago would be impacted and would still be able to use
previous releases. On the other hand, if 64-bit binaries are not produced, once
Apple removes support for 32-bit binaries all users on the (then) newest
version of macOS will be unable to run LilyPond.

--------------------------------------------------------------------------------

My Setup/Workflow:

If anyone would like to try reproducing my situation I have forked GUB and
pushed my changes. I have been building from my 'vagrant' branch available on
GitHub at <https://github.com/jahrme/gub.git>. To build from this requires
Vagrant to be installed as well as a "provider", most often VirtualBox.
If anyone is going to try reproducing my situation please be aware that this
will require a significant quantity of data usage downloading the base VM, the
packages, and the GUB dependencies all of which together can be several GB.

Starting in the cloned gub directory, my workflow goes:

```shell
~/gub$ vagrant up && vagrant reload                        # build the VM
~/gub$ vagrant ssh                                         # ssh into the VM
vagrant@ubuntu-xenial:~$ cd /vagrant/                      # cd to GUB
vagrant@ubuntu-xenial:/vagrant$ bin/gub --verbose --fresh lilypond
```

--------------------------------------------------------------------------------


_______________________________________________
lilypond-devel mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-devel

perl.log (290K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GUB - Cannot Build Perl

Karlin High
On 12/5/2018 11:31 PM, Jahrme Risner wrote:
> The first contribution I have been looking to make is to help
> produce a 64-bit release of LilyPond for macOS.

That sounds like a great idea to me!

I know very little about GUB, and will leave the questions for others here.
--
Karlin High
Missouri, USA

_______________________________________________
lilypond-devel mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: GUB - Cannot Build Perl

David Kastrup
In reply to this post by Jahrme Risner
Jahrme Risner <[hidden email]> writes:

> Hello all,
>
> tl;dr: I cannot get Perl to build in GUB.
>
> I have been lurking on the list for a while as a user looking to become a
> contributor. The first contribution I have been looking to make is to help
> produce a 64-bit release of LilyPond for macOS. GUB currently has 'darwin-ppc'
> and 'darwin-x86' as supported platforms but does not include a 'darwin-64'
> platform. I have included some information at the bottom of my email on why I
> feel adding a 64-bit release is important.

In return, retiring the ppc version seems reasonable.

> It is my understanding that there are large-scale issues/concerns with
> GUB in terms of maintainability and reproducibility, so I understand
> if my issues with GUB are not a priority.

It's more like we have nobody really working on it regularly.

> If there is anything I can do to assist in getting a different
> (hopefully better) build-system working to produce releases please let
> me know.

For assistance to be of use, there would have to be a main worker.  I
don't think that it's likely we are going to easily find someone
creating and maintaining something doing a better job than GUB both with
the actual work and with regard to someone being able to keep it going.

--
David Kastrup

_______________________________________________
lilypond-devel mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: GUB - Cannot Build Perl

Federico Bruni-2


Il giorno gio 6 dic 2018 alle 12:19, David Kastrup <[hidden email]> ha
scritto:

> Jahrme Risner <[hidden email]> writes:
>
>> [...]
>
>>  It is my understanding that there are large-scale issues/concerns
>> with
>>  GUB in terms of maintainability and reproducibility, so I understand
>>  if my issues with GUB are not a priority.
>
> It's more like we have nobody really working on it regularly.
>
>>  If there is anything I can do to assist in getting a different
>>  (hopefully better) build-system working to produce releases please
>> let
>>  me know.
>
> For assistance to be of use, there would have to be a main worker.  I
> don't think that it's likely we are going to easily find someone
> creating and maintaining something doing a better job than GUB both
> with
> the actual work and with regard to someone being able to keep it
> going.
>

I'm afraid it's not likely we are going to find someone able to fix GUB.
Releases are currently blocked. We'd better consider all the options on
the table.

Jahrme, do you have any proposal about a new build system to produce
releases?




_______________________________________________
lilypond-devel mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-devel