[Clp] configure errors, cannot find BLAS, /bin/sh ./configure failed for Ipopt

Nils Löhndorf nils at loehndorf.com
Fri Sep 28 13:41:46 EDT 2018


Hi,

I gave up building on Windows, but cross-compiling from Unix using mingw32 worked quite well, e.g.,

./configure --host=i686-w64-mingw32 (for 32-bit Windows)
./configure --host=x86_64-w64-mingw32 (for 64-bit Windows)

Would that not be an option?

Nils

> On 28.09.2018, at 19:16, LMH <lmh_users-groups at molconn.com> wrote:
> 
> I tried to manually include direct.h outside the logic but I get a file not found
> error. I am never sure if being on cygwin means being on windows or being on linux.
> 
> LMH
> 
> 
> Stefan Vigerske wrote:
>> Hi,
>> 
>> Since you are on Windows, maybe try whether the
>> 
>> #include <direct.h>
>> #define getcwd _getcwd
>> 
>> variant works.
>> 
>> Stefan
>> 
>> On 9/28/18 4:18 AM, LMH wrote:
>>> It seems like this is a mailing list where "top post" is the proper reply method.
>>> Please let me know if that is not the case. I have been replying with bottom post.
>>> 
>>> Hello Stefan,
>>> 
>>> Including <cstdio> in the file CoinFactorization.hpp fixed the error,
>>>  error: there are no arguments to 'printf' that depend on a template parameter
>>> 
>>> I also had to make many additional inclusions listed at the end of the post.
>>> 
>>> 
>>> I now have the following error,
>>> 
>>> COIN-OS/CoinUtils/src/CoinHelperFunctions.hpp: In function 'char
>>> CoinFindDirSeparator()':
>>> COIN-OS/CoinUtils/src/CoinHelperFunctions.hpp:705:22: error: 'getcwd' was not
>>> declared in this scope
>>> 
>>> as far as I know, getcwd is in unistd.h, which is included in the logic at the top,
>>> 
>>> #if defined(_MSC_VER)
>>> #  include <direct.h>
>>> #  define getcwd _getcwd
>>> #else
>>> #  include <unistd.h>
>>> #endif
>>> 
>>> I have added in include for both stdio.h and unistd.h as the first two lines of the
>>> file (before the #ifndef), but this does not fix the error.
>>> 
>>> I am not sure what to do next. I cannot find any documentation on what would cause a
>>> compiler error for getcwd other than missing unistd.h, though it seems that in some
>>> cases stdio.h needs to be included as well.
>>> 
>>> The error is down past line 700,
>>> 
>>> if(getcwd(buf, size))
>>> 
>>> Adding the includes right before the function definition for CoinFindDirSeparator()
>>> also does not help.
>>> 
>>> Is there some location in the file where the include should be located other than at
>>> the beginning?
>>> 
>>> Is there a different include that should be added?
>>> 
>>> Any suggestions?
>>> 
>>> LMH
>>> 
>>> 
>>> 
>>> other required inclusions so far,
>>> 
>>> include <cstdio> in CoinParamUtils.cpp to address the compiler errors,
>>>  error: 'stdin' was not declared in this scope
>>>  error: 'fprintf' was not declared in this scope
>>>  error: 'fflush' was not declared in this scope
>>>  error: 'fgets' was not declared in this scope
>>> 
>>> include <cstddef> in CbcEventHandler.hpp to address the compiler error,
>>>  CbcEventHandler.hpp:137:43: error: 'NULL' was not declared in this scope
>>> 
>>> include <cstddef> in IpSmartPtr.hpp to address the compiler error,
>>>  IpSmartPtr.hpp:340:12: error: 'NULL' was not declared in this scope
>>> 
>>> include <cstdio> in IpMultiVectorMatrix.cpp to address the compiler error,
>>>  IpMultiVectorMatrix.cpp:254:51: error: 'sprintf' was not declared in this scope
>>> 
>>> include <cstddef> in IpTripletToCSRConverter.cpp to address the compiler error,
>>>  IpTripletToCSRConverter.cpp:21:11: error: 'NULL' was not declared in this scope
>>> 
>>> include <cstdio> in IpLoqoMuOracle.cpp to address the compiler error,
>>>  IpLoqoMuOracle.cpp:68:42: error: 'sprintf' was not declared in this scope
>>> 
>>> include <cstdio> in IpOrigIpoptNLP.cpp to address the compiler error,
>>>  IpOrigIpoptNLP.cpp:296:130: error: 'sprintf' was not declared in this scope
>>> 
>>> include <cstdio> in IpOrigIterationOutput.cpp to address the compiler error,
>>>  IpOrigIterationOutput.cpp:101:49: error: 'sprintf' was not declared in this scope
>>> 
>>> include <cstdio> in IpProbingMuOracle.cpp to address the compiler error,
>>>  IpProbingMuOracle.cpp:143:42: error: 'sprintf' was not declared in this scope
>>> 
>>> include <cstdio> in IpQualityFunctionMuOracle.cpp to address the compiler error,
>>>  IpQualityFunctionMuOracle.cpp:598:42: error: 'sprintf' was not declared in this
>>> scope
>>> 
>>> include <cstdio> in IpRestoIterationOutput.cpp to address the compiler error,
>>>  IpRestoIterationOutput.cpp:129:49: error: 'sprintf' was not declared in this scope
>>> 
>>> include <cstdio> in IpStdAugSystemSolver.cpp to address the compiler error,
>>>  IpStdAugSystemSolver.cpp:167:36: error: 'sprintf' was not declared in this scope
>>> 
>>> include <cstdio> in IpTNLPAdapter.cpp to address the compiler error,
>>>  IpTNLPAdapter.cpp:411:142: error: 'sprintf' was not declared in this scope
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> Stefan Vigerske wrote:
>>>> Hi,
>>>> 
>>>> you might try adding an include for <cstdio> in CoinFactorization.hpp itself.
>>>> 
>>>> Stfan
>>>> 
>>>> On 9/27/18 6:43 PM, LMH wrote:
>>>>> LMH wrote:
>>>>>> LMH wrote:
>>>>>>> John Forrest wrote:
>>>>>>>> I don't know enough about building on windows to give a definite answer but you
>>>>>>>> could
>>>>>>>> try one or two things to get something working and then improve the situation.
>>>>>>>> 
>>>>>>>> a) do configure with --without-blas --without-lapack
>>>>>>>> 
>>>>>>>> or
>>>>>>>> 
>>>>>>>> b) go into ThirdParty/Blas and Lapack and do get.Blas and get.Lapack
>>>>>>>> 
>>>>>>>> John Forrest
>>>>>>>> On 25/09/18 17:42, LMH wrote:
>>>>>>>>> Hello
>>>>>>>>> 
>>>>>>>>> This is the second time I have sent this message. I think there was a
>>>>>>>>> subscription
>>>>>>>>> issue with the first message. I apologize if this is a duplicate but I have not
>>>>>>>>> yet
>>>>>>>>> received the original so I have sent it again.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> I am trying to build clp under cygwin on a windows xp box. I have downloaded
>>>>>>>>> the most
>>>>>>>>> recent src using subversion and installed it to,
>>>>>>>>> 
>>>>>>>>> C:\cygwin\lib\COIN-OS\
>>>>>>>>> 
>>>>>>>>> It seemed like lib\ is where this should go, let me know if it should go in
>>>>>>>>> bin\ or
>>>>>>>>> somewhere in local\ instead.
>>>>>>>>> 
>>>>>>>>> The configure script seems to run well but at the end I get,,
>>>>>>>>> 
>>>>>>>>> checking whether -lblas has BLAS... no
>>>>>>>>> configure: error: cannot find BLAS
>>>>>>>>> configure: error: /bin/sh './configure' failed for Ipopt
>>>>>>>>> 
>>>>>>>>> I have gfortran,
>>>>>>>>> 
>>>>>>>>> $ which gfortran
>>>>>>>>> /usr/bin/gfortran
>>>>>>>>> 
>>>>>>>>> $ gfortran -v
>>>>>>>>> Target: i686-pc-cygwin
>>>>>>>>> Thread model: posix
>>>>>>>>> gcc version 5.3.0 (GCC)
>>>>>>>>> 
>>>>>>>>> As far as I can tell, my PATH is configured correctly.
>>>>>>>>> 
>>>>>>>>> C:\cygwin\bin;C:\Program Files\Intel\iCLS
>>>>>>>>> Client\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program
>>>>>>>>> Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program
>>>>>>>>> Files\Intel\Intel(R)
>>>>>>>>> Management Engine Components\IPT;c:\dms;c:\dms\gnuplot;C:\Program
>>>>>>>>> Files\TortoiseSVN\bin
>>>>>>>>> 
>>>>>>>>> I believe that I have BLAS installed in cygwin but the config script cannot
>>>>>>>>> seem to
>>>>>>>>> find it. I can post the entire configure script output, or any other output if
>>>>>>>>> that
>>>>>>>>> would help, just let me know.
>>>>>>>>> 
>>>>>>>>> LMH
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> Clp mailing list
>>>>>>>>> Clp at list.coin-or.org
>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=js2M0T-3OIMIVDvokcKjokJbk0F8QOCd0mT4FsVFE88&m=d0WfxyR11cyfOXA-T7rNQ2OGp4qkrePGbUjFuEMZZLY&s=xmebJ9kLTiaifIEAMtBgTDnwAcnFhj7f3H0DnzaHHrM&e=
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> Clp mailing list
>>>>>>>> Clp at list.coin-or.org
>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=G-rWCwMCBm3eUuw9HwVHnyOeSnSun6y799F3zRs5-x4&m=15JBJE5qc5hAwj760hY9tzyTy9aRHlJEFVt9QcVSfNQ&s=jUDp_AboHjY0zT3f-ewerzcDs11isWMJKN7kHQIbklI&e=
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> Thanks for the advice. I added the third party code as you suggested. The get
>>>>>>> scripts
>>>>>>> did not work because I had issues with wget and also some of the file names in the
>>>>>>> scripts do not match the files that were downloaded. I had to manually implement
>>>>>>> some
>>>>>>> of the steps in the get scripts.
>>>>>>> 
>>>>>>> After running configure -C, I get a different error.
>>>>>>> 
>>>>>>> checking whether LAPACK is already available with BLAS library... no
>>>>>>> checking whether -llapack has LAPACK... yes
>>>>>>> configure: Checking for Harwell subroutine library
>>>>>>> checking whether MUMPS is available... no
>>>>>>> configure: error: "No linear solver (such as MUMPS) available.  You need to
>>>>>>> provide
>>>>>>> at least one."
>>>>>>> configure: error: /bin/sh './configure' failed for Ipopt
>>>>>>> 
>>>>>>> There is nothing listed under MUMPS in the cygwin package manager. How do I go
>>>>>>> about
>>>>>>> resolving this?
>>>>>>> 
>>>>>>> LMH
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> Clp mailing list
>>>>>>> Clp at list.coin-or.org <mailto:Clp at list.coin-or.org>
>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=G-rWCwMCBm3eUuw9HwVHnyOeSnSun6y799F3zRs5-x4&m=N9fx_-dJ1omk9FGd1XVnM9jPBcJJbAO6zCf6Z2EEhBM&s=DPYXM-vxdVmLtp0X7xR6BMayOQT0RyRMiLJCz_5E968&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=G-rWCwMCBm3eUuw9HwVHnyOeSnSun6y799F3zRs5-x4&m=N9fx_-dJ1omk9FGd1XVnM9jPBcJJbAO6zCf6Z2EEhBM&s=DPYXM-vxdVmLtp0X7xR6BMayOQT0RyRMiLJCz_5E968&e=>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> I downloaded and built MUMPS Version 1.71 according to the cygwin instructions
>>>>>> here,
>>>>>> 
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__sourceforge.net_projects_mumps_files_&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=G-rWCwMCBm3eUuw9HwVHnyOeSnSun6y799F3zRs5-x4&m=EN_1NCjY2BBHQEFERdu1TbKKkY-EoG6ZRbTa4qkkqe8&s=tUugfkR19NDQFz7VhEXwjiOwjRHbfR6PhS8vEKGWmoY&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__sourceforge.net_projects_mumps_files_&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=G-rWCwMCBm3eUuw9HwVHnyOeSnSun6y799F3zRs5-x4&m=EN_1NCjY2BBHQEFERdu1TbKKkY-EoG6ZRbTa4qkkqe8&s=tUugfkR19NDQFz7VhEXwjiOwjRHbfR6PhS8vEKGWmoY&e=>
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> The build seemed to go fine once I made the suggested local configuration changes.
>>>>>> When I re-ran ./config for coin-or, I still get the error,
>>>>>> 
>>>>>> checking whether MUMPS is available... no
>>>>>> configure: error: "No linear solver (such as MUMPS) available.  You need to provide
>>>>>> at least one."
>>>>>> configure: error: /bin/sh './configure' failed for Ipopt
>>>>>> 
>>>>>> I installed mumps to /lib and I suspect that it is being looked for in one of
>>>>>> the bin
>>>>>> directories. the "which mumps" command doesn't return anything.
>>>>>> 
>>>>>> Should I move the mumps install directory to some other location like /bin or
>>>>>> /usr/local/bin, etc?
>>>>>> 
>>>>>> Should I add a ln somewhere that points to where mumps is now?
>>>>>> 
>>>>>> Do I have a different problem altogether?
>>>>>> 
>>>>>> Thanks,
>>>>>> 
>>>>>> LMH
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Clp mailing list
>>>>>> Clp at list.coin-or.org <mailto:Clp at list.coin-or.org>
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=G-rWCwMCBm3eUuw9HwVHnyOeSnSun6y799F3zRs5-x4&m=EN_1NCjY2BBHQEFERdu1TbKKkY-EoG6ZRbTa4qkkqe8&s=sh68nXGk7tiQUbywND54IK-RDjWW5JOtJxM9aQ1Y1Hs&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=G-rWCwMCBm3eUuw9HwVHnyOeSnSun6y799F3zRs5-x4&m=EN_1NCjY2BBHQEFERdu1TbKKkY-EoG6ZRbTa4qkkqe8&s=sh68nXGk7tiQUbywND54IK-RDjWW5JOtJxM9aQ1Y1Hs&e=>
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> The configure script has completed, but make fails with the following error,
>>>>> 
>>>>> CoinFactorization.hpp: In member function 'bool CoinFactorization::pivot(int, int,
>>>>> CoinBigIndex, CoinBigIndex, double*, unsigned int*, int, int, T*, int)':
>>>>> CoinFactorization.hpp:648:54: error: there are no arguments to 'printf' that depend
>>>>> on a template parameter, so a declaration of 'printf' must be available
>>>>> [-fpermissive]
>>>>>       printf("more memory needed in middle of invert\n");
>>>>>                                                        ^
>>>>> CoinFactorization.hpp:648:54: note: (if you use '-fpermissive', G++ will accept your
>>>>> code, but allowing the use of an undeclared name is deprecated)
>>>>> Makefile:566: recipe for target 'CoinFactorization1.lo' failed
>>>>> make[2]: *** [CoinFactorization1.lo] Error 1
>>>>> make[2]: Leaving directory '/usr/lib/COIN-OS/CoinUtils/src'
>>>>> Makefile:360: recipe for target 'all-recursive' failed
>>>>> make[1]: *** [all-recursive] Error 1
>>>>> make[1]: Leaving directory '/usr/lib/COIN-OS/CoinUtils'
>>>>> Makefile:297: recipe for target 'all-recursive' failed
>>>>> make: *** [all-recursive] Error 1
>>>>> 
>>>>> This seems like it may be a compiler version issue. I checked, and <stdio.h> is
>>>>> included in the file CoinFactorization1.cpp and I think that is where printf is
>>>>> defined. I tried including cstdlib as well but that doesn't help.
>>>>> 
>>>>> Any suggestions on what to do? I am currently using gcc/g++/gfortran 5.3.0 under
>>>>> 32-bit cygwin.
>>>>> 
>>>>> LMH
>>>>> 
>>>>> _______________________________________________
>>>>> Clp mailing list
>>>>> Clp at list.coin-or.org <mailto:Clp at list.coin-or.org>
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=BRcuJnQr5NAzU29t80hk2rsLc4vrlRySBDabuq0O1ZI&m=89UCf4k0W54s_nQmCeAD3McLiyMEsCLWeAp_42I0uUk&s=5tQ3MQaqtnOp5UcIsuYpn5VEVn9sxt-CPk6k15pvtFA&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=BRcuJnQr5NAzU29t80hk2rsLc4vrlRySBDabuq0O1ZI&m=89UCf4k0W54s_nQmCeAD3McLiyMEsCLWeAp_42I0uUk&s=5tQ3MQaqtnOp5UcIsuYpn5VEVn9sxt-CPk6k15pvtFA&e=>
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>> 
>> 
> 
> _______________________________________________
> Clp mailing list
> Clp at list.coin-or.org <mailto:Clp at list.coin-or.org>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=4W_KAPYWX_7S-OXUpUUkba9waxp6JnerRIGtanMj5yo&m=Gg4yVpwX02kEghSxjRw0D5s-Na3QSfARBZfa8T6_Eos&s=cn25VQZjuPwGBzPMnl43RSbNwlAsmRjJuJCpGyiZq0A&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_clp&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=4W_KAPYWX_7S-OXUpUUkba9waxp6JnerRIGtanMj5yo&m=Gg4yVpwX02kEghSxjRw0D5s-Na3QSfARBZfa8T6_Eos&s=cn25VQZjuPwGBzPMnl43RSbNwlAsmRjJuJCpGyiZq0A&e=>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20180928/7cdc9122/attachment-0001.html>


More information about the Clp mailing list