linux-surface / iptsd

Userspace daemon for Intel Precise Touch & Stylus
GNU General Public License v2.0
86 stars 39 forks source link

Compile during Android-x86 build #83

Closed hmtheboy154 closed 1 year ago

hmtheboy154 commented 1 year ago

Hello, I have a fork of iptsd but recently with the new version of iptsd I can't be able to compile https://github.com/hmtheboy154/iptsd My Android.mk https://github.com/hmtheboy154/iptsd/blob/master/Android.mk

When compiling it will have this error

[  0% 331/108975] target  C++: iptsd <= device/generic/common/iptsd/src/daemon/main.cpp
FAILED: out/target/product/x86_64/obj/EXECUTABLES/iptsd_intermediates/src/daemon/main.o
/bin/bash -c "PWD=/proc/self/cwd  prebuilts/clang/host/linux-x86/clang-r383902b1/bin/clang++ -I device/generic/common/iptsd/src -I device/generic/common/iptsd -I out/target/product/x86_64/obj/EXECUTABLES/iptsd_intermediates -I out/target/product/x86_64/gen/EXECUTABLES/iptsd_intermediates -I libnativehelper/include_jni  -Iexternal/libcxx/include -Iexternal/libcxxabi/include -D__LIBC_API__=10000 -Ibionic/libc/include -D__LIBM_API__=10000 -D__LIBM_API__=10000 -D__LIBDL_API__=10000 -Iexternal/libcxxabi/include  -I external/inih -I external/spdlog/include -Iexternal/CLI11/include -Iexternal/Microsoft-GSL/include -Isystem/core/base/include -I external/hidrd/include -I external/libxml2/include  -I system/core/include -I system/media/audio/include -I hardware/libhardware/include -I hardware/libhardware_legacy/include -I hardware/ril/include -I frameworks/native/include -I frameworks/native/opengl/include -I frameworks/av/include -isystem out/target/product/x86_64/obj/include -isystem bionic/libc/include -isystem bionic/libc/kernel/uapi -isystem bionic/libc/kernel/uapi/asm-x86 -isystem bionic/libc/kernel/android/scsi -isystem bionic/libc/kernel/android/uapi -c  -Werror=implicit-function-declaration -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -no-canonical-prefixes -DNDEBUG -UDEBUG -fno-exceptions -Wno-multichar -O2 -g -fno-strict-aliasing -Werror=date-time -Werror=pragma-pack -Werror=pragma-pack-suspicious-include -fdebug-prefix-map=/proc/self/cwd= -D__compiler_offsetof=__builtin_offsetof -faddrsig -Werror=int-conversion -fexperimental-new-pass-manager -Wno-reserved-id-macro -Wno-unused-command-line-argument -fcolor-diagnostics -Wno-sign-compare -Wno-defaulted-function-deleted -Wno-inconsistent-missing-override -Wno-c99-designator -ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang -ffunction-sections -fdata-sections -fno-short-enums -funwind-tables -fstack-protector-strong -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -Wstrict-aliasing=2 -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Werror=format-security -nostdlibinc -m64 -march=x86-64 -mssse3 -msse4 -msse4.1 -msse4.2 -mpopcnt -Bprebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/x86_64-linux-android/bin  -Wsign-promo -Wimplicit-fallthrough -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -Wno-gnu-include-next -fvisibility-inlines-hidden  -std=gnu++17   -fno-rtti -fPIE -DANDROID_STRICT -target x86_64-linux-android10000 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++17 -O2 -g -Wuninitialized -Wno-unused-result -Wmissing-include-dirs -Wpointer-arith -Winit-self -Wimplicit-fallthrough -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -fexceptions  -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=fortify-source -Werror=address-of-temporary -Werror=return-type -Wno-tautological-constant-compare -Wno-tautological-type-limit-compare -Wno-reorder-init-list -Wno-implicit-int-float-conversion -Wno-int-in-bool-context -Wno-sizeof-array-div -Wno-tautological-overlap-compare -Wno-deprecated-copy -Wno-range-loop-construct -Wno-misleading-indentation -Wno-zero-as-null-pointer-constant -Wno-deprecated-anon-enum-enum-conversion -Wno-deprecated-enum-enum-conversion -Wno-string-compare -Wno-enum-enum-conversion -Wno-enum-float-conversion -Wno-pessimizing-move  -MD -MF out/target/product/x86_64/obj/EXECUTABLES/iptsd_intermediates/src/daemon/main.d -o out/target/product/x86_64/obj/EXECUTABLES/iptsd_intermediates/src/daemon/main.o device/generic/common/iptsd/src/daemon/main.cpp"
In file included from device/generic/common/iptsd/src/daemon/main.cpp:9:
device/generic/common/iptsd/src/common/signal.hpp:58:21: error: no viable constructor or deduction guide for deduction of template arguments of 'function'
        s_seat.m_handler = std::function {std::forward<F>(callback)};
                           ^
device/generic/common/iptsd/src/common/signal.hpp:90:25: note: in instantiation of function template specialization 'iptsd::common::detail::SignalStub<15>::setup<(lambda at device/generic/common/iptsd/src/daemon/main.cpp:46:48)>' requested here
        detail::SignalStub<s>::setup(std::forward<F>(callback));
                               ^
device/generic/common/iptsd/src/daemon/main.cpp:46:32: note: in instantiation of function template specialization 'iptsd::common::signal<15, (lambda at device/generic/common/iptsd/src/daemon/main.cpp:46:48)>' requested here
        auto const _sigterm = common::signal<SIGTERM>([&](int) { should_exit = true; });
                                      ^
external/libcxx/include/functional:1427:48: note: candidate template ignored: could not match 'function<_Fp>' against '(lambda at device/generic/common/iptsd/src/daemon/main.cpp:46:48)'
template<class _Fp> class _LIBCPP_TEMPLATE_VIS function; // undefined
                                               ^
external/libcxx/include/functional:1427:48: note: candidate function template not viable: requires 0 arguments, but 1 was provided
In file included from device/generic/common/iptsd/src/daemon/main.cpp:9:
device/generic/common/iptsd/src/common/signal.hpp:58:21: error: no viable constructor or deduction guide for deduction of template arguments of 'function'
        s_seat.m_handler = std::function {std::forward<F>(callback)};
                           ^
device/generic/common/iptsd/src/common/signal.hpp:90:25: note: in instantiation of function template specialization 'iptsd::common::detail::SignalStub<2>::setup<(lambda at device/generic/common/iptsd/src/daemon/main.cpp:47:46)>' requested here
        detail::SignalStub<s>::setup(std::forward<F>(callback));
                               ^
device/generic/common/iptsd/src/daemon/main.cpp:47:31: note: in instantiation of function template specialization 'iptsd::common::signal<2, (lambda at device/generic/common/iptsd/src/daemon/main.cpp:47:46)>' requested here
        auto const _sigint = common::signal<SIGINT>([&](int) { should_exit = true; });
                                     ^
external/libcxx/include/functional:1427:48: note: candidate template ignored: could not match 'function<_Fp>' against '(lambda at device/generic/common/iptsd/src/daemon/main.cpp:47:46)'
template<class _Fp> class _LIBCPP_TEMPLATE_VIS function; // undefined
                                               ^
external/libcxx/include/functional:1427:48: note: candidate function template not viable: requires 0 arguments, but 1 was provided
2 errors generated.
[  0% 332/108975] target  C++: iptsd <= device/generic/common/iptsd/src/contacts/finder.cpp
[  0% 333/108975] target  C++: iptsd <= device/generic/common/iptsd/src/contacts/advanced/detector.cpp
ninja: build stopped: subcommand failed.
00:56:16 ninja failed with: exit status 1
StollD commented 1 year ago

Maybe try to modify

s_seat.m_handler = std::function {std::forward<F>(callback)};

in src/common/signal.hpp to be like this

s_seat.m_handler = std::function<void(int)> {std::forward<F>(callback)};
hmtheboy154 commented 1 year ago

It works, thanks for your help https://github.com/hmtheboy154/iptsd/commit/61f90481944e70e22c8abff18d4c0f40d3260944