STEllAR-GROUP / hpx

The C++ Standard Library for Parallelism and Concurrency
https://hpx.stellar-group.org
Boost Software License 1.0
2.53k stars 430 forks source link

Build on ppc64 fails #3510

Closed junghans closed 5 years ago

junghans commented 5 years ago

Expected Behavior

Builds

Actual Behavior

Fails:

 2379s] [ 32%] Linking CXX shared library ../lib/libhpx.so
[ 2379s] cd /home/abuild/rpmbuild/BUILD/hpx-1.2.0-rc1/build/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/hpx.dir/link.txt --verbose=1
[ 2379s] /usr/bin/c++ -fPIC -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -DNDEBUG -O2 -g -DNDEBUG -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now -Wl,-z,defs -fvisibility=hidden -shared -Wl,-soname,libhpx.so.1 -o ../lib/libhpx.so.1.2.0 CMakeFiles/hpx.dir/error_code.cpp.o CMakeFiles/hpx.dir/exception.cpp.o CMakeFiles/hpx.dir/exception_list.cpp.o CMakeFiles/hpx.dir/hpx_init.cpp.o CMakeFiles/hpx.dir/runtime.cpp.o CMakeFiles/hpx.dir/runtime_impl.cpp.o CMakeFiles/hpx.dir/state.cpp.o CMakeFiles/hpx.dir/throw_exception.cpp.o CMakeFiles/hpx.dir/version.cpp.o CMakeFiles/hpx.dir/pre_main.cpp.o CMakeFiles/hpx.dir/runtime/actions/base_action.cpp.o CMakeFiles/hpx.dir/runtime/actions/continuation.cpp.o CMakeFiles/hpx.dir/runtime/actions/detail/action_factory.cpp.o CMakeFiles/hpx.dir/runtime/actions/detail/invocation_count_registry.cpp.o CMakeFiles/hpx.dir/runtime/agas/addressing_service.cpp.o CMakeFiles/hpx.dir/runtime/agas/big_boot_barrier.cpp.o CMakeFiles/hpx.dir/runtime/agas/component_namespace.cpp.o CMakeFiles/hpx.dir/runtime/agas/detail/bootstrap_component_namespace.cpp.o CMakeFiles/hpx.dir/runtime/agas/detail/bootstrap_locality_namespace.cpp.o CMakeFiles/hpx.dir/runtime/agas/detail/hosted_component_namespace.cpp.o CMakeFiles/hpx.dir/runtime/agas/detail/hosted_locality_namespace.cpp.o CMakeFiles/hpx.dir/runtime/agas/interface.cpp.o CMakeFiles/hpx.dir/runtime/agas/locality_namespace.cpp.o CMakeFiles/hpx.dir/runtime/agas/primary_namespace.cpp.o CMakeFiles/hpx.dir/runtime/agas/server/component_namespace_server.cpp.o CMakeFiles/hpx.dir/runtime/agas/server/locality_namespace_server.cpp.o CMakeFiles/hpx.dir/runtime/agas/server/primary_namespace_server.cpp.o CMakeFiles/hpx.dir/runtime/agas/server/route.cpp.o CMakeFiles/hpx.dir/runtime/agas/server/symbol_namespace_server.cpp.o CMakeFiles/hpx.dir/runtime/agas/symbol_namespace.cpp.o CMakeFiles/hpx.dir/runtime/applier/applier.cpp.o CMakeFiles/hpx.dir/runtime/applier/bind_naming_wrappers.cpp.o CMakeFiles/hpx.dir/runtime/components/binpacking_distribution_policy.cpp.o CMakeFiles/hpx.dir/runtime/components/component_type.cpp.o CMakeFiles/hpx.dir/runtime/components/console_error_sink.cpp.o CMakeFiles/hpx.dir/runtime/components/console_logging.cpp.o CMakeFiles/hpx.dir/runtime/components/memory.cpp.o CMakeFiles/hpx.dir/runtime/components/runtime_support.cpp.o CMakeFiles/hpx.dir/runtime/components/server/component_base.cpp.o CMakeFiles/hpx.dir/runtime/components/server/console_error_sink_server.cpp.o CMakeFiles/hpx.dir/runtime/components/server/console_error_sink_singleton.cpp.o CMakeFiles/hpx.dir/runtime/components/server/console_logging_server.cpp.o CMakeFiles/hpx.dir/runtime/components/server/destroy_component.cpp.o CMakeFiles/hpx.dir/runtime/components/server/memory_block.cpp.o CMakeFiles/hpx.dir/runtime/components/server/runtime_support_server.cpp.o CMakeFiles/hpx.dir/runtime/components/server/wrapper_heap.cpp.o CMakeFiles/hpx.dir/runtime/components/stubs/memory_block_stubs.cpp.o CMakeFiles/hpx.dir/runtime/components/stubs/memory_stub.cpp.o CMakeFiles/hpx.dir/runtime/components/stubs/runtime_support_stubs.cpp.o CMakeFiles/hpx.dir/runtime/get_locality_name.cpp.o CMakeFiles/hpx.dir/runtime/launch_policy.cpp.o CMakeFiles/hpx.dir/runtime/naming/address.cpp.o CMakeFiles/hpx.dir/runtime/naming/name.cpp.o CMakeFiles/hpx.dir/runtime/parcelset/detail/parcel_await.cpp.o CMakeFiles/hpx.dir/runtime/parcelset/detail/parcel_route_handler.cpp.o CMakeFiles/hpx.dir/runtime/parcelset/detail/per_action_data_counter.cpp.o CMakeFiles/hpx.dir/runtime/parcelset/detail/per_action_data_counter_registry.cpp.o CMakeFiles/hpx.dir/runtime/parcelset/locality.cpp.o CMakeFiles/hpx.dir/runtime/parcelset/parcel.cpp.o CMakeFiles/hpx.dir/runtime/parcelset/parcelhandler.cpp.o CMakeFiles/hpx.dir/runtime/parcelset/parcelport.cpp.o CMakeFiles/hpx.dir/runtime/parcelset/put_parcel.cpp.o CMakeFiles/hpx.dir/runtime/resource/detail/detail_partitioner.cpp.o CMakeFiles/hpx.dir/runtime/resource/partitioner.cpp.o CMakeFiles/hpx.dir/runtime/serialization/detail/polymorphic_id_factory.cpp.o CMakeFiles/hpx.dir/runtime/serialization/detail/polymorphic_intrusive_factory.cpp.o CMakeFiles/hpx.dir/runtime/serialization/detail/polymorphic_nonintrusive_factory.cpp.o CMakeFiles/hpx.dir/runtime/serialization/output_archive.cpp.o CMakeFiles/hpx.dir/runtime/set_parcel_write_handler.cpp.o CMakeFiles/hpx.dir/runtime/threads/coroutines/detail/context_base.cpp.o CMakeFiles/hpx.dir/runtime/threads/coroutines/detail/context_generic_context.cpp.o CMakeFiles/hpx.dir/runtime/threads/coroutines/detail/coroutine_impl.cpp.o CMakeFiles/hpx.dir/runtime/threads/coroutines/detail/coroutine_self.cpp.o CMakeFiles/hpx.dir/runtime/threads/coroutines/detail/tss.cpp.o CMakeFiles/hpx.dir/runtime/threads/coroutines/swapcontext.cpp.o CMakeFiles/hpx.dir/runtime/threads/cpu_mask.cpp.o CMakeFiles/hpx.dir/runtime/threads/detail/io_service_thread_pool.cpp.o CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o CMakeFiles/hpx.dir/runtime/threads/detail/thread_num_tss.cpp.o CMakeFiles/hpx.dir/runtime/threads/executors/current_executor.cpp.o CMakeFiles/hpx.dir/runtime/threads/executors/default_executor.cpp.o CMakeFiles/hpx.dir/runtime/threads/executors/pool_executor.cpp.o CMakeFiles/hpx.dir/runtime/threads/executors/service_executor.cpp.o CMakeFiles/hpx.dir/runtime/threads/executors/this_thread_executors.cpp.o CMakeFiles/hpx.dir/runtime/threads/executors/thread_pool_attached_executors.cpp.o CMakeFiles/hpx.dir/runtime/threads/executors/thread_pool_executors.cpp.o CMakeFiles/hpx.dir/runtime/threads/executors/thread_pool_os_executors.cpp.o CMakeFiles/hpx.dir/runtime/threads/policies/affinity_data.cpp.o CMakeFiles/hpx.dir/runtime/threads/policies/parse_affinity_options.cpp.o CMakeFiles/hpx.dir/runtime/threads/resource_manager.cpp.o CMakeFiles/hpx.dir/runtime/threads/scheduler_specific_ptr.cpp.o CMakeFiles/hpx.dir/runtime/threads/thread.cpp.o CMakeFiles/hpx.dir/runtime/threads/thread_data.cpp.o CMakeFiles/hpx.dir/runtime/threads/thread_executor.cpp.o CMakeFiles/hpx.dir/runtime/threads/thread_helpers.cpp.o CMakeFiles/hpx.dir/runtime/threads/thread_pool_base.cpp.o CMakeFiles/hpx.dir/runtime/threads/threadmanager.cpp.o CMakeFiles/hpx.dir/runtime/threads/topology.cpp.o CMakeFiles/hpx.dir/runtime/trigger_lco.cpp.o CMakeFiles/hpx.dir/performance_counters/counter_creators.cpp.o CMakeFiles/hpx.dir/performance_counters/counter_parser.cpp.o CMakeFiles/hpx.dir/performance_counters/counters.cpp.o CMakeFiles/hpx.dir/performance_counters/manage_counter.cpp.o CMakeFiles/hpx.dir/performance_counters/manage_counter_type.cpp.o CMakeFiles/hpx.dir/performance_counters/performance_counter.cpp.o CMakeFiles/hpx.dir/performance_counters/performance_counter_set.cpp.o CMakeFiles/hpx.dir/performance_counters/registry.cpp.o CMakeFiles/hpx.dir/performance_counters/server/action_invocation_counter.cpp.o CMakeFiles/hpx.dir/performance_counters/server/arithmetics_counter.cpp.o CMakeFiles/hpx.dir/performance_counters/server/arithmetics_counter_extended.cpp.o CMakeFiles/hpx.dir/performance_counters/server/component_instance_counter.cpp.o CMakeFiles/hpx.dir/performance_counters/server/elapsed_time_counter.cpp.o CMakeFiles/hpx.dir/performance_counters/server/per_action_data_counters.cpp.o CMakeFiles/hpx.dir/performance_counters/server/raw_counter.cpp.o CMakeFiles/hpx.dir/performance_counters/server/raw_values_counter.cpp.o CMakeFiles/hpx.dir/performance_counters/server/statistics_counter.cpp.o CMakeFiles/hpx.dir/performance_counters/stubs/performance_counter_stub.cpp.o CMakeFiles/hpx.dir/util/activate_counters.cpp.o CMakeFiles/hpx.dir/util/apex.cpp.o CMakeFiles/hpx.dir/util/asio_util.cpp.o CMakeFiles/hpx.dir/util/backtrace/backtrace.cpp.o CMakeFiles/hpx.dir/util/batch_environment.cpp.o CMakeFiles/hpx.dir/util/batch_environments/alps_environment.cpp.o CMakeFiles/hpx.dir/util/batch_environments/pbs_environment.cpp.o CMakeFiles/hpx.dir/util/batch_environments/slurm_environment.cpp.o CMakeFiles/hpx.dir/util/command_line_handling.cpp.o CMakeFiles/hpx.dir/util/debug/thread_stacktrace.cpp.o CMakeFiles/hpx.dir/util/debugging.cpp.o CMakeFiles/hpx.dir/util/find_prefix.cpp.o CMakeFiles/hpx.dir/util/generate_unique_ids.cpp.o CMakeFiles/hpx.dir/util/ini.cpp.o CMakeFiles/hpx.dir/util/init_ini_data.cpp.o CMakeFiles/hpx.dir/util/integer/int128.cpp.o CMakeFiles/hpx.dir/util/integer/uint128.cpp.o CMakeFiles/hpx.dir/util/interval_timer.cpp.o CMakeFiles/hpx.dir/util/io_service_pool.cpp.o CMakeFiles/hpx.dir/util/itt_notify.cpp.o CMakeFiles/hpx.dir/util/logging.cpp.o CMakeFiles/hpx.dir/util/manage_config.cpp.o CMakeFiles/hpx.dir/util/map_hostnames.cpp.o CMakeFiles/hpx.dir/util/one_size_heap_list.cpp.o CMakeFiles/hpx.dir/util/parse_command_line.cpp.o CMakeFiles/hpx.dir/util/pool_timer.cpp.o CMakeFiles/hpx.dir/util/query_counters.cpp.o CMakeFiles/hpx.dir/util/regex_from_pattern.cpp.o CMakeFiles/hpx.dir/util/register_locks.cpp.o CMakeFiles/hpx.dir/util/register_locks_globally.cpp.o CMakeFiles/hpx.dir/util/runtime_configuration.cpp.o CMakeFiles/hpx.dir/util/sed_transform.cpp.o CMakeFiles/hpx.dir/util/serialize_exception.cpp.o CMakeFiles/hpx.dir/util/set_thread_name.cpp.o CMakeFiles/hpx.dir/util/static_reinit.cpp.o CMakeFiles/hpx.dir/util/thread_aware_timer.cpp.o CMakeFiles/hpx.dir/util/thread_description.cpp.o CMakeFiles/hpx.dir/util/thread_mapper.cpp.o CMakeFiles/hpx.dir/lcos/barrier.cpp.o CMakeFiles/hpx.dir/lcos/base_lco.cpp.o CMakeFiles/hpx.dir/lcos/base_lco_with_value.cpp.o CMakeFiles/hpx.dir/lcos/base_lco_with_value_1.cpp.o CMakeFiles/hpx.dir/lcos/base_lco_with_value_2.cpp.o CMakeFiles/hpx.dir/lcos/base_lco_with_value_3.cpp.o CMakeFiles/hpx.dir/lcos/detail/barrier_node.cpp.o CMakeFiles/hpx.dir/lcos/detail/future_data.cpp.o CMakeFiles/hpx.dir/lcos/latch.cpp.o CMakeFiles/hpx.dir/lcos/local/composable_guard.cpp.o CMakeFiles/hpx.dir/lcos/local/detail/condition_variable.cpp.o CMakeFiles/hpx.dir/lcos/local/local_barrier.cpp.o CMakeFiles/hpx.dir/lcos/local/mutex.cpp.o CMakeFiles/hpx.dir/lcos/promise.cpp.o CMakeFiles/hpx.dir/lcos/when_all_fwd.cpp.o CMakeFiles/hpx.dir/compute/cuda/cuda_target.cpp.o CMakeFiles/hpx.dir/compute/cuda/get_cuda_targets.cpp.o CMakeFiles/hpx.dir/compute/host/get_host_targets.cpp.o CMakeFiles/hpx.dir/compute/host/host_target.cpp.o CMakeFiles/hpx.dir/compute/host/numa_domains.cpp.o CMakeFiles/hpx.dir/compat/compat_barrier.cpp.o CMakeFiles/hpx.dir/__/plugins/parcelport/tcp/connection_handler_tcp.cpp.o CMakeFiles/hpx.dir/__/plugins/parcelport/tcp/parcelport_tcp.cpp.o  -L/home/abuild/rpmbuild/BUILD/hpx-1.2.0-rc1/build/lib -ldl -lrt /usr/lib64/libboost_atomic.so /usr/lib64/libboost_filesystem.so /usr/lib64/libboost_program_options.so /usr/lib64/libboost_regex.so /usr/lib64/libboost_system.so -lpthread /usr/lib64/libboost_atomic.so /usr/lib64/libboost_filesystem.so /usr/lib64/libboost_program_options.so /usr/lib64/libboost_regex.so /usr/lib64/libboost_system.so /usr/lib64/libtcmalloc_minimal.so /usr/lib64/libhwloc.so -lpthread /usr/lib64/libtcmalloc_minimal.so /usr/lib64/libhwloc.so 
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o: in function `boost::lockfree::deque<hpx::util::tuple<hpx::threads::thread_init_data, hpx::threads::thread_state_enum>*, boost::lockfree::caching_freelist_t, std::allocator<hpx::util::tuple<hpx::threads::thread_init_data, hpx::threads::thread_state_enum>*> >::push_left(hpx::util::tuple<hpx::threads::thread_init_data, hpx::threads::thread_state_enum>* const&)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:288: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o: in function `boost::lockfree::deque<hpx::threads::thread_data*, boost::lockfree::caching_freelist_t, std::allocator<hpx::threads::thread_data*> >::push_right(hpx::threads::thread_data* const&)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:288: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o: in function `boost::lockfree::deque<hpx::threads::thread_data*, boost::lockfree::caching_freelist_t, std::allocator<hpx::threads::thread_data*> >::push_left(hpx::threads::thread_data* const&)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:288: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o: in function `boost::lockfree::detail::freelist_stack<boost::lockfree::deque_node<hpx::threads::thread_data*>, std::allocator<boost::lockfree::deque_node<hpx::threads::thread_data*> > >::deallocate_impl(boost::lockfree::deque_node<hpx::threads::thread_data*>*)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:288: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o: in function `boost::lockfree::deque<hpx::threads::thread_data*, boost::lockfree::caching_freelist_t, std::allocator<hpx::threads::thread_data*> >::~deque()':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o: in function `hpx::threads::policies::thread_queue<std::mutex, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo>::thread_queue(unsigned long, unsigned long)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o: in function `hpx::threads::policies::thread_queue<std::mutex, hpx::threads::policies::lockfree_lifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo>::thread_queue(unsigned long, unsigned long)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o: in function `hpx::threads::policies::thread_queue<std::mutex, hpx::threads::policies::lockfree_abp_fifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo>::thread_queue(unsigned long, unsigned long)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o: in function `hpx::threads::policies::thread_queue<std::mutex, hpx::threads::policies::lockfree_abp_lifo, hpx::threads::policies::lockfree_fifo, hpx::threads::policies::lockfree_lifo>::thread_queue(unsigned long, unsigned long)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o: in function `boost::lockfree::detail::freelist_stack<boost::lockfree::deque_node<hpx::util::tuple<hpx::threads::thread_init_data, hpx::threads::thread_state_enum>*>, std::allocator<boost::lockfree::deque_node<hpx::util::tuple<hpx::threads::thread_init_data, hpx::threads::thread_state_enum>*> > >::deallocate_impl(boost::lockfree::deque_node<hpx::util::tuple<hpx::threads::thread_init_data, hpx::threads::thread_state_enum>*>*)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:288: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/threads/detail/scheduled_thread_pool.cpp.o: in function `boost::lockfree::deque<hpx::util::tuple<hpx::threads::thread_init_data, hpx::threads::thread_state_enum>*, boost::lockfree::caching_freelist_t, std::allocator<hpx::util::tuple<hpx::threads::thread_init_data, hpx::threads::thread_state_enum>*> >::~deque()':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/agas/big_boot_barrier.cpp.o: in function `hpx::agas::big_boot_barrier::big_boot_barrier(hpx::parcelset::parcelport*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, hpx::parcelset::locality, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, hpx::parcelset::locality> > > const&, hpx::util::runtime_configuration const&)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/agas/big_boot_barrier.cpp.o: in function `boost::lockfree::queue<hpx::util::unique_function<void (), false>*>::~queue()':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/agas/big_boot_barrier.cpp.o: in function `bool boost::lockfree::queue<hpx::util::unique_function<void (), false>*>::pop<hpx::util::unique_function<void (), false>*>(hpx::util::unique_function<void (), false>*&)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:288: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:288: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:320: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/agas/big_boot_barrier.cpp.o: in function `boost::lockfree::queue<hpx::util::unique_function<void (), false>*>::node* boost::lockfree::detail::freelist_stack<boost::lockfree::queue<hpx::util::unique_function<void (), false>*>::node, std::allocator<boost::lockfree::queue<hpx::util::unique_function<void (), false>*>::node> >::allocate_impl<false>()':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:288: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: CMakeFiles/hpx.dir/runtime/agas/big_boot_barrier.cpp.o: in function `bool boost::lockfree::queue<hpx::util::unique_function<void (), false>*>::do_push<false>(hpx::util::unique_function<void (), false>* const&)':
[ 2402s] /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:239: undefined reference to `__atomic_store_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:250: undefined reference to `__atomic_load_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:320: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:288: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] /usr/lib64/gcc/powerpc64-suse-linux/8/../../../../powerpc64-suse-linux/bin/ld: /usr/include/c++/8/atomic:320: undefined reference to `__atomic_compare_exchange_16'
[ 2402s] collect2: error: ld returned 1 exit status
[ 2402s] make[2]: *** [src/CMakeFiles/hpx.dir/build.make:2758: lib/libhpx.so.1.2.0] Error 1
[ 2402s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/hpx-1.2.0-rc1/build'
[ 2402s] make[1]: *** [CMakeFiles/Makefile2:1832: src/CMakeFiles/hpx.dir/all] Error 2
[ 2402s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/hpx-1.2.0-rc1/build'
[ 2402s] make: *** [Makefile:144: all] Error 2

Steps to Reproduce the Problem

Build on ppc64, details here

Specifications

biddisco commented 5 years ago

This can probably be fix by just adding -latomic to the CMAKE_ LINK_FLAGS (exe or module or something). Not sure why we have this problem, but it happens on some machines but not others for me.

diehlpk commented 5 years ago

This is fixed and the issues can be closed.

junghans commented 5 years ago

This is not fixed in 1.2.0, works on ppc64le, but not on ppc64, please reopen.

junghans commented 5 years ago

@msimberg I was still able to reproduce this with v1.2.1 is that correct?

msimberg commented 5 years ago

@junghans looks like #3557 should've been added to 1.2.1, but I've (unintentionally) left it out. So yes, that would mean it's still broken in 1.2.1. Would you be able to add it as a patch? I'm not sure it's worth the effort to make another patch release (although I've done it once now and it should really be quite quick and painless, so I guess I could do that as well).