-
Notifications
You must be signed in to change notification settings - Fork 8
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
Upgrade using fmt library up to latest version #3
Comments
soralog requires a version of fmt before fmtlib/fmt@841aad9, which removed the soralog/src/impl/sink_to_console.cpp Line 65 in 6184419
However, I'll also note that fmt broke on iOS between fmtlib/fmt@15c10b0 and fmtlib/fmt@69bdc20 due to fmtlib/fmt#2248 (which I had actually filed), and so I actually use fmtlib/fmt@308510e for soralog (which is depressing, as it is now a year old). |
I am using fmt-7.1.2, which works well. And I have not tried 7.1.3. |
Sorry for delay.
|
@xDimon FWIW, if you stop using that one variable from fmt_internal (which I would imagine projects aren't "supposed" to be using at all) we can all upgrade to the latest version of fmt. (I am definitely not building with Hunter, btw: it seems to be riddled with ancient versions of packages? I always do a build system bypass of imported libraries so I can correctly manage all the dependencies and do what I can to force them to master. I might try adding a hack to just disable color or whatever soralog is needing this for so I can make sure to be on the latest fmt code.) |
Any hacks is bad way. I'll try to switch to last version of fmt (8.1.1) for next version soralog. |
Oh, it was really easy. =) |
@xDimon That looks good :) |
@xDimon Thanks!! This did, in fact, allow me to upgrade to a much newer version of fmt :D. That said, I'm now ("still"? I feel like I didn't have this before, though? I'm confused a bit ;P) running into two issues preventing me from fully upgrading fmt, but I don't know if these issues are in soralog itself or are in the library that I'm compiling (cpp-libp2p) which is using soralog. Maybe you'd be willing to comment? (I'd appreciate if you don't want to, but the reason I ask is because the code using soralog naively looks reasonable to me and the issues both happen on the "other side" of soralog and seem to be fixable in soralog.)
SL_DEBUG(log(), "Failed to negotiate protocols: {}",
fmt::join(protocols_.begin(), protocols_.end(), ", "));
I actually managed to "fix" this one by going through the entire stack of functions on the failed call stack and replacing every soralog/include/soralog/sink.hpp Lines 87 to 89 in 761f1e9
soralog/include/soralog/sink.hpp Lines 108 to 109 in 761f1e9
log_->error("cannot read an identify message from peer {}, {}: {}",
peer_id_str, peer_addr_str, msg_res.error());
|
I am now running into another issue with newer versions of soralog (with libp2p). :/
|
I tried fmt 3.0.0, 3.0.2, and 8.0.1, all failed to compiled.
The text was updated successfully, but these errors were encountered: