[Top][All Lists]

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

GUB - Cannot Build Perl

From: Jahrme Risner
Subject: GUB - Cannot Build Perl
Date: Thu, 06 Dec 2018 05:31:54 +0000

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: 

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.

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 <>. 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:

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


Attachment: perl.log
Description: Text document

reply via email to

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