open-webrtc-toolkit / owt-sdk-quic

C++ server and client APIs for WebTransport.
Apache License 2.0
114 stars 46 forks source link

Execute “gn gen out/debug” command failed when compiling owt sdk on Ubuntu 18.04 system #70

Open Qianxi111 opened 2 years ago

Qianxi111 commented 2 years ago

Hi, Seems that "gclient sync" is done. When execute “gn gen out/debug” command It outputs as follow:

ERROR at //testing/test.gni:21:30: Undefined identifier tests_have_location_tags = generate_location_tags ^--------------------- See //testing/libfuzzer/fuzzer_test.gni:9:1: whence it was imported. import("//testing/test.gni") ^-------------------------- See //media/media_options.gni:11:1: whence it was imported. import("//testing/libfuzzer/fuzzer_test.gni") ^------------------------------------------- See //chromecast/chromecast.gni:8:1: whence it was imported. import("//media/media_options.gni") ^--------------------------------- See //chrome/browser/buildflags.gni:8:1: whence it was imported. import("//chromecast/chromecast.gni") ^----------------------------------- See //BUILD.gn:19:1: whence it was imported. import("//chrome/browser/buildflags.gni") ^---------------------------------------

Any advice about this error?

Qianxi111 commented 2 years ago

I disabled "tests_have_location_tags" option in test.gni,and "gn gen out/debug" worked. I execute "ninja -C out/debug/ owt_web_transport" to compile the owt sdk But at last it gets errors as below,seems that something wrong with linking ? ninja: Entering directory `out/debug/' [0/1] Regenerating ninja files [2068/2068] SOLINK ./libowt_web_transport.so FAILED: libowt_web_transport.so libowt_web_transport.so.TOC python3 "../../build/toolchain/gcc_solink_wrapper.py" --readelf="../../third_party/llvm-build/Release+Asserts/bin/llvm-readelf" --nm="../../third_party/llvm-build/Release+Asserts/bin/llvm-nm" --sofile="./libowt_web_transport.so" --tocfile="./libowt_web_transport.so.TOC" --output="./libowt_web_transport.so" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,-soname="libowt_web_transport.so" -fuse-ld=lld -Wl,--fatal-warnings -Wl,--build-id -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,--color-diagnostics -Wl,--no-call-graph-profile-sort -m64 -no-canonical-prefixes -Werror -Wl,--gdb-index -rdynamic -nostdlib++ --sysroot=../../build/linux/debian_sid_amd64-sysroot -Wl,-z,defs -Wl,--as-needed -Wl,-rpath=\$ORIGIN -o "./libowt_web_transport.so" @"./libowt_web_transport.so.rsp" ld.lld: error: undefined symbol: net::InitializeQuicConfig(net::QuicParams const&)

referenced by web_transport_http3_client.cc:467 (../../owt/web_transport/sdk/impl/web_transport_http3_client.cc:467) obj/owt/web_transport/owt_web_transport_impl/web_transport_http3_client.o:(owt::quic::WebTransportHttp3Client::CreateConnection()) clang++: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed.

How to sovle this problem?

Qianxi111 commented 2 years ago

Where is function "net::InitializeQuicConfig" definition? I can't find it in owt sdk impl code.

liangyp2 commented 1 year ago

I have the same problem. How can I solve it?