[Cbc] [External] Re: 2.10 version on Ubuntu

Ted Ralphs ted at lehigh.edu
Sun Sep 15 12:16:57 EDT 2019


Yes, the uninstall should be done as sudo if the installation directory is
not writable by the user. I now added a check and it will automatically
prompt you for a sudo password if you forget to run it as sudo and this is
needed. The same is actually true for the install, so there is technically
no need to run anything as sudo.

I've detected a few more bugs for some uncommon edge cases, so better do an
update. I hope it will be stable soon and then I will start making releases
and do enhancements in separate feature branches so it's not such a
moving target.

Cheers,

Ted

On Sun, Sep 15, 2019 at 7:04 AM JP Fasano <jpfasano at gmail.com> wrote:

> Ted,
> Should the uninstall be done with sudo?
>
> *sudo* ./coinbrew Cbc uninstall
>
> If uninstall only removes the local files in the build directory, then
> leaving out sudo should be OK,
> but I suspect uninstall also removes the files in /usr/local which should
> require sudo.
>
> Thank you for doing all this work.
> It is really helpful and appreciated.
>
> JP
>
> On Sat, Sep 14, 2019 at 10:43 PM Ted Ralphs <ted at lehigh.edu> wrote:
>
>> OK, it took a little digging, but I got everything fixed up and added a
>> few more enhancements to coinbrew in the meantime. The errors similar to
>>
>> rm: cannot remove '/usr/local/share/coin/Data/miplib3/harp2': Permission
>> denied
>>
>> during the build step were due to an embarassing bug that has now been
>> fixed. The build should not need to be be run with sudo by design---that is
>> the reason for separating the build and install steps.
>>
>> As for the install, I was able to replicate what you saw. As far as I can
>> tell, you most likely did successfully in installing the release version
>> (despite Cbc's version message), but when Cbc was built, it seems to have
>> pulled in the configuration header file from the previously installed
>> master version and the wrong version string got injected into the code. I'm
>> still verifying this, but in any case, it was almost certainly some sort of
>> corruption due to the previous install.
>>
>> This possibility never occurred to me, so thanks once again for the
>> detailed reports! I have an idea how to fix it, but it may take a little
>> work.
>>
>> In general, it's best to uninstall one version before starting to build
>> and install another. Just run
>>
>> ./coinbrew Cbc uninstall
>>
>> With what I think happened, you should actually now be able to simply
>> re-build and re-install Cbc itself (no need to rebuild the dependencies)
>> and it will be fixed. I add the option now to rebuild a  project, so you
>> should in principle be able to do
>>
>> ./coinbrew build --rebuild Cbc --skip-dependencies
>>
>> and it will rebuild. However, since I also just changed that way build
>> configurations are cached (sorry for the moving target), I would actually
>> suggest that you reconfigure and rebuild everything with
>>
>> ./coinbrew build --rebuild --reconfigure Cbc --prefix=/usr/local
>>
>> Alternatively, you can also just remove the build directory altogether
>> with "rm -rf build". After you rebuild, you can install again and
>> everything should be fixed up.
>>
>> Cheers,
>>
>> Ted
>>
>>
>>
>>
>>
>> On Fri, Sep 13, 2019 at 9:07 PM JP Fasano <jpfasano at gmail.com> wrote:
>>
>>> I tried a fresh checkout of the latest released code and the build
>>> seemed to work, but didn't.
>>> I did:
>>>
>>>    - wget
>>>    https://raw.githubusercontent.com/coin-or/coinbrew/master/coinbrew
>>>    - chmod +x coinbrew
>>>    - ./coinbrew fetch Cbc:releases/2.10.3 --no-prompt >fetchConsole.log
>>>    2>&1
>>>    - ./coinbrew build Cbc --no-prompt --prefix=/usr/local
>>>    >buildConsole.log 2>&1
>>>    - sudo ./coinbrew install Cbc  >installConsole.log 2>&1
>>>
>>> When I run cbc, I see
>>>
>>> jpfasano at WitOpenSource:~/coinCbc$ cbc
>>> Welcome to the CBC MILP Solver
>>> Version: Trunk (unstable)
>>> Build Date: Sep 13 2019
>>>
>>> CoinSolver takes input from arguments ( - switches to stdin)
>>> Enter ? for list of commands or help
>>> Coin:
>>>
>>> Notice that the version is Trunk (unstable).
>>> So the released version of cbc didn't get installed.
>>>
>>> The last lines of the buildConsole.log look suspicious:
>>>
>>> jpfasano at WitOpenSource:~/coinCbc$ tail buildConsole.log
>>>
>>> rm: cannot remove '/usr/local/share/coin/Data/miplib3/harp2': Permission
>>> denied
>>> rm: cannot remove '/usr/local/share/coin/Data/miplib3/vpm1': Permission
>>> denied
>>> rm: cannot remove '/usr/local/share/coin/Data/miplib3/set1ch':
>>> Permission denied
>>> rm: cannot remove '/usr/local/share/coin/Data/miplib3/qnet1_o':
>>> Permission denied
>>> rm: cannot remove '/usr/local/share/coin/Data/miplib3/pk1': Permission
>>> denied
>>> rm: cannot remove '/usr/local/share/coin/Data/miplib3/misc03':
>>> Permission denied
>>> rm: cannot remove '/usr/local/share/coin/Data/miplib3/fixnet6':
>>> Permission denied
>>> rm: cannot remove '/usr/local/share/coin/Data/miplib3/gen': Permission
>>> denied
>>> rm: cannot remove '/usr/local/share/coin/Data/miplib3/mitre': Permission
>>> denied
>>> rm: cannot remove '/usr/local/share/coin/Data/miplib3/rout': Permission
>>> denied
>>>
>>> Perhaps "./coinbrew build" needs to be run with sudo?
>>>
>>> Here are links to the console logs:
>>>
>>>    - fetch: link
>>>    <https://1drv.ms/u/s!ArBmlTcrk72FoL1xP8WgHK50ARsLTQ?e=OEkV7M>
>>>    - build: link
>>>    <https://1drv.ms/u/s!ArBmlTcrk72FoL1ynKuLKJWe9Vzldw?e=cYyXr5>
>>>    - install: link
>>>    <https://1drv.ms/u/s!ArBmlTcrk72FoL1wM48QUYfsbZNDRg?e=hU2jkV>
>>>
>>>
>>
>> --
>> Dr. Ted Ralphs
>> Professor, Industrial and Systems Engineering
>> Lehigh University
>> (610) 628-1280
>> ted 'at' lehigh 'dot' edu
>> coral.ie.lehigh.edu/~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/20190915/a9f3cf75/attachment.html>


More information about the Cbc mailing list