[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