GameAnalytics / GA-SDK-DEFOLD

Repository for GameAnalytics Defold SDK
MIT License
14 stars 7 forks source link

Version 4.1.2 doesn't build on Linux #37

Closed JCash closed 2 years ago

JCash commented 2 years ago

I suspect the library libGameAnalytics.a library has been rebuilt with a too new linux version? We (unfortunately) still use a Ubuntu 16.04 Docker container, together with Clang 10.

Here's the full log with the errors.

CMD: clang++ -DDLIB_LOG_DOMAIN="GAMEANALYTICS" -DDM_PLATFORM_LINUX -DDDF_EXPOSE_DESCRIPTORS -D__STDC_LIMIT_MACROS -DLUA_BYTECODE_ENABLE_64 -DDM_DEBUG  -ffloat-store -g -O2 -D__STDC_LIMIT_MACROS -Wall -Werror=format -fno-exceptions -fPIC -fvisibility=hidden -std=c++11  -Iupload/gameanalytics/include/ -Ibuild/gameanalytics/ -Iupload/ -Iupload/openssl/include/  -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//sdk/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include/x86_64-linux  upload/gameanalytics/src/gameanalytics.cpp -c -o build/gameanalytics.cpp_0.o
CMD: clang++ -DDLIB_LOG_DOMAIN="GAMEANALYTICS" -DDM_PLATFORM_LINUX -DDDF_EXPOSE_DESCRIPTORS -D__STDC_LIMIT_MACROS -DLUA_BYTECODE_ENABLE_64 -DDM_DEBUG  -ffloat-store -g -O2 -D__STDC_LIMIT_MACROS -Wall -Werror=format -fno-exceptions -fPIC -fvisibility=hidden -std=c++11  -Iupload/gameanalytics/include/ -Ibuild/gameanalytics/ -Iupload/ -Iupload/openssl/include/  -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//sdk/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include/x86_64-linux  upload/gameanalytics/src/android/GameAnalyticsJNI.cpp -c -o build/GameAnalyticsJNI.cpp_2.o
CMD: clang++ -DDLIB_LOG_DOMAIN="GAMEANALYTICS" -DDM_PLATFORM_LINUX -DDDF_EXPOSE_DESCRIPTORS -D__STDC_LIMIT_MACROS -DLUA_BYTECODE_ENABLE_64 -DDM_DEBUG  -ffloat-store -g -O2 -D__STDC_LIMIT_MACROS -Wall -Werror=format -fno-exceptions -fPIC -fvisibility=hidden -std=c++11  -Iupload/gameanalytics/include/ -Ibuild/gameanalytics/ -Iupload/ -Iupload/openssl/include/  -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//sdk/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include/x86_64-linux  upload/gameanalytics/src/GameAnalyticsDefold.cpp -c -o build/GameAnalyticsDefold.cpp_1.o
CMD: llvm-ar rcs /tmp/job8039952397951946392/build/libGameAnalytics_1.a build/gameanalytics.cpp_0.o build/GameAnalyticsDefold.cpp_1.o build/GameAnalyticsJNI.cpp_2.o 
2021-10-13 07:12:25.693 - INFO 7 --- [job8039952397951946392] com.defold.extender.Extender             : Converting .proto to engine .cpp files for extension openssl
CMD: clang++ -DDLIB_LOG_DOMAIN="OPENSSL" -DDM_PLATFORM_LINUX -DDDF_EXPOSE_DESCRIPTORS -D__STDC_LIMIT_MACROS -DLUA_BYTECODE_ENABLE_64 -DDM_DEBUG  -ffloat-store -g -O2 -D__STDC_LIMIT_MACROS -Wall -Werror=format -fno-exceptions -fPIC -fvisibility=hidden -std=c++11  -Iupload/openssl/include/ -Ibuild/openssl/ -Iupload/ -Iupload/gameanalytics/include/  -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//sdk/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include/x86_64-linux  upload/openssl/src/openssl.cpp -c -o build/openssl.cpp_2.o
CMD: llvm-ar rcs /tmp/job8039952397951946392/build/libOpenSSL_3.a build/openssl.cpp_2.o 
2021-10-13 07:12:25.808 - INFO 7 --- [job8039952397951946392] com.defold.extender.Extender             : Linking engine
CMD: clang++ -DDLIB_LOG_DOMAIN="ENGINE_MAIN" -DDM_PLATFORM_LINUX -DDDF_EXPOSE_DESCRIPTORS -D__STDC_LIMIT_MACROS -DLUA_BYTECODE_ENABLE_64 -DDM_DEBUG  -ffloat-store -g -O2 -D__STDC_LIMIT_MACROS -Wall -Werror=format -fno-exceptions -fPIC -fvisibility=hidden -std=c++11 -std=c++11   -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//sdk/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include/x86_64-linux  build/main.cpp -c -o build/main_tmp4.o
CMD: clang++ build/main_tmp4.o  -o build/dmengine  -L/tmp/job8039952397951946392/build -L/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux -L/tmp/job8039952397951946392/upload/openssl/lib/x86_64-linux  -L/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//lib/x86_64-linux -L/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/lib/x86_64-linux  -Wl,-Bstatic -Wl,--start-group -lengine -lengine_service -lmbedtls -lzip -lwebviewext -lprofilerext -lfacebookext -liapext -lpushext -liacext -lrecord -lgameobject -lddf -lresource -lgamesys -lgraphics -lgraphics_transcoder_basisu -lbasis_transcoder -lphysics -lBulletDynamics -lBulletCollision -lLinearMath -lBox2D -lrender -lscript -lluajit-5.1 -lextension -lhid -linput -lparticle -lrig -ldlib -ldmglfw -lgui -lcrashext -lliveupdate -lsound -ltremolo -lvpx   -lssl -lcurl -lcrypto -lOpenSSL_3 -lGameAnalytics_1 -lGameAnalytics  -Wl,--end-group -Wl,-Bdynamic -Wl,-rpath=$ORIGIN,--enable-new-dtags  -lopenal -lXext -lX11 -lXi -lGL -lGLU -lpthread -lm -ldl 
2021-10-13 07:12:26.245 -ERROR 7 --- [job8039952397951946392] com.defold.extender.ExtenderController   : Exception while building or sending response - SDK: 0a8d3e879724132afb18d47e0040c2034be07504 , metrics: metrics={job.cache.download=23, job.cache.downloadSize=7, job.receive=47, job.requestSize=3528238, job.sdk.0a8d3e879724132afb18d47e0040c2034be07504=1, job.sdkDownload=0}
2021-10-13 07:12:26.277 - INFO 7 --- [job8039952397951946392] c.d.extender.services.DataCacheService   : Cached 9839374 bytes in 8 files
2021-10-13 07:12:26.282 - INFO 7 --- [job8039952397951946392] com.defold.extender.ExtenderController   : Job done
2021-10-13 07:12:26.283 -ERROR 7 --- [job8039952397951946392] com.defold.extender.ExtenderController   : Failed to build extension: clang++ -DDLIB_LOG_DOMAIN="GAMEANALYTICS" -DDM_PLATFORM_LINUX -DDDF_EXPOSE_DESCRIPTORS -D__STDC_LIMIT_MACROS -DLUA_BYTECODE_ENABLE_64 -DDM_DEBUG  -ffloat-store -g -O2 -D__STDC_LIMIT_MACROS -Wall -Werror=format -fno-exceptions -fPIC -fvisibility=hidden -std=c++11  -Iupload/gameanalytics/include/ -Ibuild/gameanalytics/ -Iupload/ -Iupload/openssl/include/  -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//sdk/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include/x86_64-linux  upload/gameanalytics/src/gameanalytics.cpp -c -o build/gameanalytics.cpp_0.o
clang++ -DDLIB_LOG_DOMAIN="GAMEANALYTICS" -DDM_PLATFORM_LINUX -DDDF_EXPOSE_DESCRIPTORS -D__STDC_LIMIT_MACROS -DLUA_BYTECODE_ENABLE_64 -DDM_DEBUG  -ffloat-store -g -O2 -D__STDC_LIMIT_MACROS -Wall -Werror=format -fno-exceptions -fPIC -fvisibility=hidden -std=c++11  -Iupload/gameanalytics/include/ -Ibuild/gameanalytics/ -Iupload/ -Iupload/openssl/include/  -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//sdk/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include/x86_64-linux  upload/gameanalytics/src/android/GameAnalyticsJNI.cpp -c -o build/GameAnalyticsJNI.cpp_2.o
clang++ -DDLIB_LOG_DOMAIN="GAMEANALYTICS" -DDM_PLATFORM_LINUX -DDDF_EXPOSE_DESCRIPTORS -D__STDC_LIMIT_MACROS -DLUA_BYTECODE_ENABLE_64 -DDM_DEBUG  -ffloat-store -g -O2 -D__STDC_LIMIT_MACROS -Wall -Werror=format -fno-exceptions -fPIC -fvisibility=hidden -std=c++11  -Iupload/gameanalytics/include/ -Ibuild/gameanalytics/ -Iupload/ -Iupload/openssl/include/  -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//sdk/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include/x86_64-linux  upload/gameanalytics/src/GameAnalyticsDefold.cpp -c -o build/GameAnalyticsDefold.cpp_1.o
clang-10: warning: optimization flag '-ffloat-store' is not supported [-Wignored-optimization-argument]

clang-10: warning: optimization flag '-ffloat-store' is not supported [-Wignored-optimization-argument]
upload/gameanalytics/src/gameanalytics.cpp:6:9: warning: 'DLIB_LOG_DOMAIN' macro redefined [-Wmacro-redefined]
#define DLIB_LOG_DOMAIN LIB_NAME
        ^
<command line>:1:9: note: previous definition is here
#define DLIB_LOG_DOMAIN "GAMEANALYTICS"
        ^
1 warning generated.

clang-10: warning: optimization flag '-ffloat-store' is not supported [-Wignored-optimization-argument]
upload/gameanalytics/src/GameAnalyticsDefold.cpp:48:17: warning: unused variable 'ret' [-Wunused-variable]
            int ret = dmScript::PCall(L, 1, 0);
                ^
In file included from upload/gameanalytics/src/GameAnalyticsDefold.cpp:1:
In file included from upload/gameanalytics/include/GameAnalyticsDefold.h:4:
In file included from /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/vector:61:
In file included from /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/allocator.h:46:
In file included from /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0/bits/c++allocator.h:33:
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h:124:29: warning: destructor called on non-final 'gameanalytics::defold::DefoldOnRemoteConfigsListener' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
        destroy(_Up* __p) { __p->~_Up(); }
                            ^
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h:542:8: note: in instantiation of function template specialization '__gnu_cxx::new_allocator<gameanalytics::defold::DefoldOnRemoteConfigsListener>::destroy<gameanalytics::defold::DefoldOnRemoteConfigsListener>' requested here
        { __a.destroy(__p); }
              ^
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h:531:28: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<gameanalytics::defold::DefoldOnRemoteConfigsListener> >::destroy<gameanalytics::defold::DefoldOnRemoteConfigsListener>' requested here
        allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
                                  ^
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h:517:2: note: in instantiation of member function 'std::_Sp_counted_ptr_inplace<gameanalytics::defold::DefoldOnRemoteConfigsListener, std::allocator<gameanalytics::defold::DefoldOnRemoteConfigsListener>, __gnu_cxx::_S_atomic>::_M_dispose' requested here
        _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
        ^
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h:617:18: note: in instantiation of function template specialization 'std::_Sp_counted_ptr_inplace<gameanalytics::defold::DefoldOnRemoteConfigsListener, std::allocator<gameanalytics::defold::DefoldOnRemoteConfigsListener>, __gnu_cxx::_S_atomic>::_Sp_counted_ptr_inplace<>' requested here
          ::new (__mem) _Sp_cp_type(std::move(__a),
                        ^
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h:1096:14: note: in instantiation of function template specialization 'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<gameanalytics::defold::DefoldOnRemoteConfigsListener, std::allocator<gameanalytics::defold::DefoldOnRemoteConfigsListener>>' requested here
        : _M_ptr(), _M_refcount(__tag, (_Tp*)0, __a,
                    ^
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr.h:319:4: note: in instantiation of function template specialization 'std::__shared_ptr<gameanalytics::defold::DefoldOnRemoteConfigsListener, __gnu_cxx::_S_atomic>::__shared_ptr<std::allocator<gameanalytics::defold::DefoldOnRemoteConfigsListener>>' requested here
        : __shared_ptr<_Tp>(__tag, __a, std::forward<_Args>(__args)...)
          ^
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr.h:619:14: note: in instantiation of function template specialization 'std::shared_ptr<gameanalytics::defold::DefoldOnRemoteConfigsListener>::shared_ptr<std::allocator<gameanalytics::defold::DefoldOnRemoteConfigsListener>>' requested here
      return shared_ptr<_Tp>(_Sp_make_shared_tag(), __a,
             ^
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr.h:635:19: note: in instantiation of function template specialization 'std::allocate_shared<gameanalytics::defold::DefoldOnRemoteConfigsListener, std::allocator<gameanalytics::defold::DefoldOnRemoteConfigsListener>>' requested here
      return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
                  ^
upload/gameanalytics/src/GameAnalyticsDefold.cpp:468:34: note: in instantiation of function template specialization 'std::make_shared<gameanalytics::defold::DefoldOnRemoteConfigsListener>' requested here
            auto listener = std::make_shared<DefoldOnRemoteConfigsListener>();
                                 ^
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h:124:35: note: qualify call to silence this warning
        destroy(_Up* __p) { __p->~_Up(); }
                                  ^
2 warnings generated.

llvm-ar rcs /tmp/job8039952397951946392/build/libGameAnalytics_1.a build/gameanalytics.cpp_0.o build/GameAnalyticsDefold.cpp_1.o build/GameAnalyticsJNI.cpp_2.o 

clang++ -DDLIB_LOG_DOMAIN="OPENSSL" -DDM_PLATFORM_LINUX -DDDF_EXPOSE_DESCRIPTORS -D__STDC_LIMIT_MACROS -DLUA_BYTECODE_ENABLE_64 -DDM_DEBUG  -ffloat-store -g -O2 -D__STDC_LIMIT_MACROS -Wall -Werror=format -fno-exceptions -fPIC -fvisibility=hidden -std=c++11  -Iupload/openssl/include/ -Ibuild/openssl/ -Iupload/ -Iupload/gameanalytics/include/  -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//sdk/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include/x86_64-linux  upload/openssl/src/openssl.cpp -c -o build/openssl.cpp_2.o
clang-10: warning: optimization flag '-ffloat-store' is not supported [-Wignored-optimization-argument]
upload/openssl/src/openssl.cpp:6:9: warning: 'DLIB_LOG_DOMAIN' macro redefined [-Wmacro-redefined]
#define DLIB_LOG_DOMAIN LIB_NAME
        ^
<command line>:1:9: note: previous definition is here
#define DLIB_LOG_DOMAIN "OPENSSL"
        ^
1 warning generated.

llvm-ar rcs /tmp/job8039952397951946392/build/libOpenSSL_3.a build/openssl.cpp_2.o 

clang++ -DDLIB_LOG_DOMAIN="ENGINE_MAIN" -DDM_PLATFORM_LINUX -DDDF_EXPOSE_DESCRIPTORS -D__STDC_LIMIT_MACROS -DLUA_BYTECODE_ENABLE_64 -DDM_DEBUG  -ffloat-store -g -O2 -D__STDC_LIMIT_MACROS -Wall -Werror=format -fno-exceptions -fPIC -fvisibility=hidden -std=c++11 -std=c++11   -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//sdk/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/include -I/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//include/x86_64-linux  build/main.cpp -c -o build/main_tmp4.o
clang-10: warning: optimization flag '-ffloat-store' is not supported [-Wignored-optimization-argument]

clang++ build/main_tmp4.o  -o build/dmengine  -L/tmp/job8039952397951946392/build -L/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux -L/tmp/job8039952397951946392/upload/openssl/lib/x86_64-linux  -L/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//lib/x86_64-linux -L/var/extender/sdk/0a8d3e879724132afb18d47e0040c2034be07504/defoldsdk//ext/lib/x86_64-linux  -Wl,-Bstatic -Wl,--start-group -lengine -lengine_service -lmbedtls -lzip -lwebviewext -lprofilerext -lfacebookext -liapext -lpushext -liacext -lrecord -lgameobject -lddf -lresource -lgamesys -lgraphics -lgraphics_transcoder_basisu -lbasis_transcoder -lphysics -lBulletDynamics -lBulletCollision -lLinearMath -lBox2D -lrender -lscript -lluajit-5.1 -lextension -lhid -linput -lparticle -lrig -ldlib -ldmglfw -lgui -lcrashext -lliveupdate -lsound -ltremolo -lvpx   -lssl -lcurl -lcrypto -lOpenSSL_3 -lGameAnalytics_1 -lGameAnalytics  -Wl,--end-group -Wl,-Bdynamic -Wl,-rpath=$ORIGIN,--enable-new-dtags  -lopenal -lXext -lX11 -lXi -lGL -lGLU -lpthread -lm -ldl 
/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux/libGameAnalytics.a(GAHTTPApi.cpp.o): In function `std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::__future_base::_Async_state_impl<std::thread::_Invoker<std::tuple<gameanalytics::http::GAHTTPApi::sendSdkErrorEvent(gameanalytics::http::EGASdkErrorCategory, gameanalytics::http::EGASdkErrorArea, gameanalytics::http::EGASdkErrorAction, gameanalytics::http::EGASdkErrorParameter, char const*, char const*, char const*)::{lambda()#1}> >, void>::_Async_state_impl(std::tuple<gameanalytics::http::GAHTTPApi::sendSdkErrorEvent(gameanalytics::http::EGASdkErrorCategory, gameanalytics::http::EGASdkErrorArea, gameanalytics::http::EGASdkErrorAction, gameanalytics::http::EGASdkErrorParameter, char const*, char const*, char const*)::{lambda()#1}>&&)::{lambda()#1}> > >::~_State_impl()':
GAHTTPApi.cpp:(.text+0x1f3): undefined reference to `std::thread::_State::~_State()'
/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux/libGameAnalytics.a(GAHTTPApi.cpp.o): In function `gameanalytics::http::GAHTTPApi::sendSdkErrorEvent(gameanalytics::http::EGASdkErrorCategory, gameanalytics::http::EGASdkErrorArea, gameanalytics::http::EGASdkErrorAction, gameanalytics::http::EGASdkErrorParameter, char const*, char const*, char const*)':
GAHTTPApi.cpp:(.text+0x1e22): undefined reference to `std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)())'
/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux/libGameAnalytics.a(GAHTTPApi.cpp.o): In function `std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::__future_base::_Async_state_impl<std::thread::_Invoker<std::tuple<gameanalytics::http::GAHTTPApi::sendSdkErrorEvent(gameanalytics::http::EGASdkErrorCategory, gameanalytics::http::EGASdkErrorArea, gameanalytics::http::EGASdkErrorAction, gameanalytics::http::EGASdkErrorParameter, char const*, char const*, char const*)::{lambda()#1}> >, void>::_Async_state_impl(std::tuple<gameanalytics::http::GAHTTPApi::sendSdkErrorEvent(gameanalytics::http::EGASdkErrorCategory, gameanalytics::http::EGASdkErrorArea, gameanalytics::http::EGASdkErrorAction, gameanalytics::http::EGASdkErrorParameter, char const*, char const*, char const*)::{lambda()#1}>&&)::{lambda()#1}> > >::~_State_impl()':
GAHTTPApi.cpp:(.text+0x1cf): undefined reference to `std::thread::_State::~_State()'
/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux/libGameAnalytics.a(GAHTTPApi.cpp.o): In function `std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::__future_base::_Async_state_impl<std::thread::_Invoker<std::tuple<gameanalytics::http::GAHTTPApi::sendSdkErrorEvent(gameanalytics::http::EGASdkErrorCategory, gameanalytics::http::EGASdkErrorArea, gameanalytics::http::EGASdkErrorAction, gameanalytics::http::EGASdkErrorParameter, char const*, char const*, char const*)::{lambda()#1}> >, void>::_Async_state_impl(std::tuple<gameanalytics::http::GAHTTPApi::sendSdkErrorEvent(gameanalytics::http::EGASdkErrorCategory, gameanalytics::http::EGASdkErrorArea, gameanalytics::http::EGASdkErrorAction, gameanalytics::http::EGASdkErrorParameter, char const*, char const*, char const*)::{lambda()#1}>&&)::{lambda()#1}> > >::_M_run() [clone .cold]':
GAHTTPApi.cpp:(.text.unlikely+0x96): undefined reference to `__cxa_init_primary_exception'
GAHTTPApi.cpp:(.text.unlikely+0xc5): undefined reference to `std::__exception_ptr::exception_ptr::exception_ptr(void*)'
/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux/libGameAnalytics.a(GAHTTPApi.cpp.o):(.data.rel.ro+0x68): undefined reference to `typeinfo for std::thread::_State'
/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux/libGameAnalytics.a(GAThreading.cpp.o): In function `std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::__future_base::_Async_state_impl<std::thread::_Invoker<std::tuple<void (*)(std::atomic<bool>&, std::atomic<long long>&), std::reference_wrapper<std::atomic<bool> >, std::reference_wrapper<std::atomic<long long> > > >, void>::_Async_state_impl(std::thread::_Invoker<std::tuple<void (*)(std::atomic<bool>&, std::atomic<long long>&), std::reference_wrapper<std::atomic<bool> >, std::reference_wrapper<std::atomic<long long> > > >&&)::{lambda()#1}> > >::~_State_impl()':
GAThreading.cpp:(.text._ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZNSt13__future_base17_Async_state_implINS1_IS2_IJPFvRSt6atomicIbERS5_IxEESt17reference_wrapperIS6_ESC_IS8_EEEEEvEC4EOSG_EUlvE_EEEEED2Ev[_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZNSt13__future_base17_Async_state_implINS1_IS2_IJPFvRSt6atomicIbERS5_IxEESt17reference_wrapperIS6_ESC_IS8_EEEEEvEC4EOSG_EUlvE_EEEEED5Ev]+0x13): undefined reference to `std::thread::_State::~_State()'
/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux/libGameAnalytics.a(GAThreading.cpp.o): In function `std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::__future_base::_Async_state_impl<std::thread::_Invoker<std::tuple<void (*)(std::atomic<bool>&, std::atomic<long long>&), std::reference_wrapper<std::atomic<bool> >, std::reference_wrapper<std::atomic<long long> > > >, void>::_Async_state_impl(std::thread::_Invoker<std::tuple<void (*)(std::atomic<bool>&, std::atomic<long long>&), std::reference_wrapper<std::atomic<bool> >, std::reference_wrapper<std::atomic<long long> > > >&&)::{lambda()#1}> > >::~_State_impl()':
GAThreading.cpp:(.text._ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZNSt13__future_base17_Async_state_implINS1_IS2_IJPFvRSt6atomicIbERS5_IxEESt17reference_wrapperIS6_ESC_IS8_EEEEEvEC4EOSG_EUlvE_EEEEED0Ev[_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZNSt13__future_base17_Async_state_implINS1_IS2_IJPFvRSt6atomicIbERS5_IxEESt17reference_wrapperIS6_ESC_IS8_EEEEEvEC4EOSG_EUlvE_EEEEED5Ev]+0x17): undefined reference to `std::thread::_State::~_State()'
/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux/libGameAnalytics.a(GAThreading.cpp.o): In function `std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::__future_base::_Async_state_impl<std::thread::_Invoker<std::tuple<void (*)(std::atomic<bool>&, std::atomic<long long>&), std::reference_wrapper<std::atomic<bool> >, std::reference_wrapper<std::atomic<long long> > > >, void>::_Async_state_impl(std::thread::_Invoker<std::tuple<void (*)(std::atomic<bool>&, std::atomic<long long>&), std::reference_wrapper<std::atomic<bool> >, std::reference_wrapper<std::atomic<long long> > > >&&)::{lambda()#1}> > >::_M_run()':
GAThreading.cpp:(.text._ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZNSt13__future_base17_Async_state_implINS1_IS2_IJPFvRSt6atomicIbERS5_IxEESt17reference_wrapperIS6_ESC_IS8_EEEEEvEC4EOSG_EUlvE_EEEEE6_M_runEv[_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZNSt13__future_base17_Async_state_implINS1_IS2_IJPFvRSt6atomicIbERS5_IxEESt17reference_wrapperIS6_ESC_IS8_EEEEEvEC4EOSG_EUlvE_EEEEE6_M_runEv]+0x218): undefined reference to `__cxa_init_primary_exception'
GAThreading.cpp:(.text._ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZNSt13__future_base17_Async_state_implINS1_IS2_IJPFvRSt6atomicIbERS5_IxEESt17reference_wrapperIS6_ESC_IS8_EEEEEvEC4EOSG_EUlvE_EEEEE6_M_runEv[_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZNSt13__future_base17_Async_state_implINS1_IS2_IJPFvRSt6atomicIbERS5_IxEESt17reference_wrapperIS6_ESC_IS8_EEEEEvEC4EOSG_EUlvE_EEEEE6_M_runEv]+0x247): undefined reference to `std::__exception_ptr::exception_ptr::exception_ptr(void*)'
/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux/libGameAnalytics.a(GAThreading.cpp.o): In function `std::future<std::__invoke_result<std::decay<void (*&)(std::atomic<bool>&, std::atomic<long long>&)>::type, std::decay<std::reference_wrapper<std::atomic<bool> > >::type, std::decay<std::reference_wrapper<std::atomic<long long> > >::type>::type> std::async<void (*&)(std::atomic<bool>&, std::atomic<long long>&), std::reference_wrapper<std::atomic<bool> >, std::reference_wrapper<std::atomic<long long> > >(std::launch, void (*&)(std::atomic<bool>&, std::atomic<long long>&), std::reference_wrapper<std::atomic<bool> >&&, std::reference_wrapper<std::atomic<long long> >&&)':
GAThreading.cpp:(.text._ZSt5asyncIRPFvRSt6atomicIbERS0_IxEEJSt17reference_wrapperIS1_ES8_IS3_EEESt6futureINSt15__invoke_resultINSt5decayIT_E4typeEJDpNSD_IT0_E4typeEEE4typeEESt6launchOSE_DpOSH_[_ZSt5asyncIRPFvRSt6atomicIbERS0_IxEEJSt17reference_wrapperIS1_ES8_IS3_EEESt6futureINSt15__invoke_resultINSt5decayIT_E4typeEJDpNSD_IT0_E4typeEEE4typeEESt6launchOSE_DpOSH_]+0x28f): undefined reference to `std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)())'
/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux/libGameAnalytics.a(GAThreading.cpp.o):(.data.rel.ro._ZTINSt6thread11_State_implINS_8_InvokerISt5tupleIJZNSt13__future_base17_Async_state_implINS1_IS2_IJPFvRSt6atomicIbERS5_IxEESt17reference_wrapperIS6_ESC_IS8_EEEEEvEC4EOSG_EUlvE_EEEEEE[_ZTINSt6thread11_State_implINS_8_InvokerISt5tupleIJZNSt13__future_base17_Async_state_implINS1_IS2_IJPFvRSt6atomicIbERS5_IxEESt17reference_wrapperIS6_ESC_IS8_EEEEEvEC4EOSG_EUlvE_EEEEEE]+0x10): undefined reference to `typeinfo for std::thread::_State'
/tmp/job8039952397951946392/upload/gameanalytics/lib/x86_64-linux/libGameAnalytics.a(sqlite3.c.o):(.data.rel+0xb0): undefined reference to `fcntl64'
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
the1schwartz commented 2 years ago

Ok I have built the Linux lib with clang 10 on Ubuntu 20.04. Will that cause problems?

JCash commented 2 years ago

Ok. Yes, then the signatures of those functions will look different and you'll get "undefined reference" errors, as the libraries on the Ubuntu 16 doesn't have those symbols.

the1schwartz commented 2 years ago

Ok thanks, I have a look at using Docker to get the correct environment set up and then rebuild the linux lib

the1schwartz commented 2 years ago

@JCash do you have a guide to get clang 10 installed on to ubuntu 16.04? I can only find a guide for clang 10 for ubuntu 18.04

JCash commented 2 years ago

I'm not sure you need clang 10. You can probably use something older.

However, here's how we install clang 10 on Ubuntu 16.04. We download the package from https://releases.llvm.org/download.html, (and store it on our own S3 bucket), then extract it to the /usr/local folder. After that it's ready to use.

RUN wget -q -O - ${DM_PACKAGES_URL}/clang%2Bllvm-10.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz | tar xJ -C /usr/local --strip-components=1

It's from our Dockerfile at https://github.com/defold/extender/blob/dev/server/docker-base/Dockerfile#L87-L89. (In case you need additional setup of packages)

the1schwartz commented 2 years ago

Thanks @JCash. I got docker working with parts from your dockerfile. I have tested again in 4.1.4 and Linux looks to work again.