-
-
Notifications
You must be signed in to change notification settings - Fork 199
Open
Description
Following the indications found here : https://mediasoup.org/documentation/v3/libmediasoupclient/installation/
I tried to build libmediasoupclient but got during compilation phase this error message:
/home/raphy/webrtc-checkout/src/p2p/base/port_interface.h:58:26: error: declaration of ‘virtual const webrtc::Network* webrtc::PortInterface::Network() const’ changes meaning of ‘Network’ [-Wchanges-meaning]
58 | virtual const Network* Network() const = 0;
These are all the steps I took, and their output :
raphy@raohy:~$ mkdir webrtc-checkout
raphy@raohy:~$ cd webrtc-checkout
raphy@raohy:~/webrtc-checkout$ fetch --nohooks webrtc
Syncing projects: 100% (76/76), done
raphy@raohy:~/webrtc-checkout$ gclient sync
Syncing projects: 100% (76/76), done.
raphy@raohy:~/webrtc-checkout$ cd src
raphy@raohy:~/webrtc-checkout/src$ git checkout -b m140 refs/remotes/branch-heads/7339
Previous HEAD position was bd5852280d Roll chromium_revision f6f1046192..6612b939a3 (1546919:1547055)
branch 'm140' set up to track 'origin/refs/branch-heads/7339'.
Switched to a new branch 'm140'
raphy@raohy:~/webrtc-checkout/src$ gclient sync
Syncing projects: 100% (63/63), done.
raphy@raohy:~/webrtc-checkout/src$ gn gen out/m140 --args='is_debug=false is_component_build=false is_clang=false rtc_include_tests=false rtc_use_h264=true use_rtti=true use_custom_libcxx=false treat_warnings_as_errors=false use_ozone=true'
Generating compile_commands took 50ms
Done. Made 2230 targets from 358 files in 1460ms
raphy@raohy:~/webrtc-checkout/src$ autoninja -C out/m140
offline mode
ninja: Entering directory `out/m140'
1.63s Regenerating ninja files
build finished
local:7789 remote:0 cache:0 fallback:0 retry:0 skip:2105
fs: ops: 252408(err:55896) / r:43943(err:0) 2.00GiB / w:1838(err:0) 10.19MiB
resource/capa used(err) wait-avg | s m | serv-avg | s m |
localexec/8 6396(0) 5m05.85s |▂▂▂▂▃█▃| 2.22s |▂▄▇█▂▂ |
pool=action/8 229(0) 36.86s |▄ ▂█▅█ | 4.75s | ▄█▃▂ |
29m58.98s Build Succeeded: 7789 steps - 4.33/s
raphy@raohy:~/webrtc-checkout/src$ ls -lah ./out/m140/obj/ | grep libwebrtc
-rw-rw-r-- 1 raphy raphy 48M nov 19 13:24 libwebrtc.a
raphy@raohy:~$ git clone https://github.com/versatica/libmediasoupclient.git
https://github.com/versatica/libmediasoupclient/tags
raphy@raohy:~/libmediasoupclient$ git checkout 3.5.0
Note: switching to '3.5.0'.
raphy@raohy:~/libmediasoupclient$ PATH_TO_LIBWEBRTC_SOURCES=/home/raphy/webrtc-checkout/src
raphy@raohy:~/libmediasoupclient$ PATH_TO_LIBWEBRTC_BINARY=/home/raphy/webrtc-checkout/src/out/m140/obj/
raphy@raohy:~/libmediasoupclient$
raphy@raohy:~/libmediasoupclient$ nano build/_deps/libsdptransform-src/CMakeLists.txt :
cmake_minimum_required(VERSION 3.10)
raphy@raohy:~/libmediasoupclient$ cmake . -Bbuild -DLIBWEBRTC_INCLUDE_PATH:PATH=${PATH_TO_LIBWEBRTC_SOURCES} -DLIBWEBRTC_BINARY_PATH:PATH=${PATH_TO_LIBWEBRTC_BINARY} -DCMAKE_CXX_FLAGS="-fvisibility=hidden"
-- The CXX compiler identification is GNU 13.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
=========== libmediasoupclient Build Configuration ===========
-- MEDIASOUPCLIENT_BUILD_TESTS : OFF
-- MEDIASOUPCLIENT_LOG_TRACE : OFF
-- MEDIASOUPCLIENT_LOG_DEV : OFF
-- LIBWEBRTC_INCLUDE_PATH : /home/raphy/webrtc-checkout/src
-- LIBWEBRTC_BINARY_PATH : /home/raphy/webrtc-checkout/src/out/m140/obj
--
Fetching libsdptransform...
CMake Error at build/_deps/libsdptransform-src/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
-- Configuring incomplete, errors occurred!
raphy@raohy:~/libmediasoupclient$ nano build/_deps/libsdptransform-src/CMakeLists.txt :
cmake_minimum_required(VERSION 3.10
raphy@raohy:~/libmediasoupclient$ cmake . -Bbuild -DLIBWEBRTC_INCLUDE_PATH:PATH=${PATH_TO_LIBWEBRTC_SOURCES} -DLIBWEBRTC_BINARY_PATH:PATH=${PATH_TO_LIBWEBRTC_BINARY} -DCMAKE_CXX_FLAGS="-fvisibility=hidden"
=========== libmediasoupclient Build Configuration ===========
-- MEDIASOUPCLIENT_BUILD_TESTS : OFF
-- MEDIASOUPCLIENT_LOG_TRACE : OFF
-- MEDIASOUPCLIENT_LOG_DEV : OFF
-- LIBWEBRTC_INCLUDE_PATH : /home/raphy/webrtc-checkout/src
-- LIBWEBRTC_BINARY_PATH : /home/raphy/webrtc-checkout/src/out/m140/obj
--
Fetching libsdptransform...
-- The C compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/raphy/libmediasoupclient/build
raphy@raohy:~/libmediasoupclient$ make -C build/
make: Entering directory '/home/raphy/libmediasoupclient/build'
make[1]: Entering directory '/home/raphy/libmediasoupclient/build'
make[2]: Entering directory '/home/raphy/libmediasoupclient/build'
make[2]: Leaving directory '/home/raphy/libmediasoupclient/build'
make[2]: Entering directory '/home/raphy/libmediasoupclient/build'
[ 3%] Building CXX object _deps/libsdptransform-build/CMakeFiles/sdptransform.dir/src/grammar.cpp.o
[ 7%] Building CXX object _deps/libsdptransform-build/CMakeFiles/sdptransform.dir/src/parser.cpp.o
[ 11%] Building CXX object _deps/libsdptransform-build/CMakeFiles/sdptransform.dir/src/writer.cpp.o
[ 15%] Linking CXX static library libsdptransform.a
make[2]: Leaving directory '/home/raphy/libmediasoupclient/build'
[ 15%] Built target sdptransform
make[2]: Entering directory '/home/raphy/libmediasoupclient/build'
make[2]: Leaving directory '/home/raphy/libmediasoupclient/build'
make[2]: Entering directory '/home/raphy/libmediasoupclient/build'
[ 19%] Building CXX object CMakeFiles/mediasoupclient.dir/src/Consumer.cpp.o
[ 23%] Building CXX object CMakeFiles/mediasoupclient.dir/src/DataConsumer.cpp.o
[ 26%] Building CXX object CMakeFiles/mediasoupclient.dir/src/DataProducer.cpp.o
In file included from /home/raphy/webrtc-checkout/src/api/turn_customizer.h:17,
from /home/raphy/webrtc-checkout/src/api/peer_connection_interface.h:125,
from /home/raphy/libmediasoupclient/include/PeerConnection.hpp:5,
from /home/raphy/libmediasoupclient/include/Handler.hpp:4,
from /home/raphy/libmediasoupclient/include/DataProducer.hpp:4,
from /home/raphy/libmediasoupclient/src/DataProducer.cpp:3:
/home/raphy/webrtc-checkout/src/p2p/base/port_interface.h:58:26: error: declaration of ‘virtual const webrtc::Network* webrtc::PortInterface::Network() const’ changes meaning of ‘Network’ [-Wchanges-meaning]
58 | virtual const Network* Network() const = 0;
| ^~~~~~~
/home/raphy/webrtc-checkout/src/p2p/base/port_interface.h:58:17: note: used here to mean ‘class webrtc::Network’
58 | virtual const Network* Network() const = 0;
| ^~~~~~~
In file included from /home/raphy/webrtc-checkout/src/p2p/base/port_interface.h:29:
/home/raphy/webrtc-checkout/src/rtc_base/network.h:194:18: note: declared here
194 | class RTC_EXPORT Network {
| ^~~~~~~
make[2]: *** [CMakeFiles/mediasoupclient.dir/build.make:107: CMakeFiles/mediasoupclient.dir/src/DataProducer.cpp.o] Error 1
make[2]: Leaving directory '/home/raphy/libmediasoupclient/build'
make[1]: *** [CMakeFiles/Makefile2:154: CMakeFiles/mediasoupclient.dir/all] Error 2
make[1]: Leaving directory '/home/raphy/libmediasoupclient/build'
make: *** [Makefile:136: all] Error 2
make: Leaving directory '/home/raphy/libmediasoupclient/build'
Other Info:
OS: Ubuntu 24.04
gcc: 13.3.0
I suppressed the error message by modifying CMakeLists.txt file :
raphy@raohy:~/libmediasoupclient$ nano CMakeLists.txt :
# Add some compile flags to our source files.
if(MSVC)
set_source_files_properties(${SOURCE_FILES}
PROPERTIES COMPILE_FLAGS "/W3")
else()
set_source_files_properties(${SOURCE_FILES}
#PROPERTIES COMPILE_FLAGS -Wall -Wextra -Wpedantic)
PROPERTIES COMPILE_FLAGS -w)
endif()
raphy@raohy:~/libmediasoupclient$ cmake . -Bbuild -DLIBWEBRTC_INCLUDE_PATH:PATH=${PATH_TO_LIBWEBRTC_SOURCES} -DLIBWEBRTC_BINARY_PATH:PATH=${PATH_TO_LIBWEBRTC_BINARY}
=========== libmediasoupclient Build Configuration ===========
-- MEDIASOUPCLIENT_BUILD_TESTS : OFF
-- MEDIASOUPCLIENT_LOG_TRACE : OFF
-- MEDIASOUPCLIENT_LOG_DEV : OFF
-- LIBWEBRTC_INCLUDE_PATH : /home/raphy/webrtc-checkout/src
-- LIBWEBRTC_BINARY_PATH : /home/raphy/webrtc-checkout/src/out/m140/obj
--
Fetching libsdptransform...
-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/raphy/libmediasoupclient/build
raphy@raohy:~/libmediasoupclient$ make -C build/
make: Entering directory '/home/raphy/libmediasoupclient/build'
make[1]: Entering directory '/home/raphy/libmediasoupclient/build'
make[2]: Entering directory '/home/raphy/libmediasoupclient/build'
make[2]: Leaving directory '/home/raphy/libmediasoupclient/build'
[ 15%] Built target sdptransform
make[2]: Entering directory '/home/raphy/libmediasoupclient/build'
make[2]: Leaving directory '/home/raphy/libmediasoupclient/build'
make[2]: Entering directory '/home/raphy/libmediasoupclient/build'
[ 19%] Building CXX object CMakeFiles/mediasoupclient.dir/src/Consumer.cpp.o
[ 23%] Building CXX object CMakeFiles/mediasoupclient.dir/src/DataConsumer.cpp.o
[ 26%] Building CXX object CMakeFiles/mediasoupclient.dir/src/DataProducer.cpp.o
[ 30%] Building CXX object CMakeFiles/mediasoupclient.dir/src/Device.cpp.o
[ 34%] Building CXX object CMakeFiles/mediasoupclient.dir/src/Handler.cpp.o
[ 38%] Building CXX object CMakeFiles/mediasoupclient.dir/src/Logger.cpp.o
[ 42%] Building CXX object CMakeFiles/mediasoupclient.dir/src/PeerConnection.cpp.o
[ 46%] Building CXX object CMakeFiles/mediasoupclient.dir/src/Producer.cpp.o
[ 50%] Building CXX object CMakeFiles/mediasoupclient.dir/src/Transport.cpp.o
[ 53%] Building CXX object CMakeFiles/mediasoupclient.dir/src/mediasoupclient.cpp.o
[ 57%] Building CXX object CMakeFiles/mediasoupclient.dir/src/ortc.cpp.o
[ 61%] Building CXX object CMakeFiles/mediasoupclient.dir/src/scalabilityMode.cpp.o
[ 65%] Building CXX object CMakeFiles/mediasoupclient.dir/src/sdp/MediaSection.cpp.o
[ 69%] Building CXX object CMakeFiles/mediasoupclient.dir/src/sdp/RemoteSdp.cpp.o
[ 73%] Building CXX object CMakeFiles/mediasoupclient.dir/src/sdp/Utils.cpp.o
[ 76%] Linking CXX static library libmediasoupclient.a
make[2]: Leaving directory '/home/raphy/libmediasoupclient/build'
[ 76%] Built target mediasoupclient
make[2]: Entering directory '/home/raphy/libmediasoupclient/build'
make[2]: Leaving directory '/home/raphy/libmediasoupclient/build'
make[2]: Entering directory '/home/raphy/libmediasoupclient/build'
[ 80%] Building CXX object _deps/libsdptransform-build/test/CMakeFiles/test_sdptransform.dir/tests.cpp.o
[ 84%] Building CXX object _deps/libsdptransform-build/test/CMakeFiles/test_sdptransform.dir/parse.test.cpp.o
[ 88%] Building CXX object _deps/libsdptransform-build/test/CMakeFiles/test_sdptransform.dir/catch_amalgamated.cpp.o
[ 92%] Linking CXX executable test_sdptransform
make[2]: Leaving directory '/home/raphy/libmediasoupclient/build'
[ 92%] Built target test_sdptransform
make[2]: Entering directory '/home/raphy/libmediasoupclient/build'
make[2]: Leaving directory '/home/raphy/libmediasoupclient/build'
make[2]: Entering directory '/home/raphy/libmediasoupclient/build'
[ 96%] Building CXX object _deps/libsdptransform-build/readme-helper/CMakeFiles/sdptransform_readme_helper.dir/readme.cpp.o
[100%] Linking CXX executable sdptransform_readme_helper
make[2]: Leaving directory '/home/raphy/libmediasoupclient/build'
[100%] Built target sdptransform_readme_helper
make[1]: Leaving directory '/home/raphy/libmediasoupclient/build'
make: Leaving directory '/home/raphy/libmediasoupclient/build'
raphy@raohy:~/libmediasoupclient$
But this shouldn't be fine.
This error: declaration of ‘virtual const webrtc::Network* webrtc::PortInterface::Network() const’ changes meaning of ‘Network should be fixed
Metadata
Metadata
Assignees
Labels
No labels