-
Notifications
You must be signed in to change notification settings - Fork 201
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
arm gcc 4.8 error #48
Comments
You need a toolchain that targets ARMv7+ (which has lock-free atomic support), or a more recent version of GCC. |
When I add this parameter it produces the following error add_definitions("-gstabs+ -march=armv7-a -mtune=cortex-a8") [build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:400: undefined reference to |
libstdc++ also needs to be compiled with these flags. |
/opt/arm-2014/arm-2014.05//bin/arm-none-linux-gnueabi-g++ -DLIBASYNC_STATIC -isystem /home/cyc/oscmake/3rdparty/asyncplusplus/include -g -std=gnu++11 -o CMakeFiles/asyncplusplus.out.dir/src/asyncplusplus.cpp.o -c /home/cyc/oscmake/src/asyncplusplus.cpp
[build] /usr/bin/make -f CMakeFiles/serial.out.dir/build.make CMakeFiles/serial.out.dir/depend
[build] make[2]: Entering directory '/home/cyc/oscmake/build'
[build] cd /home/cyc/oscmake/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/cyc/oscmake /home/cyc/oscmake /home/cyc/oscmake/build /home/cyc/oscmake/build /home/cyc/oscmake/build/CMakeFiles/serial.out.dir/DependInfo.cmake --color=
[build] make[2]: Leaving directory '/home/cyc/oscmake/build'
[build] /usr/bin/make -f CMakeFiles/serial.out.dir/build.make CMakeFiles/serial.out.dir/build
[build] make[2]: Entering directory '/home/cyc/oscmake/build'
[build] make[2]: Nothing to be done for 'CMakeFiles/serial.out.dir/build'.
[build] make[2]: Leaving directory '/home/cyc/oscmake/build'
[build] [ 90%] Built target serial.out
[build] In file included from /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++.h:141:0,
[build] from /home/cyc/oscmake/src/asyncplusplus.cpp:2:
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:55:34: error: 'std::exception_ptr' has not been declared
[build] void (cancel)(task_base, std::exception_ptr&&) LIBASYNC_NOEXCEPT;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::task_base::run_continuation(Sched&, async::detail::task_ptr&&)':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:104:37: error: 'current_exception' is not a member of 'std'
[build] cont->vtable->cancel(cont.get(), std::current_exception());
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: At global scope:
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:31: error: 'exception_ptr' is not a member of 'std'
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:70: error: 'exception_ptr' is not a member of 'std'
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:70: error: 'exception_ptr' is not a member of 'std'
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:88: error: template argument 1 is invalid
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:96: error: template argument 1 is invalid
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:96: error: template argument 2 is invalid
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:99: error: expected ';' at end of member declaration
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:170:104: error: 'except' does not name a type
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:31: error: 'exception_ptr' is not a member of 'std'
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:70: error: 'exception_ptr' is not a member of 'std'
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:70: error: 'exception_ptr' is not a member of 'std'
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:88: error: template argument 1 is invalid
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:96: error: template argument 1 is invalid
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:96: error: template argument 2 is invalid
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:99: error: expected ';' at end of member declaration
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:211:104: error: 'except' does not name a type
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:31: error: 'exception_ptr' is not a member of 'std'
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:70: error: 'exception_ptr' is not a member of 'std'
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:70: error: 'exception_ptr' is not a member of 'std'
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:88: error: template argument 1 is invalid
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:96: error: template argument 1 is invalid
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:96: error: template argument 2 is invalid
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:99: error: expected ';' at end of member declaration
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:236:104: error: 'except' does not name a type
[build] std::aligned_storage<sizeof(std::exception_ptr), std::alignment_ofstd::exception_ptr::value>::type except;
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:274:24: error: 'std::exception_ptr' has not been declared
[build] void cancel_base(std::exception_ptr&& except_)
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:282:26: error: 'std::exception_ptr' has not been declared
[build] void set_exception(std::exception_ptr&& except_)
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:288:2: error: 'exception_ptr' in namespace 'std' does not name a type
[build] std::exception_ptr& get_exception()
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In destructor 'async::detail::task_result::~task_result()':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:21: error: expected type-specifier
[build] reinterpret_caststd::exception_ptr*(&this->except)->~exception_ptr();
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:21: error: expected '>'
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:21: error: expected '('
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:21: error: 'exception_ptr' is not a member of 'std'
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:40: error: expected primary-expression before '>' token
[build] reinterpret_caststd::exception_ptr*(&this->except)->~exception_ptr();
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:270:74: error: expected ')' before ';' token
[build] reinterpret_caststd::exception_ptr*(&this->except)->~exception_ptr();
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::task_result::set_exception(int&&)':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:284:22: error: expected type-specifier
[build] new(&this->except) std::exception_ptr(std::move(except_));
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:284:22: error: expected ';'
[build] In file included from /home/cyc/oscmake/src/asyncplusplus.cpp:2:0:
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::task_result::wait_and_throw()':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:297:4: error: 'rethrow_exception' is not a member of 'std'
[build] LIBASYNC_RETHROW_EXCEPTION(get_exception());
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:297:4: error: there are no arguments to 'get_exception' that depend on a template parameter, so a declaration of 'get_exception' must be available [-fpermissive]
[build] LIBASYNC_RETHROW_EXCEPTION(get_exception());
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:297:4: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
[build] In file included from /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++.h:141:0,
[build] from /home/cyc/oscmake/src/asyncplusplus.cpp:2:
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: At global scope:
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:405:40: error: 'std::exception_ptr' has not been declared
[build] static void cancel(task_base* t, std::exception_ptr&& except) LIBASYNC_NOEXCEPT
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In static member function 'static void async::detail::task_func<Sched, Func, Result>::run(async::detail::task_base*)':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:400:14: error: 'current_exception' is not a member of 'std'
[build] cancel(t, std::current_exception());
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::unwrapped_func<Result, Child>::operator()(Child) const':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:473:25: error: 'exception_ptr' is not a member of 'std'
[build] parent->cancel_base(std::exception_ptr(get_internal_task(child_task)->get_exception()));
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:477:24: error: 'current_exception' is not a member of 'std'
[build] parent->cancel_base(std::current_exception());
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In function 'void async::detail::unwrapped_finish(async::detail::task_base*, Child)':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:495:63: error: 'current_exception' is not a member of 'std'
[build] static_cast<task_result>(parent_base)->cancel_base(std::current_exception());
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::continuation_exec_func<Sched, Parent, Result, Func, std::integral_constant<bool, true>, false>::operator()(async::detail::task_base)':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:548:64: error: 'exception_ptr' is not a member of 'std'
[build] task_func<Sched, continuation_exec_func, Result>::cancel(t, std::exception_ptr(get_internal_task(parent)->get_exception()));
[build] ^
[build] In file included from /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++.h:141:0,
[build] from /home/cyc/oscmake/src/asyncplusplus.cpp:2:
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::continuation_exec_func<Sched, Parent, Result, Func, async::detail::fake_void, false>::operator()(async::detail::task_base*)':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:565:64: error: 'exception_ptr' is not a member of 'std'
[build] task_func<Sched, continuation_exec_func, Result>::cancel(t, std::exception_ptr(get_internal_task(parent)->get_exception()));
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::continuation_exec_func<Sched, Parent, Result, Func, std::integral_constant<bool, true>, true>::operator()(async::detail::task_base*)':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:593:64: error: 'exception_ptr' is not a member of 'std'
[build] task_func<Sched, continuation_exec_func, Result>::cancel(t, std::exception_ptr(get_internal_task(parent)->get_exception()));
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h: In member function 'void async::detail::continuation_exec_func<Sched, Parent, Result, Func, async::detail::fake_void, true>::operator()(async::detail::task_base*)':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task_base.h:607:64: error: 'exception_ptr' is not a member of 'std'
[build] task_func<Sched, continuation_exec_func, Result>::cancel(t, std::exception_ptr(get_internal_task(parent)->get_exception()));
[build] ^
[build] In file included from /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++.h:142:0,
[build] from /home/cyc/oscmake/src/asyncplusplus.cpp:2:
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/scheduler.h: In destructor 'async::task_run_handle::~task_run_handle()':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/scheduler.h:121:41: error: 'make_exception_ptr' is not a member of 'std'
[build] handle->vtable->cancel(handle.get(), std::make_exception_ptr(task_not_executed()));
[build] ^
[build] In file included from /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++.h:143:0,
[build] from /home/cyc/oscmake/src/asyncplusplus.cpp:2:
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h: At global scope:
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:118:2: error: 'exception_ptr' in namespace 'std' does not name a type
[build] std::exception_ptr get_exception() const
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:218:26: error: 'std::exception_ptr' has not been declared
[build] bool set_exception(std::exception_ptr except) const
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h: In member function 'bool async::detail::basic_event::set_internal(T&&) const':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:166:42: error: 'current_exception' is not a member of 'std'
[build] get_internal_task(*this)->cancel_base(std::current_exception());
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h: In destructor 'async::detail::basic_event::~basic_event()':
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:197:18: error: 'make_exception_ptr' is not a member of 'std'
[build] set_exception(std::make_exception_ptr(abandoned_event_task()));
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h: At global scope:
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:466:2: error: 'exception_ptr' in namespace 'std' does not name a type
[build] std::exception_ptr get_exception() const
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:545:34: error: template declaration of 'async::task async::make_exception_task'
[build] task make_exception_task(std::exception_ptr except)
[build] ^
[build] /home/cyc/oscmake/3rdparty/asyncplusplus/include/async++/task.h:545:29: error: 'exception_ptr' is not a member of 'std'
[build] task make_exception_task(std::exception_ptr except)
[build] ^
[build] make[2]: *** [CMakeFiles/asyncplusplus.out.dir/build.make:66: CMakeFiles/asyncplusplus.out.dir/src/asyncplusplus.cpp.o] Error 1
[build] make[2]: Leaving directory '/home/cyc/oscmake/build'
[build] make[1]: Leaving directory '/home/cyc/oscmake/build'
[build] make[1]: *** [CMakeFiles/Makefile2:679: CMakeFiles/asyncplusplus.out.dir/all] Error 2
[build] make: *** [Makefile:120: all] Error 2
[build] Build finished with exit code 2
$ /opt/arm-2014/arm-2014.05//bin/arm-none-linux-gnueabi-g++ -vUsing built-in specs.
COLLECT_GCC=/opt/arm-2014/arm-2014.05//bin/arm-none-linux-gnueabi-g++
COLLECT_LTO_WRAPPER=/opt/arm-2014/arm-2014.05/bin/../libexec/gcc/arm-none-linux-gnueabi/4.8.3/lto-wrapper
Target: arm-none-linux-gnueabi
Configured with: /scratch/maciej/arm-linux-2014.05-rel/src/gcc-4.8-2014.05/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-arch=armv5te --with-gnu-as --with-gnu-ld --with-specs='%{save-temps: -fverbose-asm} %{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables} -D__CS_SOURCERYGXX_MAJ__=2014 -D__CS_SOURCERYGXX_MIN__=5 -D__CS_SOURCERYGXX_REV__=29' --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery CodeBench Lite 2014.05-29' --with-bugurl=https://sourcery.mentor.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/maciej/arm-linux-2014.05-rel/install/opt/codesourcery/arm-none-linux-gnueabi/libc --with-gmp=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-mpfr=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-mpc=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-isl=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-cloog=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --disable-libgomp --disable-libitm --enable-libatomic --disable-libssp --enable-poison-system-directories --with-build-time-tools=/scratch/maciej/arm-linux-2014.05-rel/install/opt/codesourcery/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/maciej/arm-linux-2014.05-rel/install/opt/codesourcery/arm-none-linux-gnueabi/bin SED=sed
Thread model: posix
gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29)
cyc@cqset ~/oscmake master
$
The text was updated successfully, but these errors were encountered: