[Cbc] unable to build - svn externals broken, coinbrew broken ?

Ted Ralphs ted at lehigh.edu
Wed Jan 22 12:29:01 EST 2020


On Wed, Jan 22, 2020 at 11:36 AM Stefan Vigerske <svigerske at gams.com> wrote:

> Hi,
>
> On 1/22/20 5:03 PM, Ted Ralphs wrote:
> > I guess this is because the capability to build all projects without
> > installing depends on being able to find the .pc files for the
> uninstalled
> > packages. The configure script used to take care of building the
> pkg-config
> > search path so that the uninstalled packages could be found, but we now
> > finished a complete re-implementation and simplification of the build
> > harness (which is the reason for the changes you observed) and it no
> longer
> > builds that search path automatically.
> >
> > A relatively easy fix would be to build the search path within coinbrew
> > itself, since coinbrew knows where the uninstalled packages are. The only
> > problem is that I noticed cbc-uninstalled.pc is no longer produced.
> Without
> > that, I guess there is no way to support building all packages before
> > installing anything. I personally think this is something we should
> > support. Stefan, what is your thinking?
>
> No, it's configure && build && test && install, for each project. I
> think we also had discussed this before. coinbrew was supposed to call
> the make install with sudo if $prefix was not writable.
> Since the travis jobs are working, I thought that coinbrew indeed
> installs a dependency before building the next one.
>

The way I set it up after our previous discussions was

   1. If the prefix is writable (either the user has write permission or
   the entire script is run with sudo), then the install is done automatically
   whether the user asks for it or not.
   2. If the prefix is not writable and the user does not ask for install,
   then all projects are built, but not installed.
   3. If the prefix is not writable, but the user asks for the install
   explicitly, then there is a prompt for the user to enter their sudo
   password when it's time to install and only the install commands are run as
   sudo.

I did retain option 2 because, as we discussed, there are people who prefer
to be able to build and test everything first and only do the install as
sudo in a later step. This was requested previously and was working under
the previous build system. We can remove that capability, but I personally
believe it is a good thing to have and it would not require any changes to
the core of the build system to support it. It would only require adding *-
uninstalled.pc.in back in for each project and some small changes to
coinbrew.

Travis is working fine because the installation directory used there is
writable, so the install is done automatically.

Ted
-- 
Dr. Ted Ralphs
Professor, Industrial and Systems Engineering
Lehigh University
(610) 628-1280
ted 'at' lehigh 'dot' edu
coral.ie.lehigh.edu/~ted
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20200122/1c151b75/attachment.html>


More information about the Cbc mailing list