Closed as-shura closed 1 year ago
i'm not familiar with this project.
it looks like you're referencing the latest commit of main
rather than release version 1.3.0 (which is kinda old). while that's fine and safe (i try to always have main branch safe and stable), that could cause some confusion. there's enough difference between release 1.3.0 and latest that a new version 1.4.0 is probably warranted, but i haven't had the time to tie up the loose ends for a proper release.
how are these entries in vcpkg maintained? to people audit it from time-to-time to see if there are new versions of packages available? or do the people who add packages implicitly volunteer to keep them up-to-date?
We have to do it manually! And by the way your library is only working on Linux but also compiles well on Windows. Is there any possibility to make the network adapter work with Windows?
i'm not familiar with this project.
it looks like you're referencing the latest commit of
main
rather than release version 1.3.0 (which is kinda old). while that's fine and safe (i try to always have main branch safe and stable), that could cause some confusion. there's enough difference between release 1.3.0 and latest that a new version 1.4.0 is probably warranted, but i haven't had the time to tie up the loose ends for a proper release.how are these entries in vcpkg maintained? to people audit it from time-to-time to see if there are new versions of packages available? or do the people who add packages implicitly volunteer to keep them up-to-date?
It is very simple to port any library to vcpkg just have a look at the commit history for that pull request and you can see that it all fits in almost 4 files.
First you need to clone vcpkg and after fork the repo in your own repo with new branch like I did : https://github.com/as-shura/vcpkg/tree/rtmfp-cpp
And once you tested the vcpkg install rtmfp-cpp:x64-windows command on your local system then you can ask for a pull request.
And by the way your library is only working on Linux
i haven't personally used CMake on anything but Linux, but the library builds (and all test programs run) with its Makefile on Linux, MacOS, and FreeBSD. i'll validate using CMake on a Mac and fix it if that's broken.
but also compiles well on Windows. Is there any possibility to make the network adapter work with Windows?
as i stated in the README, Windows isn't "officially supported", and i have no plans to implement a Windows platform adapter or add one to the library. however, i'm more than happy to link to any community-provided Windows platform adapter and utility packages, and those packages might also be good candidates to add to vcpkg.
as i stated in the README, Windows isn't "officially supported", and i have no plans to implement a Windows platform adapter or add one to the library. however, i'm more than happy to link to any community-provided Windows platform adapter and utility packages, and those packages might also be good candidates to add to vcpkg.
What do I need to know to be able to understand how to implement the Windows adapter? From what I know Flash was working on Windows with the RTMFP protocol. What is the reason you decided to not support Windows? Or is it a lack of Network programming knowledge on that platform?
What is the reason you decided to not support Windows? Or is it a lack of Network programming knowledge on that platform?
i'm not supporting Windows because i don't have any Windows programming knowledge (especially networking, as well as the way one would want a platform adapter to naturally fit with the normal way one writes Windows applications). in addition, i don't have any Windows systems on which to develop and test (nor interest or time to allow Windows on any of my personal systems). this project is a labor of love for me, for which i have limited time, and Windows is at the bottom of my personal priorities. again, if there's interest in the community to develop and maintain Windows adapters, i'm happy to link to them.
From what I know Flash was working on Windows with the RTMFP protocol.
while i also wrote the original implementation of RTMFP that's in Flash Player (and Adobe Media Server), this library is a completely new and different implementation based on the RFC 7016 public spec (which i also wrote ;) ). similarly to this implementation though, the Flash implementation abstracted the "platform" via adapters, and other developers with OS-specific knowledge adapted the portable base protocol implementation to the different operating systems Flash Player ran on, and that worked naturally in the architecture of Flash Player.
What do I need to know to be able to understand how to implement the Windows adapter?
you need to understand Windows network programming, Windows event-based programming, the normal ways one writes event-based non-blocking programs on Windows, how you want to interface between your app and the network, etc. you would probably need something similar to a RunLoop and something similar to Performer working in a way natural for Windows programs, and then make a Windows RTMFP platform adapter within that framework.
i suggest reading my select()
and epoll()
RunLoop implementations and then the PosixPlatformAdapter (and PerformerPosixPlatformAdapter) to understand generally what's going on, and then adapt those concepts as appropriate to how Windows programs are typically structured. those classes are all relatively small, and were intended to be illustrative as well as functional and performant.
And by the way your library is only working on Linux
i'll validate using CMake on a Mac and fix it if that's broken.
i used add_subdirectory(rtmfp-cpp)
with a simple program to successfully build with CMake on a Mac. i had to tell CMake where to find OpenSSL because, according to a Google search, Homebrew's partitioning of different OpenSSL versions isn't compatible with CMake's heuristics to auto-find OpenSSL. i said
% mkdir build
% cd build
% cmake -DOPENSSL_ROOT_DIR=`brew --prefix openssl@3` ..
% make -j8
to build a test program with rtmfp-cpp
as a subdirectory.
We have a compilation error when trying to build for Linux.
[1/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/Checksums.cpp.o -MF CMakeFiles/rtmfp.dir/src/Checksums.cpp.o.d -o CMakeFiles/rtmfp.dir/src/Checksums.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Checksums.cpp
[2/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/VLU.cpp.o -MF CMakeFiles/rtmfp.dir/src/VLU.cpp.o.d -o CMakeFiles/rtmfp.dir/src/VLU.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/VLU.cpp
[3/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/Object.cpp.o -MF CMakeFiles/rtmfp.dir/src/Object.cpp.o.d -o CMakeFiles/rtmfp.dir/src/Object.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Object.cpp
[4/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/Hex.cpp.o -MF CMakeFiles/rtmfp.dir/src/Hex.cpp.o.d -o CMakeFiles/rtmfp.dir/src/Hex.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Hex.cpp
[5/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/Address.cpp.o -MF CMakeFiles/rtmfp.dir/src/Address.cpp.o.d -o CMakeFiles/rtmfp.dir/src/Address.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Address.cpp
[6/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/IndexSet.cpp.o -MF CMakeFiles/rtmfp.dir/src/IndexSet.cpp.o.d -o CMakeFiles/rtmfp.dir/src/IndexSet.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/IndexSet.cpp
[7/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/PacketAssembler.cpp.o -MF CMakeFiles/rtmfp.dir/src/PacketAssembler.cpp.o.d -o CMakeFiles/rtmfp.dir/src/PacketAssembler.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/PacketAssembler.cpp
[8/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/WriteReceipt.cpp.o -MF CMakeFiles/rtmfp.dir/src/WriteReceipt.cpp.o.d -o CMakeFiles/rtmfp.dir/src/WriteReceipt.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/WriteReceipt.cpp
[9/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/RunLoop.cpp.o -MF CMakeFiles/rtmfp.dir/src/RunLoop.cpp.o.d -o CMakeFiles/rtmfp.dir/src/RunLoop.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/RunLoop.cpp
[10/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/PerformerPosixPlatformAdapter.cpp.o -MF CMakeFiles/rtmfp.dir/src/PerformerPosixPlatformAdapter.cpp.o.d -o CMakeFiles/rtmfp.dir/src/PerformerPosixPlatformAdapter.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/PerformerPosixPlatformAdapter.cpp
[11/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/FlashCryptoAdapter_OpenSSL.cpp.o -MF CMakeFiles/rtmfp.dir/src/FlashCryptoAdapter_OpenSSL.cpp.o.d -o CMakeFiles/rtmfp.dir/src/FlashCryptoAdapter_OpenSSL.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/FlashCryptoAdapter_OpenSSL.cpp
FAILED: CMakeFiles/rtmfp.dir/src/FlashCryptoAdapter_OpenSSL.cpp.o
/usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/FlashCryptoAdapter_OpenSSL.cpp.o -MF CMakeFiles/rtmfp.dir/src/FlashCryptoAdapter_OpenSSL.cpp.o.d -o CMakeFiles/rtmfp.dir/src/FlashCryptoAdapter_OpenSSL.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/FlashCryptoAdapter_OpenSSL.cpp
/mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/FlashCryptoAdapter_OpenSSL.cpp: In destructor ‘virtual com::zenomt::rtmfp::{anonymous}::HMACSHA256_Context_OpenSSL::~HMACSHA256_Context_OpenSSL()’:
/mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/FlashCryptoAdapter_OpenSSL.cpp:135:3: error: ‘memset’ was not declared in this scope
135 | memset(m_key.data(), 0x00, m_key.size());
| ^~~~~~
/mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/FlashCryptoAdapter_OpenSSL.cpp:24:1: note: ‘memset’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
23 | #include "../include/rtmfp/FlashCryptoAdapter_OpenSSL.hpp"
+++ |+#include <cstring>
24 |
[12/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/Performer.cpp.o -MF CMakeFiles/rtmfp.dir/src/Performer.cpp.o.d -o CMakeFiles/rtmfp.dir/src/Performer.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Performer.cpp
/mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Performer.cpp: In member function ‘void com::zenomt::Performer::perform(const Task&, bool)’:
/mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Performer.cpp:108:8: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
108 | write(m_pipe[WRITE_PIPE_IDX], buf, sizeof(buf));
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Performer.cpp: In member function ‘void com::zenomt::Performer::onSignaled()’:
/mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Performer.cpp:123:6: warning: ignoring return value of ‘ssize_t read(int, void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
123 | read(m_pipe[READ_PIPE_IDX], buf, sizeof(buf)); // shouldn't block because we were woken up for this
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[13/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/TCMessage.cpp.o -MF CMakeFiles/rtmfp.dir/src/TCMessage.cpp.o.d -o CMakeFiles/rtmfp.dir/src/TCMessage.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/TCMessage.cpp
[14/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/Timer.cpp.o -MF CMakeFiles/rtmfp.dir/src/Timer.cpp.o.d -o CMakeFiles/rtmfp.dir/src/Timer.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Timer.cpp
[15/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/PlainCryptoAdapter.cpp.o -MF CMakeFiles/rtmfp.dir/src/PlainCryptoAdapter.cpp.o.d -o CMakeFiles/rtmfp.dir/src/PlainCryptoAdapter.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/PlainCryptoAdapter.cpp
[16/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/Flow.cpp.o -MF CMakeFiles/rtmfp.dir/src/Flow.cpp.o.d -o CMakeFiles/rtmfp.dir/src/Flow.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Flow.cpp
[17/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/Interface.cpp.o -MF CMakeFiles/rtmfp.dir/src/Interface.cpp.o.d -o CMakeFiles/rtmfp.dir/src/Interface.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Interface.cpp
[18/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/Media.cpp.o -MF CMakeFiles/rtmfp.dir/src/Media.cpp.o.d -o CMakeFiles/rtmfp.dir/src/Media.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Media.cpp
[19/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/ReorderBuffer.cpp.o -MF CMakeFiles/rtmfp.dir/src/ReorderBuffer.cpp.o.d -o CMakeFiles/rtmfp.dir/src/ReorderBuffer.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/ReorderBuffer.cpp
[20/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/FlowSyncManager.cpp.o -MF CMakeFiles/rtmfp.dir/src/FlowSyncManager.cpp.o.d -o CMakeFiles/rtmfp.dir/src/FlowSyncManager.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/FlowSyncManager.cpp
[21/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/PosixPlatformAdapter.cpp.o -MF CMakeFiles/rtmfp.dir/src/PosixPlatformAdapter.cpp.o.d -o CMakeFiles/rtmfp.dir/src/PosixPlatformAdapter.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/PosixPlatformAdapter.cpp
[22/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/EPollRunLoop.cpp.o -MF CMakeFiles/rtmfp.dir/src/EPollRunLoop.cpp.o.d -o CMakeFiles/rtmfp.dir/src/EPollRunLoop.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/EPollRunLoop.cpp
[23/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/SelectRunLoop.cpp.o -MF CMakeFiles/rtmfp.dir/src/SelectRunLoop.cpp.o.d -o CMakeFiles/rtmfp.dir/src/SelectRunLoop.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/SelectRunLoop.cpp
[24/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/RecvFlow.cpp.o -MF CMakeFiles/rtmfp.dir/src/RecvFlow.cpp.o.d -o CMakeFiles/rtmfp.dir/src/RecvFlow.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/RecvFlow.cpp
[25/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/SendFlow.cpp.o -MF CMakeFiles/rtmfp.dir/src/SendFlow.cpp.o.d -o CMakeFiles/rtmfp.dir/src/SendFlow.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/SendFlow.cpp
[26/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/RedirectorClient.cpp.o -MF CMakeFiles/rtmfp.dir/src/RedirectorClient.cpp.o.d -o CMakeFiles/rtmfp.dir/src/RedirectorClient.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/RedirectorClient.cpp
[27/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/FlashCryptoAdapter.cpp.o -MF CMakeFiles/rtmfp.dir/src/FlashCryptoAdapter.cpp.o.d -o CMakeFiles/rtmfp.dir/src/FlashCryptoAdapter.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/FlashCryptoAdapter.cpp
[28/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/AMF.cpp.o -MF CMakeFiles/rtmfp.dir/src/AMF.cpp.o.d -o CMakeFiles/rtmfp.dir/src/AMF.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/AMF.cpp
[29/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/RTMFP.cpp.o -MF CMakeFiles/rtmfp.dir/src/RTMFP.cpp.o.d -o CMakeFiles/rtmfp.dir/src/RTMFP.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/RTMFP.cpp
[30/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/TCConnection.cpp.o -MF CMakeFiles/rtmfp.dir/src/TCConnection.cpp.o.d -o CMakeFiles/rtmfp.dir/src/TCConnection.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/TCConnection.cpp
[31/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/Session.cpp.o -MF CMakeFiles/rtmfp.dir/src/Session.cpp.o.d -o CMakeFiles/rtmfp.dir/src/Session.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/Session.cpp
[32/34] /usr/bin/c++ -isystem /mnt/vcpkg-ci/installed/x64-linux/include -fPIC -g -Os -std=gnu++11 -MD -MT CMakeFiles/rtmfp.dir/src/URIParse.cpp.o -MF CMakeFiles/rtmfp.dir/src/URIParse.cpp.o.d -o CMakeFiles/rtmfp.dir/src/URIParse.cpp.o -c /mnt/vcpkg-ci/buildtrees/rtmfp-cpp/src/45d911f26a-6bc8b9d562.clean/src/URIParse.cpp
ninja: build stopped: subcommand failed.
See https://github.com/microsoft/vcpkg/pull/29442 You can download the log file for linux https://dev.azure.com/vcpkg/public/_build/results?buildId=85168&view=artifacts&pathAsName=false&type=publishedArtifacts
interesting. i'll fix those.
latest commit df7077d67bf04c8726b40188aeef3e682debf81e should fix those. i haven't seen those problems on any of my other builds. is that g++ or Clang (assuming g++ because -std=gnu++11
).
but please use the actual latest commit 18168ec641df5bbe22a0fac84b0efc02a4bc0a67 which has another fix for a Clang warning i just found.
Good news everything is working!https://github.com/microsoft/vcpkg/pull/29442
i left a comment on that PR: i think you need to switch to using HEAD_REF
instead of REF
+SHA512
if you want to track the master branch. the way it is now it will be broken the next time there's a commit to the master branch, as i read the docs.
after more comments in that PR from a contributor, it looks like you need to have REF
after all, and it needs to be a commit or tag, not a branch (and especially not main
). if you do include HEAD_REF
, make it main
and not master
.
Good done! Thank you for your help.
https://github.com/microsoft/vcpkg/pull/29442