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

Windows 32-bit issue #734

Closed
isuruf opened this issue Apr 11, 2018 · 9 comments
Closed

Windows 32-bit issue #734

isuruf opened this issue Apr 11, 2018 · 9 comments
Milestone

Comments

@isuruf
Copy link
Member

isuruf commented Apr 11, 2018

See https://ci.appveyor.com/project/isuruf/boost-cpp-feedstock/build/1.0.24

The recipe doesn't use compiler jinja functions and therefore has no c_compiler nor zip_keys entries.

@isuruf isuruf added this to the 3.0.0 milestone Apr 11, 2018
@scopatz
Copy link
Member

scopatz commented Apr 11, 2018

Thanks for opening this @isuruf. Shouldn't this be changed in the recipes that need it since it is an edit to the meta.yaml?

@msarahan
Copy link
Member

yes, no cross-compilation is possible without using the compiler jinja2. The target_platform key is what we depend on, but that's not used with the legacy compiler setup.

TBH, this is not something we should fix. This is a great reason to switch to the new recipe style. Also, didn't we vote to drop win-32 anyway?

@isuruf
Copy link
Member Author

isuruf commented Apr 11, 2018

Looks like it's not a win-32 issue anyway.

This is a great reason to switch to the new recipe style.

You mean switch to the new recipe style only for windows?

@isuruf
Copy link
Member Author

isuruf commented Apr 11, 2018

@ocefpaf
Copy link
Member

ocefpaf commented Apr 11, 2018

Also, didn't we vote to drop win-32 anyway?

My bad. Dropped the ball on the announcement. Just triggered that on our main channels:

conda-forge/staged-recipes#5640

@msarahan
Copy link
Member

yeah, that boost issue is pretty squirrelly. Things are getting very confused on which compiler is active, fwict:

(base) C:\Miniconda36-x64\conda-bld\boost-cpp_1523463342065\work>call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\..\..\VC\vcvarsall.bat" amd64 
The specified configuration type is missing.  The tools for the
configuration might not be installed.
(base) C:\Miniconda36-x64\conda-bld\boost-cpp_1523463342065\work>set "INCLUDE=C:\Miniconda36-x64\conda-bld\boost-cpp_1523463342065\_h_env\Library\include;" 
(base) C:\Miniconda36-x64\conda-bld\boost-cpp_1523463342065\work>set "LIB=C:\Miniconda36-x64\conda-bld\boost-cpp_1523463342065\_h_env\Library\lib;" 
(base) C:\Miniconda36-x64\conda-bld\boost-cpp_1523463342065\work>call "C:\Miniconda36-x64\Scripts\activate.bat" "C:\Miniconda36-x64\conda-bld\boost-cpp_1523463342065\_h_env" 
(C:\Miniconda36-x64\conda-bld\boost-cpp_1523463342065\_h_env) C:\Miniconda36-x64\conda-bld\boost-cpp_1523463342065\work>REM ===== end generated header ===== 
(C:\Miniconda36-x64\conda-bld\boost-cpp_1523463342065\_h_env) C:\Miniconda36-x64\conda-bld\boost-cpp_1523463342065\work>call bootstrap.bat 
Building Boost.Build engine
Bootstrapping is done. To build, run:
    .\b2
    
To adjust configuration, edit 'project-config.jam'.
Further information:
    - Command line help:
    .\b2 --help
     
    - Getting started guide: 
    http://boost.org/more/getting_started/windows.html
     
    - Boost.Build documentation:
    http://www.boost.org/build/doc/html/index.html
...found 1 target...
...updating 1 target...
msvc.write-setup-script C:\Users\appveyor\AppData\Local\Temp\1\b2_msvc_14.0_vcvarsall_x86.cmd
...updated 1 target...
...found 1 target...
...updating 1 target...
msvc.write-setup-script C:\Users\appveyor\AppData\Local\Temp\1\b2_msvc_14.0_vcvarsall_amd64.cmd
...updated 1 target...
...found 1 target...
...updating 1 target...
msvc.write-setup-script C:\Users\appveyor\AppData\Local\Temp\1\b2_msvc_14.0_vcvarsall_x86_arm.cmd
...updated 1 target...
...found 1 target...
...updating 1 target...
msvc.write-setup-script C:\Users\appveyor\AppData\Local\Temp\1\b2_msvc_9.0_vcvarsall_x86.cmd
...updated 1 target...
Performing configuration checks
    - 32-bit                   : yes
    - arm                      : no
    - mips1                    : no
    - power                    : no
    - sparc                    : no
    - x86                      : yes
    - symlinks supported       : yes
    - C++11 mutex              : no
    - Boost.Config Feature Check: cxx11_auto_declarations : no
    - Boost.Config Feature Check: cxx11_constexpr : no
    - Boost.Config Feature Check: cxx11_defaulted_functions : no
    - Boost.Config Feature Check: cxx11_final : no
    - Boost.Config Feature Check: cxx11_hdr_mutex : no
    - Boost.Config Feature Check: cxx11_hdr_regex : no
    - Boost.Config Feature Check: cxx11_hdr_tuple : no
    - Boost.Config Feature Check: cxx11_lambdas : no
    - Boost.Config Feature Check: cxx11_noexcept : no
    - Boost.Config Feature Check: cxx11_nullptr : no
    - Boost.Config Feature Check: cxx11_rvalue_references : no
    - Boost.Config Feature Check: cxx11_template_aliases : no
    - Boost.Config Feature Check: cxx11_thread_local : no
    - Boost.Config Feature Check: cxx11_variadic_templates : no
    - has_icu builds           : no
warning: Graph library does not contain MPI-based parallel components.

I'm concerned about the msvc_14 stuff in there, and also about the cxx11 stuff - seems like if it is really vs2015, those should all be yes, not no. This is probably going to require some local debugging.

@jakirkham
Copy link
Member

Yeah can reproduce this on 64-bit Windows with boost-cpp using the new compiler stuff (assuming I didn't mess it up).

ref: https://ci.appveyor.com/project/conda-forge/boost-cpp-feedstock/build/1.0.71/job/5o3gt8mjqf88900v?fullLog=true#L479

@jakirkham
Copy link
Member

So I think that line from Boost is misleading. It may mean something totally different. The 64-bit builds are generating 64-bit binaries. Also the conda-smithy 2/conda-build 2 based builds said the same thing for 64-bit jobs, which AFAIK did not generate binaries for the incorrect architecture. FWIW the same is true of the 32-bit builds. TL;DR adding the compiler seems to be enough for creating acceptable binaries with conda-smithy 3/conda-build 3 for the correct architecture.

@msarahan
Copy link
Member

yeah, adding the compiler stuff should definitely work, but IMHO it should not be a hard requirement. It may be one we impose by policy, but should not be a technical requirement. I will work on fixing the issue so that recipes without the new compiler information still work.

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

No branches or pull requests

5 participants