<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 22, 2020 at 11:36 AM Stefan Vigerske <<a href="mailto:svigerske@gams.com">svigerske@gams.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
On 1/22/20 5:03 PM, Ted Ralphs wrote:<br>
> I guess this is because the capability to build all projects without<br>
> installing depends on being able to find the .pc files for the uninstalled<br>
> packages. The configure script used to take care of building the pkg-config<br>
> search path so that the uninstalled packages could be found, but we now<br>
> finished a complete re-implementation and simplification of the build<br>
> harness (which is the reason for the changes you observed) and it no longer<br>
> builds that search path automatically.<br>
> <br>
> A relatively easy fix would be to build the search path within coinbrew<br>
> itself, since coinbrew knows where the uninstalled packages are. The only<br>
> problem is that I noticed cbc-uninstalled.pc is no longer produced. Without<br>
> that, I guess there is no way to support building all packages before<br>
> installing anything. I personally think this is something we should<br>
> support. Stefan, what is your thinking?<br>
<br>
No, it's configure && build && test && install, for each project. I <br>
think we also had discussed this before. coinbrew was supposed to call <br>
the make install with sudo if $prefix was not writable.<br>
Since the travis jobs are working, I thought that coinbrew indeed <br>
installs a dependency before building the next one.<br></blockquote><div><br></div><div>The way I set it up after our previous discussions was</div><div><ol><li>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.</li><li>If the prefix is not writable and the user does not ask for install, then all projects are built, but not installed.</li><li>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.</li></ol>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 *-<a href="http://uninstalled.pc.in">uninstalled.pc.in</a> back in for each project and some small changes to coinbrew.</div><div><br></div><div>Travis is working fine because the installation directory used there is writable, so the install is done automatically.</div><div><br></div><div>Ted</div><div>-- <br></div></div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Dr. Ted Ralphs<br>Professor, Industrial and Systems Engineering<br>Lehigh University<br>(610) 628-1280<br>ted 'at' lehigh 'dot' edu<br><a href="http://coral.ie.lehigh.edu/~ted" target="_blank">coral.ie.lehigh.edu/~ted</a><br></div></div></div></div></div></div></div></div></div>