dotnet / dotnet/aspnetcore

Document dependencies used by SignalR c++ client

Open
#44,788 4 comments 0 reactions 1 assignee Claimed by @BrennanConroy View on GitHub
area-signalr
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 10h
Merged PRs (30d)
281

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Describe the bug

Projects that are dependent on the microsoft-signalr package no longer compile with [v0.1.0-alpha4](https://github.com/aspnet/SignalR-Client-Cpp/releases/tag/v0.1.0-alpha4) when compiling on a linux platform.

### Expected Behavior

With the latest release of signalR c++ library, projects that relied on the library no longer build on linux compilations.

### Steps To Reproduce

Platform:
debian or ubuntu x64

Setup:
1) install latest vcpkg (i.e. commit from 10/29 that effectively includes v0.1.0-alpha4)
2) install the microsoft-signalr package.
3) compile existing app that used signalR. the app uses makefile for compilation.

Result:
Compilation fails due to missing reference
#11 29.14 /usr/bin/ld: /src/vcpkg/installed/x64-linux/lib/libmicrosoft-signalr.a(json_hub_protocol.cpp.o): in function `signalr::json_hub_protocol::parse_message(char const*, unsigned long) const':
#11 29.14 json_hub_protocol.cpp:(.text+0x29): undefined reference to `Json::Value::Value(Json::ValueType)'
#11 29.14 /usr/bin/ld: json_hub_protocol.cpp:(.text+0x15c): undefined reference to `Json::Value::~Value()'
#11 29.14 /usr/bin/ld: /src/vcpkg/installed/x64-linux/lib/libmicrosoft-signalr.a(json_hub_protocol.cpp.o): in function `signalr::json_hub_protocol::write_message[abi:cxx11](signalr::hub_message const*) const':
#11 29.14 json_hub_protocol.cpp:(.text+0xce6): undefined reference to `Json::Value::Value(Json::ValueType)'
#11 29.14 /usr/bin/ld: json_hub_protocol.cpp:(.text+0xd29): undefined reference to `Json::writeString[abi:cxx11](Json::StreamWriter::Factory const&, Json::Value const&)'
#11 29.14 /usr/bin/ld: json_hub_protocol.cpp:(.text+0xd96): undefined reference to `Json::StreamWriterBuilder::~StreamWriterBuilder()'
#11 29.14 /usr/bin/ld: json_hub_protocol.cpp:(.text+0xd9e): undefined reference to `Json::Value::~Value()'
#11 29.14 /usr/bin/ld: json_hub_protocol.cpp:(.text+0xdd1): undefined reference to `Json::Value::Value(int)'
#11 29.14 /usr/bin/ld: json_hub_protocol.cpp:(.text+0xde0): undefined reference to `Json::Value::operator[](char const*)'
#11 29.14 /usr/bin/ld: json_hub_protocol.cpp:(.text+0xdeb): undefined reference to `Json::Value::operator=(Json::Value&&)'
#11 29.14 /usr/bin/ld: json_hub_protocol.cpp:(.text+0xdf3): undefined reference to `Json::Value::~Value()'
#11 29.14 /usr/bin/ld: json_hub_protocol.cpp:(.text+0xe0a): undefined reference to `Json::Value::Value(std::__cxx11::basic_string, std::allocator > const&)'

Rolling back to vcpkg release 2022.10.19, which utilizes alpha3 results in a successful build.

I've also tried manually installing the jsoncpp package to ensure that it would be available (while using alpha4). Compilation fails.

### Exceptions (if any)

_No response_

### .NET Version

_No response_

### Anything else?

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.