Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

blas variants for windows #44

Merged
merged 7 commits into from
Mar 30, 2020
Merged

blas variants for windows #44

merged 7 commits into from
Mar 30, 2020

Conversation

h-vetinari
Copy link
Member

@h-vetinari h-vetinari commented Mar 28, 2020

Checklist

  • Used a fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

Trying to resolve #43.

I couldn't figure out why the libs weren't found in #42 when I tried to build for openblas/blis, but I guess I didn't get the names right. This time, I compared with the outputs from the respective feedstocks (and learned that the cvxopt-builder looks for ".lib" and not ".dll").

Feedback welcome!

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.

Here's what I've got...

For recipe:

  • Failed to even lint the recipe, probably because of a conda-smithy bug 😢. This likely indicates a problem in your meta.yaml, though. To get a traceback to help figure out what's going on, install conda-smithy and run conda smithy recipe-lint . from the recipe directory.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@h-vetinari
Copy link
Member Author

@conda-forge-admin, please rerender

@h-vetinari
Copy link
Member Author

@conda-forge-admin, please rerender

@github-actions
Copy link
Contributor

Hi! This is the friendly automated conda-forge-webservice.
I tried to rerender for you, but it looks like there was nothing to do.

@h-vetinari
Copy link
Member Author

@conda-forge-admin, please rerender

@h-vetinari
Copy link
Member Author

@conda-forge-admin, please rerender

@h-vetinari
Copy link
Member Author

h-vetinari commented Mar 28, 2020

@conda-forge-admin, please rerender.

@github-actions
Copy link
Contributor

Hi! This is the friendly automated conda-forge-webservice.
I tried to rerender for you, but it looks like there was nothing to do.

@h-vetinari
Copy link
Member Author

Sorry for all the thrashing around, I tried linking everything I could think of to resolve the following missing symbols:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:%PREFIX%\Library\lib /LIBPATH:%PREFIX%\libs /LIBPATH:%PREFIX%\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\um\x64" /LIBPATH:%PREFIX%\Library\lib /LIBPATH:%PREFIX%\Library\lib lapack.lib openblas.lib /EXPORT:PyInit_umfpack build\temp.win-amd64-3.6\Release\src/C/umfpack.obj build\temp.win-amd64-3.6\Release\bld\cvxopt_1585320975351\work\suitesparse/UMFPACK/Source/umfpack_tictoc.obj build\temp.win-amd64-3.6\Release\bld\cvxopt_1585320975351\work\suitesparse/SuiteSparse_config/SuiteSparse_config.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_i_1.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_i_2.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_i_aat.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_i_defaults.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_i_dump.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_i_order.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_i_postorder.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_i_post_tree.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_i_preprocess.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_i_valid.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_l_1.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_l_2.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_l_aat.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_l_defaults.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_l_dump.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_l_order.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_l_postorder.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_l_post_tree.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_l_preprocess.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\amd_l_valid.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_di_free_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_di_free_symbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_di_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_di_qsymbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_di_solve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_di_symbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_dl_free_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_dl_free_symbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_dl_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_dl_qsymbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_dl_solve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_dl_symbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zi_free_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zi_free_symbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zi_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zi_qsymbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zi_solve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zi_symbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zl_free_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zl_free_symbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zl_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zl_qsymbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zl_solve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umfpack_zl_symbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_assemble.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_assemble_fixq.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_blas3_update.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_build_tuples.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_create_element.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_extend_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_garbage_collection.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_get_memory.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_grow_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_init_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_kernel.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_kernel_init.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_kernel_wrapup.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_lhsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_local_search.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_lsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_ltsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_mem_alloc_element.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_mem_alloc_head_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_mem_alloc_tail_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_mem_free_tail_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_mem_init_memoryspace.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_row_search.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_scale.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_scale_column.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_set_stats.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_solve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_start_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_store_lu.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_store_lu_drop.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_symbolic_usage.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_transpose.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_tuple_lengths.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_uhsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_usolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_utsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_valid_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_di_valid_symbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_assemble.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_assemble_fixq.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_blas3_update.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_build_tuples.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_create_elememt.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_extend_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_garbage_collection.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_get_memory.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_grow_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_init_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_kernel.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_kernel_init.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_kernel_wrapup.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_lhsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_local_search.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_lsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_ltsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_mem_alloc_element.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_mem_alloc_head_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_mem_alloc_tail_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_mem_free_tail_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_mem_init_memoryspace.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_row_search.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_scale.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_scale_column.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_set_stats.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_solve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_start_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_store_lu.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_store_lu_drop.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_symbolic_usage.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_transpose.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_tuple_lengths.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_uhsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_usolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_utsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_valid_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_dl_valid_symbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_i_analyze.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_i_apply_order.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_i_cholmod.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_i_colamd.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_i_free.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_i_fsize.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_i_is_permutation.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_i_malloc.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_i_realloc.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_i_singletons.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_l_analyze.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_l_apply_order.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_l_cholmod.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_l_colamd.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_l_free.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_l_fsize.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_l_is_permutation.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_l_malloc.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_l_realloc.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_l_singletons.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_assemble.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_assemble_fixq.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_blas3_update.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_build_tuples.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_create_element.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_extend_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_garbage_collection.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_get_memory.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_grow_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_init_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_kernel.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_kernel_init.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_kernel_wrapup.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_lhsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_local_search.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_lsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_ltsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_mem_alloc_element.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_mem_alloc_head_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_mem_alloc_tail_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_mem_free_tail_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_mem_init_memoryspace.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_row_search.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_scale.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_scale_column.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_set_stats.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_solve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_start_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_store_lu.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_store_lu_drop.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_symbolic_usage.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_transpose.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_tuple_lengths.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_uhsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_usolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_utsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_valid_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zi_valid_symbolic.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_assemble.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_assemble_fixq.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_blas3_update.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_build_tuples.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_create_elememt.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_extend_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_garbage_collection.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_get_memory.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_grow_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_init_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_kernel.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_kernel_init.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_kernel_wrapup.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_lhsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_local_search.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_lsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_ltsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_mem_alloc_element.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_mem_alloc_head_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_mem_alloc_tail_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_mem_free_tail_block.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_mem_init_memoryspace.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_row_search.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_scale.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_scale_column.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_set_stats.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_solve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_start_front.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_store_lu.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_store_lu_drop.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_symbolic_usage.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_transpose.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_tuple_lengths.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_uhsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_usolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_utsolve.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_valid_numeric.obj build\temp.win-amd64-3.6\Release\src/C/SuiteSparse_cvxopt_extra/umfpack\umf_zl_valid_symbolic.obj /OUT:build\lib.win-amd64-3.6\cvxopt\umfpack.cp36-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.6\Release\src/C\umfpack.cp36-win_amd64.lib
umfpack.obj : warning LNK4197: export 'PyInit_umfpack' specified multiple times; using first specification
   Creating library build\temp.win-amd64-3.6\Release\src/C\umfpack.cp36-win_amd64.lib and object build\temp.win-amd64-3.6\Release\src/C\umfpack.cp36-win_amd64.exp
umf_di_blas3_update.obj : error LNK2001: unresolved external symbol dgemm
umf_di_blas3_update.obj : error LNK2001: unresolved external symbol dger
umf_di_blas3_update.obj : error LNK2001: unresolved external symbol dtrsm
umf_di_local_search.obj : error LNK2001: unresolved external symbol dgemv
umf_di_local_search.obj : error LNK2001: unresolved external symbol dtrsv
umf_zi_blas3_update.obj : error LNK2001: unresolved external symbol zgeru
umf_zi_blas3_update.obj : error LNK2001: unresolved external symbol zgemm
umf_zi_blas3_update.obj : error LNK2001: unresolved external symbol ztrsm
umf_zi_local_search.obj : error LNK2001: unresolved external symbol ztrsv
umf_zi_local_search.obj : error LNK2001: unresolved external symbol zgemv

that seem to be in mkl_rt, but not in any of blas, cblas, lapack, lapacke, or blis/openblas and even the netlib blas themselves.

The install instructions for suiteparse talk about:

Use the right BLAS and LAPACK libraries. Determine where your BLAS and LAPACK libraries are. If the default 'make' does not find them, use 'make BLAS=-lmyblaslibraryhere LAPACK=-lmylapackgoeshere'.

I'm not sure how setuptools.Extension deals with that within the cvxopt setup.py, but I think it fundamentally works (as it finds the .lib files; and complains if it doesn't). So I don't know why some standard seeming symbols are missing from blis/openblas. Any help @conda-forge/blas?

@isuruf
Copy link
Member

isuruf commented Mar 28, 2020

First of all, why do you want to build for different variants? Does cvxopt has optimizations for different implementations of blas and lapack?

@h-vetinari
Copy link
Member Author

h-vetinari commented Mar 28, 2020

Thanks for the response. The windows builds used to depend (until #42) on the last available suiteparse version (which isn't being built for windows currently), which caused strong restrictions in the solver (#41).

In the AnacondaRecipe, the solution was to build suiteparse directly in the cvxopt feedstock (windows only). Since suiteparse needs blas/lapack, I wanted to unlock all variants. With the current recipe, it would be impossible to install a non-mkl cvxopt on windows.

@h-vetinari
Copy link
Member Author

@isuruf
Thanks for helping out!

You're also going to need to adapt bld.bat. [you just did, but blis will not be found after your changes to meta.yaml, I'm pretty sure]

Also, without mkl-devel, the build does not find mkl_rt.lib (or at least it didn't when I tried the same).

conda-forge-linter and others added 2 commits March 28, 2020 17:16
@h-vetinari
Copy link
Member Author

@isuruf

With set CVXOPT_BLAS_LIB=blis, the package wasn't found:
LINK : fatal error LNK1181: cannot open input file 'blis.lib'

With set CVXOPT_BLAS_LIB=blas, the same error as before appears. Not sure what magic sauce is in mkl_rt, but we seem to need it.

@isuruf
Copy link
Member

isuruf commented Mar 28, 2020

You need to remove https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/430586d0b796d1a377172f21c3e1bc572878a61a/UMFPACK/Source/cholmod_blas.h#L47 line. Then building with netlib will work. Please have a look at https://conda-forge.org/docs/maintainer/knowledge_base.html#blas . We are building with netlib, but at runtime it will be MKL on windows by default.

@h-vetinari
Copy link
Member Author

Thanks a lot, @isuruf! :)

Not sure how I should have guessed that it's necessary to remove BLAS_NO_UNDERSCORE from the knowledge base FAQ though... 😅

@h-vetinari
Copy link
Member Author

@conda-forge/cvxopt, this is green now, thanks to @isuruf's advice. :)

@h-vetinari
Copy link
Member Author

@conda-forge/cvxopt Hope everyone's back refreshed from weekend, here's another ping before it slides off my "recent activity" in GH. ;-)

@jjhelmus
Copy link
Contributor

LGTM

@jjhelmus jjhelmus merged commit 5ad3cf1 into conda-forge:master Mar 30, 2020
h-vetinari added a commit to h-vetinari/cvxopt-feedstock that referenced this pull request Apr 15, 2020
h-vetinari added a commit to h-vetinari/cvxopt-feedstock that referenced this pull request Apr 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Windows builds for openblas/blis
4 participants