Closed huningxin closed 4 years ago
@BruceDai @Christywl Shall we add in CI?
WASM backend build:
$ npm run build-wasm
@ibelem No. The reason is that this command will take a long time to download tensorflow submodules source code. So we require to verify changes in src folder before being submitted.
I have just tested and build successfully, this issue may caused by the version of tf or emscripten.
And during testing I found that the path of file 'Emscripten.cmake' has changed since version 1.39, so we may need to update the environment variable to adapt that change.
And during testing I found that the path of file 'Emscripten.cmake' has changed since version 1.39, so we may need to update the environment variable to adapt that change.
Good catch. We need to change it.
Another thing we need to update is the emsdk version in the git sub module. Current one is 7a0e27441eda6cb0e3f1210e6837cae4b080ab4c.
However, after I changed above two items, build still fails to me.
My tensorflow version is r1.15 (590d6eef7e91a6a7392c8ffffb7b58f2e0c8bc6b). My emscripten version is now 1.39.10.
error log
> webml-polyfill@0.0.2 build-wasm /home/nhu/code/webml-polyfill
> node build.js --build-wasm
info Build Initializing...
info Build Initialization completed. Start to build...
info Build Updating submodules...
info Build.SubModules (1/3) Cleaning dependencies folder...
info Build.SubModules (1/3) Cleaning dependencies folder... SKIPPED
info Build.SubModules (2/3) Fetching submodules...
info Build.SubModules (2/3) Fetching submodules... DONE
info Download tensorflow dependencies (3/3) Downloading...
info Download tensorflow dependencies (3/3) Downloading... DONE
info Build Updating submodules... DONE
info Build Building WebAssembly sources...
info Build.Wasm (1/4) Setting up emsdk...
info Build.Wasm (1/4) Setting up emsdk... DONE
info Build.Wasm (2/4) Find path to camke toolchain...
./upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
info Build.Wasm (2/4) Find path to TOOL_CHAIN... DONE, TOOL_CHAIN: /home/nhu/code/webml-polyfill/deps/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
info Build.Wasm (3/4) Set cmake tool-chain...
info Build.Wasm (3/4) Preparing build config... DONE
info Build.Wasm (4/4) Building...
Scanning dependencies of target nn_ops
[ 16%] Building CXX object CMakeFiles/nn_ops.dir/bind/src/binding.cpp.o
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/bind/src/binding.cpp:7:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/./external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:42:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:28:
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_gemmlowp.h:44:26: error: no type named 'OutputStageSaturatingCastToInt8' in namespace 'gemmlowp'
using Type = gemmlowp::OutputStageSaturatingCastToInt8;
~~~~~~~~~~^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_gemmlowp.h:62:26: error: no type named 'SignedL8R8WithLhsNonzeroBitDepthParams' in namespace 'gemmlowp'; did you mean 'L8R8WithLhsNonzeroBitDepthParams'?
using Type = gemmlowp::SignedL8R8WithLhsNonzeroBitDepthParams;
~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
L8R8WithLhsNonzeroBitDepthParams
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/contrib/makefile/downloads/gemmlowp/public/bit_depth.h:47:7: note: 'L8R8WithLhsNonzeroBitDepthParams' declared here
using L8R8WithLhsNonzeroBitDepthParams =
^
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/bind/src/binding.cpp:10:
/home/nhu/code/webml-polyfill/src/nn/wasm/src/./external/tensorflow/tensorflow/lite/kernels/internal/optimized/legacy_optimized_ops.h:487:39: error: no member named 'LegacyExecuteAndDestroyTasks' in 'gemmlowp::WorkersPool'
gemmlowp_context->workers_pool()->LegacyExecuteAndDestroyTasks(tasks);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/./external/tensorflow/tensorflow/lite/kernels/internal/optimized/legacy_optimized_ops.h:589:39: error: no member named 'LegacyExecuteAndDestroyTasks' in 'gemmlowp::WorkersPool'
gemmlowp_context->workers_pool()->LegacyExecuteAndDestroyTasks(tasks);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/./external/tensorflow/tensorflow/lite/kernels/internal/optimized/legacy_optimized_ops.h:748:32: error: no member named 'OutputStageSaturatingCastToInt8' in namespace 'gemmlowp'
gemmlowp::OutputStageSaturatingCastToInt8>
~~~~~~~~~~^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/./external/tensorflow/tensorflow/lite/kernels/internal/optimized/legacy_optimized_ops.h:764:15: error: no type named 'OutputStageSaturatingCastToInt8' in namespace 'gemmlowp'
gemmlowp::OutputStageSaturatingCastToInt8 saturating_cast_stage;
~~~~~~~~~~^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/./external/tensorflow/tensorflow/lite/kernels/internal/optimized/legacy_optimized_ops.h:2335:37: error: no member named 'LegacyExecuteAndDestroyTasks' in 'gemmlowp::WorkersPool'
gemmlowp_context->workers_pool()->LegacyExecuteAndDestroyTasks(tasks);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/bind/src/binding.cpp:7:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:42:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:22:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h:40:
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_threadpool.h:52:68: error: too many arguments to function call, expected single argument 'tasks', have 2 arguments
tasks);
^~~~~
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h:178:29: note: in instantiation of function template specialization 'tflite::cpu_backend_threadpool::Execute<tflite::cpu_backend_gemm::detail::CustomGemvTask<float, float, float, float, tflite::cpu_backend_gemm::QuantizationFlavor::kFloatingPoint> >' requested here
cpu_backend_threadpool::Execute(tasks.size(), tasks.data(), context);
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:99:17: note: in instantiation of function template specialization 'tflite::cpu_backend_gemm::detail::CustomGemv<float, float, float, float, tflite::cpu_backend_gemm::QuantizationFlavor::kFloatingPoint>' requested here
if (detail::CustomGemv(lhs_params, lhs_data, rhs_params, rhs_data,
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:235:21: note: in instantiation of function template specialization 'tflite::cpu_backend_gemm::Gemm<float, float, float, float, tflite::cpu_backend_gemm::QuantizationFlavor::kFloatingPoint>' requested here
cpu_backend_gemm::Gemm(lhs_params, weights_data, rhs_params, input_data,
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/contrib/makefile/downloads/gemmlowp/public/../internal/multi_thread_gemm.h:374:8: note: 'Execute' declared here
void Execute(const std::vector<Task*>& tasks) {
^
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/bind/src/binding.cpp:7:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:42:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:22:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h:40:
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_threadpool.h:52:68: error: too many arguments to function call, expected single argument 'tasks', have 2 arguments
tasks);
^~~~~
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h:178:29: note: in instantiation of function template specialization 'tflite::cpu_backend_threadpool::Execute<tflite::cpu_backend_gemm::detail::CustomGemvTask<unsigned char, unsigned char, int, unsigned char, tflite::cpu_backend_gemm::QuantizationFlavor::kIntegerWithUniformMultiplier> >' requested here
cpu_backend_threadpool::Execute(tasks.size(), tasks.data(), context);
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:99:17: note: in instantiation of function template specialization 'tflite::cpu_backend_gemm::detail::CustomGemv<unsigned char, unsigned char, int, unsigned char, tflite::cpu_backend_gemm::QuantizationFlavor::kIntegerWithUniformMultiplier>' requested here
if (detail::CustomGemv(lhs_params, lhs_data, rhs_params, rhs_data,
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:294:21: note: in instantiation of function template specialization 'tflite::cpu_backend_gemm::Gemm<unsigned char, unsigned char, int, unsigned char, tflite::cpu_backend_gemm::QuantizationFlavor::kIntegerWithUniformMultiplier>' requested here
cpu_backend_gemm::Gemm(lhs_params, filter_data, rhs_params, input_data,
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/contrib/makefile/downloads/gemmlowp/public/../internal/multi_thread_gemm.h:374:8: note: 'Execute' declared here
void Execute(const std::vector<Task*>& tasks) {
^
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/bind/src/binding.cpp:7:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:42:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:22:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h:40:
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_threadpool.h:52:68: error: too many arguments to function call, expected single argument 'tasks', have 2 arguments
tasks);
^~~~~
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h:178:29: note: in instantiation of function template specialization 'tflite::cpu_backend_threadpool::Execute<tflite::cpu_backend_gemm::detail::CustomGemvTask<unsigned char, unsigned char, int, short, tflite::cpu_backend_gemm::QuantizationFlavor::kIntegerWithUniformMultiplier> >' requested here
cpu_backend_threadpool::Execute(tasks.size(), tasks.data(), context);
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:99:17: note: in instantiation of function template specialization 'tflite::cpu_backend_gemm::detail::CustomGemv<unsigned char, unsigned char, int, short, tflite::cpu_backend_gemm::QuantizationFlavor::kIntegerWithUniformMultiplier>' requested here
if (detail::CustomGemv(lhs_params, lhs_data, rhs_params, rhs_data,
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:351:21: note: in instantiation of function template specialization 'tflite::cpu_backend_gemm::Gemm<unsigned char, unsigned char, int, short, tflite::cpu_backend_gemm::QuantizationFlavor::kIntegerWithUniformMultiplier>' requested here
cpu_backend_gemm::Gemm(lhs_params, filter_data, rhs_params, input_data,
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/contrib/makefile/downloads/gemmlowp/public/../internal/multi_thread_gemm.h:374:8: note: 'Execute' declared here
void Execute(const std::vector<Task*>& tasks) {
^
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/bind/src/binding.cpp:7:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:42:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:22:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h:40:
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_threadpool.h:52:68: error: too many arguments to function call, expected single argument 'tasks', have 2 arguments
tasks);
^~~~~
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:800:27: note: in instantiation of function template specialization 'tflite::cpu_backend_threadpool::Execute<tflite::optimized_ops::ShuffledFullyConnectedWorkerTask>' requested here
cpu_backend_threadpool::Execute(tasks.size(), tasks.data(),
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/contrib/makefile/downloads/gemmlowp/public/../internal/multi_thread_gemm.h:374:8: note: 'Execute' declared here
void Execute(const std::vector<Task*>& tasks) {
^
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/bind/src/binding.cpp:7:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:42:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:22:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h:40:
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_threadpool.h:52:68: error: too many arguments to function call, expected single argument 'tasks', have 2 arguments
tasks);
^~~~~
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:1045:29: note: in instantiation of function template specialization 'tflite::cpu_backend_threadpool::Execute<tflite::optimized_ops::MeanWorkerTask>' requested here
cpu_backend_threadpool::Execute(tasks.size(), tasks.data(),
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/contrib/makefile/downloads/gemmlowp/public/../internal/multi_thread_gemm.h:374:8: note: 'Execute' declared here
void Execute(const std::vector<Task*>& tasks) {
^
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/bind/src/binding.cpp:7:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:42:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:22:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h:40:
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_threadpool.h:52:68: error: too many arguments to function call, expected single argument 'tasks', have 2 arguments
tasks);
^~~~~
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/depthwise_conv.h:2055:29: note: in instantiation of function template specialization 'tflite::cpu_backend_threadpool::Execute<tflite::optimized_integer_ops::DepthwiseConvWorkerTask<signed char, int> >' requested here
cpu_backend_threadpool::Execute(tasks.size(), tasks.data(),
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/contrib/makefile/downloads/gemmlowp/public/../internal/multi_thread_gemm.h:374:8: note: 'Execute' declared here
void Execute(const std::vector<Task*>& tasks) {
^
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/bind/src/binding.cpp:7:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/optimized_ops.h:42:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:22:
In file included from /home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h:40:
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_threadpool.h:52:68: error: too many arguments to function call, expected single argument 'tasks', have 2 arguments
tasks);
^~~~~
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm_custom_gemv.h:178:29: note: in instantiation of function template specialization 'tflite::cpu_backend_threadpool::Execute<tflite::cpu_backend_gemm::detail::CustomGemvTask<signed char, signed char, int, signed char, tflite::cpu_backend_gemm::QuantizationFlavor::kIntegerWithUniformMultiplier> >' requested here
cpu_backend_threadpool::Execute(tasks.size(), tasks.data(), context);
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/cpu_backend_gemm.h:99:17: note: in instantiation of function template specialization 'tflite::cpu_backend_gemm::detail::CustomGemv<signed char, signed char, int, signed char, tflite::cpu_backend_gemm::QuantizationFlavor::kIntegerWithUniformMultiplier>' requested here
if (detail::CustomGemv(lhs_params, lhs_data, rhs_params, rhs_data,
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels/internal/optimized/integer_ops/fully_connected.h:83:21: note: in instantiation of function template specialization 'tflite::cpu_backend_gemm::Gemm<signed char, signed char, int, signed char, tflite::cpu_backend_gemm::QuantizationFlavor::kIntegerWithUniformMultiplier>' requested here
cpu_backend_gemm::Gemm(lhs_params, filter_data, rhs_params, input_data,
^
/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/contrib/makefile/downloads/gemmlowp/public/../internal/multi_thread_gemm.h:374:8: note: 'Execute' declared here
void Execute(const std::vector<Task*>& tasks) {
^
14 errors generated.
shared:ERROR: '/home/nhu/code/webml-polyfill/deps/emsdk/upstream/bin/clang++ -target wasm32-unknown-emscripten -D__EMSCRIPTEN_major__=1 -D__EMSCRIPTEN_minor__=39 -D__EMSCRIPTEN_tiny__=10 -D_LIBCPP_ABI_VERSION=2 -Dunix -D__unix -D__unix__ -Werror=implicit-function-declaration -Xclang -nostdsysteminc -Xclang -isystem/home/nhu/code/webml-polyfill/deps/emsdk/upstream/emscripten/system/include/libcxx -Xclang -isystem/home/nhu/code/webml-polyfill/deps/emsdk/upstream/emscripten/system/lib/libcxxabi/include -Xclang -isystem/home/nhu/code/webml-polyfill/deps/emsdk/upstream/emscripten/system/include/compat -Xclang -isystem/home/nhu/code/webml-polyfill/deps/emsdk/upstream/emscripten/system/include -Xclang -isystem/home/nhu/code/webml-polyfill/deps/emsdk/upstream/emscripten/system/include/libc -Xclang -isystem/home/nhu/code/webml-polyfill/deps/emsdk/upstream/emscripten/system/lib/libc/musl/arch/emscripten -Xclang -isystem/home/nhu/code/webml-polyfill/deps/emsdk/upstream/emscripten/system/local/include -Xclang -isystem/home/nhu/.emscripten_cache/wasm/include -I/home/nhu/code/webml-polyfill/src/nn/wasm/src/. -I/home/nhu/code/webml-polyfill/src/nn/wasm/src/external -I/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow -I/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/contrib/makefile/downloads/absl -I/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/contrib/makefile/downloads/eigen -I/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/contrib/makefile/downloads/gemmlowp -I/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/experimental -I/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/tensorflow/lite/kernels -I/home/nhu/code/webml-polyfill/src/nn/wasm/src/external/tensorflow/third_party -DNDEBUG -O2 -std=gnu++11 -c -DEMSCRIPTEN -fignore-exceptions /home/nhu/code/webml-polyfill/src/nn/wasm/src/bind/src/binding.cpp -Xclang -isystem/home/nhu/code/webml-polyfill/deps/emsdk/upstream/emscripten/system/include/SDL -c -o CMakeFiles/nn_ops.dir/bind/src/binding.cpp.o -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr' failed (1)
CMakeFiles/nn_ops.dir/build.make:63: recipe for target 'CMakeFiles/nn_ops.dir/bind/src/binding.cpp.o' failed
make[2]: *** [CMakeFiles/nn_ops.dir/bind/src/binding.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/nn_ops.dir/all' failed
make[1]: *** [CMakeFiles/nn_ops.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
info Build.Wasm (4/4) Building... DONE
mv: cannot stat '/home/nhu/code/webml-polyfill/src/nn/wasm/src/build/nn_ops.js': No such file or directory
info Build Building WebAssembly sources... DONE
I checked this issue with @huningxin and found that this issue is caused by tensorflow's dependence. The dependence won't update with tensorflow because this line. So you need to update dependence manually if you update tensorflow from old version.
Thanks @akineeic . I will open a PR to fix the emsdk dependency issue.
Fail to execute
npm run build-wasm
in latest code 8b54dd5ef3b4b6da7cca023b9dd67bd4593b0e41, the error log is@akineeic , could you please take a look?