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

Question: compiling azure-storage-7.0.0 #309

Open
yxiang92128 opened this issue Dec 3, 2019 · 7 comments
Open

Question: compiling azure-storage-7.0.0 #309

yxiang92128 opened this issue Dec 3, 2019 · 7 comments
Labels

Comments

@yxiang92128
Copy link

Which version of boost library are you compiling with cpprestsdk-2.10.14 and azure-storage-7.0.0?
With GCC 5.1 and on SLES12SP3.

I am getting a compilation error with boost library version 1.68 and up. If compiling with 1.58, I would be ok but I am not sure if 1.58 is too old to be used with:
[ 43%] Building CXX object src/CMakeFiles/azurestorage.dir/logging.cpp.o
In file included from /usr/local/include/boost/atomic/atomic.hpp:22:0,
from /usr/local/include/boost/log/attributes/counter.hpp:26,
from /usr/local/include/boost/log/attributes.hpp:23,
from /var/opt/home/yang/azure-storage-cpp-7.0.0/Microsoft.WindowsAzure.Storage/src/logging.cpp:27:
/usr/local/include/boost/atomic/detail/atomic_template.hpp: In instantiation of ‘boost::atomics::detail::base_atomic<T, int>::value_type boost::atomics::detail::base_atomic<T, int>::fetch_add(boost::atomics::detail::base_atomic<T, int>::difference_type, boost::memory_order) volatile [with T = unsigned int; boost::atomics::detail::base_atomic<T, int>::value_type = unsigned int; boost::atomics::detail::base_atomic<T, int>::difference_type = unsigned int]’:
/usr/local/include/boost/log/attributes/counter.hpp:79:87: required from ‘boost::log::v2_mt_posix::attribute_value boost::log::v2_mt_posix::attributes::counter::impl::get_value() [with T = unsigned int]’
/var/opt/home/yang/azure-storage-cpp-7.0.0/Microsoft.WindowsAzure.Storage/src/logging.cpp:163:3: required from here
/usr/local/include/boost/atomic/detail/atomic_template.hpp:343:175: internal compiler error: in strip_typedefs, at cp/tree.c:1374
e< value_type >(operations::fetch_add(m_storage.value, atomics::detail::integral_extend< operations::is_signed, storage_type >(v), order)
^
Please submit a full bug report,
with preprocessed source if appropriate.
See http://bugs.opensuse.org/ for instructions.
src/CMakeFiles/azurestorage.dir/build.make:638: recipe for target 'src/CMakeFiles/azurestorage.dir/logging.cpp.o' failed
make[2]: *** [src/CMakeFiles/azurestorage.dir/logging.cpp.o] Error 1
CMakeFiles/Makefile2:85: recipe for target 'src/CMakeFiles/azurestorage.dir/all' failed
make[1]: *** [src/CMakeFiles/azurestorage.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

Any hints?

Thanks,

Yang

@Jinming-Hu
Copy link
Member

@yxiang92128 I just tried on SLES 12 and hit the same issue as you did.

The error log you posted is due to a bug from gcc, it should work if you upgrade gcc to a newer version(I tried gcc 6, it works).

Besides, cpprestsdk cannot build with boost >= 1.70 on SLES 12, SLES 15 and CentOS. So you may want to try boost 1.69.

@yxiang92128
Copy link
Author

@JinmingHu-MSFT
Staying with boost 1.58 is okay in your opinion? or 1.68 and later is a must?

We got your email on the Async design and currently gathering internal feedback btw.

Thanks,

Yang

@Jinming-Hu
Copy link
Member

Jinming-Hu commented Dec 5, 2019

@yxiang92128 azure-storage-cpp sdk doesn't depend on boost, cpprestsdk does. I didn't see any requirements for boost in cpprestsdk documents. So I'd like to think 1.58 is ok if it can build.

@Jinming-Hu
Copy link
Member

We're going to close this issue because of inactivity, feel free to reopen it if you have any further questions.

@mcox2016
Copy link

The comment above stating "azure-storage-cpp sdk doesn't depend on boost" is confusing. azure-storage-cpp-7.0.0/Microsoft.WindowsAzure.Storage/src/logging.cpp includes boost header files when compiling for Linux so doesn't that mean there is a dependency? There are a couple other azure-storage source files that also include boost header files.

I'll try again with the gcc 6 version I have available and see if I can get past this.

@Jinming-Hu
Copy link
Member

Jinming-Hu commented Feb 19, 2020

@mcox2016 Sorry, that was my mistake. azure-storage-cpp doesn't depend on boost on Windows, but it does on Linux.

@mcox2016
Copy link

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants