Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port of rtmfp-cpp to vcpkg #13

Closed
as-shura opened this issue Feb 4, 2023 · 16 comments
Closed

Port of rtmfp-cpp to vcpkg #13

as-shura opened this issue Feb 4, 2023 · 16 comments

Comments

@as-shura
Copy link

as-shura commented Feb 4, 2023

microsoft/vcpkg#29442

@zenomt
Copy link
Owner

zenomt commented Feb 4, 2023

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?

@as-shura
Copy link
Author

as-shura commented Feb 5, 2023

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?

@as-shura
Copy link
Author

as-shura commented Feb 5, 2023

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.

https://github.com/microsoft/vcpkg/pull/29442/commits

@as-shura
Copy link
Author

as-shura commented Feb 5, 2023

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.

@zenomt
Copy link
Owner

zenomt commented Feb 5, 2023

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-shura
Copy link
Author

as-shura commented Feb 5, 2023

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?

@zenomt
Copy link
Owner

zenomt commented Feb 5, 2023

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.

@zenomt
Copy link
Owner

zenomt commented Feb 5, 2023

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.

@as-shura
Copy link
Author

as-shura commented Feb 13, 2023

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 microsoft/vcpkg#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

@zenomt
Copy link
Owner

zenomt commented Feb 14, 2023

interesting. i'll fix those.

@zenomt
Copy link
Owner

zenomt commented Feb 14, 2023

latest commit df7077d 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).

@zenomt
Copy link
Owner

zenomt commented Feb 14, 2023

but please use the actual latest commit 18168ec which has another fix for a Clang warning i just found.

@as-shura
Copy link
Author

Good news everything is working!microsoft/vcpkg#29442

@zenomt
Copy link
Owner

zenomt commented Feb 16, 2023

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.

@zenomt
Copy link
Owner

zenomt commented Feb 16, 2023

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.

@as-shura
Copy link
Author

Good done! Thank you for your help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants