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

Doens't compile when using a 32bit compiler (MSVC 2015) #1

Closed
LePresidente opened this issue Dec 5, 2016 · 5 comments
Closed

Doens't compile when using a 32bit compiler (MSVC 2015) #1

LePresidente opened this issue Dec 5, 2016 · 5 comments

Comments

@LePresidente
Copy link
Contributor

LePresidente commented Dec 5, 2016

Fails to compile when trying to build the 32bit version

F:\Projects\modorganizer-umbrella\output_32\build\usvfs\usvfs\hookcontext.cpp(48): warning C4996: '_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\stdio.h(1952): note: see declaration of '_snprintf'

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/move/detail/type_traits.hpp(761): error C2718: 'boost::container::basic_string<char,std::char_traits<char>,usvfs::shared::CharAllocatorT>': actual parameter with requested alignment of 8 won't be aligned

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/move/detail/type_traits.hpp(825): note: see reference to class template instantiation 'boost::move_detail::is_copy_constructible<T>' being compiled

        with

        [

            T=boost::container::basic_string<char,std::char_traits<char>,usvfs::shared::CharAllocatorT>

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/move/detail/meta_utils.hpp(357): note: see reference to class template instantiation 'boost::move_detail::is_trivially_copy_constructible<boost::container::basic_string<char,std::char_traits<char>,usvfs::shared::CharAllocatorT>>' being compiled

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/move/detail/meta_utils.hpp(375): note: see reference to class template instantiation 'boost::move_detail::and_impl<true,B,C,D>' being compiled

        with

        [

            B=boost::move_detail::is_trivially_copy_constructible<boost::container::basic_string<char,std::char_traits<char>,usvfs::shared::CharAllocatorT>>,

            C=boost::move_detail::true_,

            D=boost::move_detail::true_

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/detail/copy_move_algo.hpp(149): note: see reference to class template instantiation 'boost::move_detail::and_<boost::container::container_detail::are_contiguous_and_same<I,O>,boost::move_detail::is_trivially_copy_constructible<boost::container::basic_string<char,std::char_traits<char>,usvfs::shared::CharAllocatorT>>,boost::move_detail::true_,boost::move_detail::true_>' being compiled

        with

        [

            I=usvfs::shared::StringT *,

            O=usvfs::shared::StringT *

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/move/detail/meta_utils_core.hpp(68): note: see reference to class template instantiation 'boost::container::container_detail::is_memtransfer_copy_constructible<I,O>' being compiled

        with

        [

            I=usvfs::shared::StringT *,

            O=usvfs::shared::StringT *

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/detail/copy_move_algo.hpp(154): note: see reference to class template instantiation 'boost::move_detail::enable_if<boost::container::container_detail::is_memtransfer_copy_constructible<I,O>,R>' being compiled

        with

        [

            I=usvfs::shared::StringT *,

            O=usvfs::shared::StringT *,

            R=usvfs::shared::StringT *

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/vector.hpp(2947): note: see reference to class template instantiation 'boost::container::container_detail::enable_if_memtransfer_copy_constructible<T *,T *,T *>' being compiled

        with

        [

            T=usvfs::shared::StringT

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/vector.hpp(2802): note: see reference to function template instantiation 'void boost::container::vector<Value,Allocator>::priv_forward_range_insert_expand_forward<InsertionProxy>(T *const ,const unsigned int,InsertionProxy)' being compiled

        with

        [

            Value=usvfs::shared::StringT,

            Allocator=usvfs::StringAllocatorT,

            InsertionProxy=boost::container::container_detail::insert_move_proxy<usvfs::StringAllocatorT,usvfs::shared::StringT *>,

            T=usvfs::shared::StringT

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/vector.hpp(2802): note: see reference to function template instantiation 'void boost::container::vector<Value,Allocator>::priv_forward_range_insert_expand_forward<InsertionProxy>(T *const ,const unsigned int,InsertionProxy)' being compiled

        with

        [

            Value=usvfs::shared::StringT,

            Allocator=usvfs::StringAllocatorT,

            InsertionProxy=boost::container::container_detail::insert_move_proxy<usvfs::StringAllocatorT,usvfs::shared::StringT *>,

            T=usvfs::shared::StringT

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/vector.hpp(2610): note: see reference to function template instantiation 'boost::container::container_detail::vec_iterator<boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0>,false> boost::container::vector<Value,Allocator>::priv_forward_range_insert<boost::container::container_detail::insert_move_proxy<Allocator,T *>>(const boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0> &,const unsigned int,const InsertionProxy)' being compiled

        with

        [

            U=usvfs::shared::StringT,

            DifferenceType=int32_t,

            OffsetType=uint64_t,

            Value=usvfs::shared::StringT,

            Allocator=usvfs::StringAllocatorT,

            T=usvfs::shared::StringT,

            InsertionProxy=boost::container::container_detail::insert_move_proxy<usvfs::StringAllocatorT,usvfs::shared::StringT *>

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/vector.hpp(2609): note: see reference to function template instantiation 'boost::container::container_detail::vec_iterator<boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0>,false> boost::container::vector<Value,Allocator>::priv_forward_range_insert<boost::container::container_detail::insert_move_proxy<Allocator,T *>>(const boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0> &,const unsigned int,const InsertionProxy)' being compiled

        with

        [

            U=usvfs::shared::StringT,

            DifferenceType=int32_t,

            OffsetType=uint64_t,

            Value=usvfs::shared::StringT,

            Allocator=usvfs::StringAllocatorT,

            T=usvfs::shared::StringT,

            InsertionProxy=boost::container::container_detail::insert_move_proxy<usvfs::StringAllocatorT,usvfs::shared::StringT *>

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/vector.hpp(1864): note: see reference to function template instantiation 'boost::container::container_detail::vec_iterator<boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0>,false> boost::container::vector<Value,Allocator>::priv_insert<boost::container::basic_string<char,std::char_traits<char>,usvfs::shared::CharAllocatorT>>(const boost::container::container_detail::vec_iterator<boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0>,true> &,U &&)' being compiled

        with

        [

            U=usvfs::shared::StringT,

            DifferenceType=int32_t,

            OffsetType=uint64_t,

            Value=usvfs::shared::StringT,

            Allocator=usvfs::StringAllocatorT

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/vector.hpp(1864): note: see reference to function template instantiation 'boost::container::container_detail::vec_iterator<boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0>,false> boost::container::vector<Value,Allocator>::priv_insert<boost::container::basic_string<char,std::char_traits<char>,usvfs::shared::CharAllocatorT>>(const boost::container::container_detail::vec_iterator<boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0>,true> &,U &&)' being compiled

        with

        [

            U=usvfs::shared::StringT,

            DifferenceType=int32_t,

            OffsetType=uint64_t,

            Value=usvfs::shared::StringT,

            Allocator=usvfs::StringAllocatorT

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/vector.hpp(1864): note: while compiling class template member function 'boost::container::container_detail::vec_iterator<boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0>,false> boost::container::vector<Value,Allocator>::insert(boost::container::container_detail::vec_iterator<boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0>,true>,T &&)'

        with

        [

            U=usvfs::shared::StringT,

            DifferenceType=int32_t,

            OffsetType=uint64_t,

            Value=usvfs::shared::StringT,

            Allocator=usvfs::StringAllocatorT,

            T=usvfs::shared::StringT

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/detail/flat_tree.hpp(841): note: see reference to function template instantiation 'boost::container::container_detail::vec_iterator<boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0>,false> boost::container::vector<Value,Allocator>::insert(boost::container::container_detail::vec_iterator<boost::interprocess::offset_ptr<U,DifferenceType,OffsetType,0>,true>,T &&)' being compiled

        with

        [

            U=usvfs::shared::StringT,

            DifferenceType=int32_t,

            OffsetType=uint64_t,

            Value=usvfs::shared::StringT,

            Allocator=usvfs::StringAllocatorT,

            T=usvfs::shared::StringT

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/detail/flat_tree.hpp(173): note: see reference to class template instantiation 'boost::container::vector<Value,Allocator>' being compiled

        with

        [

            Value=usvfs::shared::StringT,

            Allocator=usvfs::StringAllocatorT

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/detail/flat_tree.hpp(176): note: see reference to class template instantiation 'boost::container::container_detail::flat_tree<Key,Key,boost::move_detail::identity<Key>,Compare,Allocator>::Data' being compiled

        with

        [

            Key=usvfs::shared::StringT,

            Compare=std::less<usvfs::shared::StringT>,

            Allocator=usvfs::StringAllocatorT

        ]

F:\Projects\modorganizer-umbrella\output_32\build\boost_1_60_0\boost/container/flat_set.hpp(74): note: see reference to class template instantiation 'boost::container::container_detail::flat_tree<Key,Key,boost::move_detail::identity<Key>,Compare,Allocator>' being compiled

        with

        [

            Key=usvfs::shared::StringT,

            Compare=std::less<usvfs::shared::StringT>,

            Allocator=usvfs::StringAllocatorT

        ]

f:\projects\modorganizer-umbrella\output_32\build\usvfs\usvfs\hookcontext.h(85): note: see reference to class template instantiation 'boost::container::flat_set<usvfs::shared::StringT,std::less<usvfs::shared::StringT>,usvfs::StringAllocatorT>' being compiled


@LePresidente
Copy link
Contributor Author

@TanninOne
Copy link
Owner

It's possible this is because of boost 1.60, My builds were with 1.58 I think.
The shared memory lib in boost is a massive pain in the ass, I wouldn't be surprised if a version upgrade breaks it.

You could try using the newest boost (1.62), both 1.61 and 1.62 contain fixes to boost/container and boost/interprocess.
If that doesn't help, try going back to 1.58.

If that doesn't fix it it's some change in the msvc compiler.

@LePresidente
Copy link
Contributor Author

looks more like a msvc compiler issue which is out of my depth, will have to wait and see if anyone picks this up till then can't really continue

@TanninOne
Copy link
Owner

Well, you don't necessarily need to rebuild usvfs, it should be ok if you rebuild just the ui and bundle the old usvfs libraries.

@LePresidente
Copy link
Contributor Author

TanninOne pushed a commit that referenced this issue Aug 17, 2018
TanninOne pushed a commit that referenced this issue Aug 17, 2018
Match Main Repo (reverted from commit a99ea84)
TanninOne pushed a commit that referenced this issue Aug 17, 2018
Allow overwriting paths to external dependencies and default to "py -2"
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

2 participants