- changed status to open
- changed component to EinsteinToolkit thorn
- removed comment
PETSc does not build on Ubuntu 16.04
When building the ET on Ubuntu 16.04, the PETSc external library fails during configuration. The error, from configure.log, is
Possible ERROR while running archiver:
stderr:
/usr/bin/ar: `u' modifier ignored since `D' is the default (see `U')
Archiver is not functional
*******************************************************************************
UNABLE to CONFIGURE with GIVEN OPTIONS (see configure.log for details):
-------------------------------------------------------------------------------
You set a value for --with-ar=ar", but ar cannot be used
*******************************************************************************
Setting this as critical for the upcoming release, since people will likely want to build the ET on their Ubuntu 16.04 machines.
Keyword: PETSc
Comments (16)
-
reporter -
- removed comment
As a guess we have to remove "u" from LDFLAGS.
-
reporter - removed comment
The [https://build.barrywardell.net/view/TestView/job/EinsteinToolkitBuildSet/label=ucd_ubuntu_16.04/4/consoleFull full build log] is available.
-
- removed comment
Please give more information. What machine was this, what was the machine description, option list, thorn list, etc? Did this use Simfactory?
-
- changed status to open
- assigned issue to
- removed comment
-
- removed comment
In order to resolve this, we would have to apply this:
diff --git a/lib/make/configure b/lib/make/configure index 13e9a04..2baf17e 100755 --- a/lib/make/configure +++ b/lib/make/configure @@ -2847,7 +2847,7 @@ fi # Various flags -: ${ARFLAGS=rucs} +: ${ARFLAGS=rcs} # Some architectures can't pass the 's' flag to ar so need to use ranlib # to create an index in an archive file.
This is sub-optimal, as this is a generated file, and regenerating it will reintroduce the bug. Upgrading to a newer version of autotools would be the proper solution.
Given the proximity of the release, I instead for the moment propose to unset ARFLAGS in PETSc.
-
reporter Replying to [comment:4 eschnett]:
Please give more information. What machine was this, what was the machine description, option list, thorn list, etc? Did this use Simfactory?
This was a ubuntu-16.04 docker container, and it uses the ubuntu.cfg optionlist from simfactory. The thornlist was einsteintoolkit.th, with the following thorns explicitly enabled:
CactusElliptic/EllPETSc CactusUtils/TATPETSc ExternalLibraries/PETSc
as is done for the standard Jenkins Ubuntu (12.04) tests.
If you don't have access to a machine with Ubuntu 16.04, and have a machine with Docker installed, you can create your own container for Ubuntu 16.04 with the required packages for the ET by following the instructions at https://hub.docker.com/r/ianhinder/et-jenkins-slave/.
Note that this is the first time I have tried to build the ET with this version of Ubuntu, and I had to modify the list of recommended packages from those in the ubuntu.cfg optionlist, since several of them no longer exist. The packages used in this container can be seen in the Dockerfile (https://bitbucket.org/ianhinder/et-jenkins-slave/src/ubuntu-16.04/Dockerfile.
Reducing severity to major, because PETSc is not enabled by default in the ET thornlist. People using Ubuntu 16.04 will still not be able to use PETSc, but presumably it is disabled by default because it is not expected to work easily.
-
- removed milestone
- changed component to Cactus
- removed comment
The workaround of unsetting ARFLAGS in build.sh was committed. Please test and re-add the release as milestone if necessary.
Otherwise: this is likely a problem in configure.in of Cactus and will be handled there after the release.
-
- changed milestone to ET_2016_05
- removed comment
This still fails. Cactus isn't to blame anymore, ARFLAGS is unset according to the full build log: https://build.barrywardell.net/job/EinsteinToolkit/797/consoleFull . We need the configure.log to see what the actual error is.
-
reporter - removed comment
You would need ssh access to the build node itself; we don't record all the build output in the Jenkins archive (it is too big). I'm not sure that blindly committing a change and waiting for the test system to pick it up to 'test' the change is the right way of going about debugging this problem. Instead, I suggest that you reproduce the problem yourself on your own machine. See comment:7. It should be really easy; I can help if you have trouble. Ideally, we would have infrastructure in place to have accounts for ET developers in a virtual environment with the different architectures we were testing, so that you could log in and compile Cactus yourself with a given OS, and reproduce the problem (like we do on clusters). We don't have that yet.
Note that before, we were talking about 16.04. But now the main build of 12.04 is failing, so something has gotten worse. Note also that many external libraries are being rebuilt as a result of
#1897, and failing. Even the 'full' build, which shouldn't be affected by#1897(https://build.barrywardell.net/job/EinsteinToolkitFull/) is failing now, so the change to the ar behaviour has made 12.04 fail in a similar way to 16.04.I am attaching configure.log. This is from build 798 of 'EinsteinToolkit'.
-
- removed comment
configure.log suggests that unsetting ARFLAGS resulted in PETSc assuming it to be empty. That was my mistake. I assumed this would mean it wouldn't been used. If I would have looked further dwon in the same file I would have seen that indeed, it was. I now committed a fix which, instead of unsetting ARFLAGS removes 'u' if present.
-
- removed comment
If the change didn't help, then let's undo the commit.
The way to test this would be to set up a new Ubuntu VM and reproduce it there.
-
- removed comment
The latest change did correct the problem, at least Jenkins now builds. It isn't a indication that 16.04 works, but the output shows that 'u' is gone from ARFLAGS. We would need someone with 16.04 to confirm that the problem is also gone there.
-
reporter - removed comment
This is now being tested in https://build.barrywardell.net/view/TestView/job/EinsteinToolkitBuildSet/label=ucd_ubuntu_16.04/7/. The previous build (number 6) was successful because I disabled the normally-disabled thorns. I have now re-enabled them, and we will see whether the problem with PETSc is fixed when the build finishes. It is running full builds, to avoid the problem of
#1897. -
reporter - changed status to resolved
- removed comment
The build was successful. Thanks Frank!
-
- edited description
- changed status to closed
- Log in to comment