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

LMH lmh_users-groups at molconn.com
Fri Sep 28 15:42:24 EDT 2018


By building under windows, do you mean using MSVC++ or GNU under cygwin?

I have mingw32 installed in cygwin. If I do ./configure --host=i686-w64-mingw32, will
that use the ming installed in cygwin or will that look for a separate ming
installation? I presume if I did that I should abandon my current installation and
start from scratch.

I am building an application under cygwin (for now) where I would like to call clp as
a solver. Can I just download a pre-compiled library somewhere that I can link to or
do I have to build it?

I can probably use the pre-compiled binary Clp-1.3.3-win32-msvc8 to do some testing.

LMH



Nils Löhndorf wrote:
> 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=>
> 



More information about the Clp mailing list