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

Can it be added to the Conan warehouse? #264

Open
simbahebinbo opened this issue Sep 3, 2024 · 10 comments
Open

Can it be added to the Conan warehouse? #264

simbahebinbo opened this issue Sep 3, 2024 · 10 comments

Comments

@simbahebinbo
Copy link

Description

I tried to add this package to the Conan repository, but it depends on other packages that do not exist in the Conan repository.
Can a more universal package be used in the project?
Can we add the dependent packages to the Conan repository?
Can you add this package to the Conan warehouse?

Motivation

https://conan.io/center

Current Implementation

https://conan.io/center

Are you planning to do it yourself in a pull request ?

Yes

@kamilsa
Copy link
Contributor

kamilsa commented Sep 3, 2024

We do not have relevant experience of working with conan, and honestly no capacity at the moment. We can assist to let you add dependent packages to conan if needed

@simbahebinbo
Copy link
Author

simbahebinbo commented Sep 3, 2024

@simbahebinbo
Copy link
Author

simbahebinbo commented Sep 3, 2024

Regarding qtils, I have created a conan and am preparing to submit it to the conan repository:
https://github.com/simbahebinbo/conan-qtils

@simbahebinbo
Copy link
Author

simbahebinbo commented Sep 3, 2024

Regarding soralog, I made a conan, but encountered an error
https://github.com/simbahebinbo/conan-soralog

Undefined symbols for architecture arm64:
"YAML::detail::node_data::empty_scalar", referenced from:
YAML::Node::Scalar() const in libconfigurator_yaml.a2
"soralog::SinkToFile::SinkToFile(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, std::__1::__fs::filesystem::path, std::__1::optionalsoralog::Sink::ThreadInfoType, std::__1::optional, std::__1::optional, std::__1::optional, std::__1::optional)", referenced from:
soralog::SinkToFile* std::__1::construct_at[abi:ue170006]<soralog::SinkToFile, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&, soralog::Sink::ThreadInfoType&, std::__1::optional&, std::__1::optional&, std::__1::optional&, std::__1::optional&, soralog::SinkToFile*>(soralog::SinkToFile*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&, soralog::Sink::ThreadInfoType&, std::__1::optional&, std::__1::optional&, std::__1::optional&, std::__1::optional&) in libconfigurator_yaml.a2
"soralog::SinkToFile::~SinkToFile()", referenced from:
void std::__1::__destroy_at[abi:ue170006]<soralog::SinkToFile, 0>(soralog::SinkToFile*) in libconfigurator_yaml.a2
"soralog::SinkToSyslog::SinkToSyslog(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, std::__1::optionalsoralog::Sink::ThreadInfoType, std::__1::optional, std::__1::optional, std::__1::optional, std::__1::optional)", referenced from:
soralog::SinkToSyslog* std::__1::construct_at[abi:ue170006]<soralog::SinkToSyslog, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&, soralog::Sink::ThreadInfoType&, std::__1::optional&, std::__1::optional&, std::__1::optional&, std::__1::optional&, soralog::SinkToSyslog*>(soralog::SinkToSyslog*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&, soralog::Sink::ThreadInfoType&, std::__1::optional&, std::__1::optional&, std::__1::optional&, std::__1::optional&) in libconfigurator_yaml.a2
"soralog::SinkToSyslog::~SinkToSyslog()", referenced from:
void std::__1::__destroy_at[abi:ue170006]<soralog::SinkToSyslog, 0>(soralog::SinkToSyslog*) in libconfigurator_yaml.a2
"soralog::LoggingSystem::setSinkOfGroup(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&)", referenced from:
soralog::ConfiguratorFromYAML::Applicator::parseGroup(int, YAML::Node const&, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>> const&) in libconfigurator_yaml.a2
"soralog::LoggingSystem::setLevelOfGroup(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, soralog::Level)", referenced from:
soralog::ConfiguratorFromYAML::Applicator::parseGroup(int, YAML::Node const&, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>> const&) in libconfigurator_yaml.a2
"soralog::LoggingSystem::setFallbackGroup(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&)", referenced from:
soralog::ConfiguratorFromYAML::Applicator::parseGroup(int, YAML::Node const&, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>> const&) in libconfigurator_yaml.a2
"soralog::LoggingSystem::setParentOfGroup(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&)", referenced from:
soralog::ConfiguratorFromYAML::Applicator::parseGroup(int, YAML::Node const&, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>> const&) in libconfigurator_yaml.a2
"soralog::LoggingSystem::getSink(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&)", referenced from:
soralog::ConfiguratorFromYAML::Applicator::parseSinkToConsole(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, YAML::Node const&) in libconfigurator_yaml.a2
soralog::ConfiguratorFromYAML::Applicator::parseSinkToFile(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, YAML::Node const&) in libconfigurator_yaml.a2
soralog::ConfiguratorFromYAML::Applicator::parseSinkToSyslog(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, YAML::Node const&) in libconfigurator_yaml.a2
soralog::ConfiguratorFromYAML::Applicator::parseMultisink(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, YAML::Node const&) in libconfigurator_yaml.a2
soralog::ConfiguratorFromYAML::Applicator::parseGroup(int, YAML::Node const&, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>> const&) in libconfigurator_yaml.a2
soralog::ConfiguratorFromYAML::Applicator::parseGroup(int, YAML::Node const&, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>> const&) in libconfigurator_yaml.a2
"soralog::LoggingSystem::getGroup(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&)", referenced from:
soralog::ConfiguratorFromYAML::Applicator::parseGroup(int, YAML::Node const&, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>> const&) in libconfigurator_yaml.a2
"soralog::LoggingSystem::configure()", referenced from:
_main in main.cpp.o
"soralog::LoggingSystem::getLogger(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>> const&, std::__1::optionalsoralog::Level const&)", referenced from:
soralog::LoggingSystem::getLogger(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&) in main.cpp.o
"soralog::LoggingSystem::makeGroup(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>> const&, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>> const&, std::__1::optionalsoralog::Level const&)", referenced from:
soralog::ConfiguratorFromYAML::Applicator::parseGroup(int, YAML::Node const&, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>> const&) in libconfigurator_yaml.a2
soralog::FallbackConfigurator::applyOn(soralog::LoggingSystem&) const in libfallback_configurator.a2
"soralog::LoggingSystem::LoggingSystem(std::__1::shared_ptrsoralog::Configurator)", referenced from:
_main in main.cpp.o
"soralog::SinkToConsole::SinkToConsole(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, soralog::SinkToConsole::Stream, bool, std::__1::optionalsoralog::Sink::ThreadInfoType, std::__1::optional, std::__1::optional, std::__1::optional, std::__1::optional)", referenced from:
soralog::SinkToConsole* std::__1::construct_at[abi:ue170006]<soralog::SinkToConsole, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, soralog::SinkToConsole::Stream&, bool&, soralog::Sink::ThreadInfoType&, std::__1::optional&, std::__1::optional&, std::__1::optional&, std::__1::optional&, soralog::SinkToConsole*>(soralog::SinkToConsole*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, soralog::SinkToConsole::Stream&, bool&, soralog::Sink::ThreadInfoType&, std::__1::optional&, std::__1::optional&, std::__1::optional&, std::__1::optional&) in libconfigurator_yaml.a2
soralog::SinkToConsole* std::__1::construct_at[abi:ue170006]<soralog::SinkToConsole, char const (&) [8], soralog::SinkToConsole::Stream, bool const&, soralog::SinkToConsole*>(soralog::SinkToConsole*, char const (&) [8], soralog::SinkToConsole::Stream&&, bool const&) in libfallback_configurator.a2
"soralog::SinkToConsole::~SinkToConsole()", referenced from:
void std::__1::__destroy_at[abi:ue170006]<soralog::SinkToConsole, 0>(soralog::SinkToConsole*) in libconfigurator_yaml.a2
"soralog::Logger::setLevel(soralog::Level)", referenced from:
_main in main.cpp.o
_main in main.cpp.o
"soralog::Multisink::Multisink(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, std::__1::vector<std::__1::shared_ptrsoralog::Sink, std::__1::allocator<std::__1::shared_ptrsoralog::Sink>>)", referenced from:
soralog::Multisink* std::__1::construct_at[abi:ue170006]<soralog::Multisink, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::vector<std::__1::shared_ptrsoralog::Sink, std::__1::allocator<std::__1::shared_ptrsoralog::Sink>>, soralog::Multisink*>(soralog::Multisink*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::vector<std::__1::shared_ptrsoralog::Sink, std::__1::allocator<std::__1::shared_ptrsoralog::Sink>>&&) in libconfigurator_yaml.a2
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [example_simple] Error 1
make[1]: *** [CMakeFiles/example_simple.dir/all] Error 2
make: *** [all] Error 2

ERROR: soralog/0.2.3 (test package): Error in build() method, line 19
cmake.build()
ConanException: Error 2 while executing

Even if I download the source code of soralog, compile and install it locally, and then compile the sample code, I still encounter the same error
https://github.com/xDimon/soralog
https://github.com/simbahebinbo/example-soralog

However, the example directory in the source code can be compiled and run.
That is to say, if I extract the code from the example directory and put it separately in a project, it will not compile.
I don't know why?
Can you give me some guidance

@simbahebinbo
Copy link
Author

simbahebinbo commented Sep 3, 2024

Additionally, can soralog be replaced with spdlog in the source code of cpp-libp2p?
Spdlog seems to be more versatile.
This package also exists in conan
https://github.com/gabime/spdlog
https://conan.io/center/recipes/spdlog?version=1.14.1

@simbahebinbo
Copy link
Author

simbahebinbo commented Sep 3, 2024

Regarding BoringSSL and libsecp256k1, I am trying to use conan packaging, but it has not been successful yet
https://github.com/simbahebinbo/conan-boringssl

@simbahebinbo
Copy link
Author

simbahebinbo commented Sep 3, 2024

Regarding SQLiteModernCpp, I haven't started yet

@simbahebinbo
Copy link
Author

simbahebinbo commented Sep 3, 2024

I ultimately tried to achieve this and offer it to conan. But I haven't succeeded yet. I'm stuck.
https://github.com/simbahebinbo/conan-libp2p

@kamilsa
Copy link
Contributor

kamilsa commented Sep 4, 2024

However, the example directory in the source code can be compiled and run. That is to say, if I extract the code from the example directory and put it separately in a project, it will not compile. I don't know why? Can you give me some guidance

I see that we are using yaml cpp from here:
https://github.com/hunter-packages/yaml-cpp , version 0.6.2-0f9a586-p1 can you try to compile with it?

@simbahebinbo
Copy link
Author

fmt must be 10.1.1

$ git clone https://github.com/fmtlib/fmt.git
$ git checkout 10.1.1    

(commit f5e54359df4c26b6230fc61d38aa294581393084)

$ mkdir build
$ cd build
$ cmake -G Ninja ..
$ cmake --build .
$ sudo cmake --install .
$ cd ..
yaml-cpp must be v0.6.2-0f9a586-p1

$ git clone https://github.com/hunter-packages/yaml-cpp
$ git checkout v0.6.2-0f9a586-p1   

(commit c953835e451d2cf70926478ae615928190f6bcdd)

$ mkdir build
$ cd build
$ cmake -G Ninja ..
$ cmake --build .
$ sudo cmake --install .
$ cd ..
$ git clone https://github.com/xDimon/soralog.git

(commit ef843dafdcbb377ca71c558c23abbe4d730c5b93)

$ mkdir build
$ cd build
$ cmake -G Ninja ..
$ cmake --build .
$ sudo cmake --install .
$ cd ..

Use the correct version. It can run now.

https://github.com/simbahebinbo/demo-soralog

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