MUSL compilation issue
Hi guys,
You may be aware of the musl project, a new/clean implementation of the C library focussed on strict standards compliance and security.
The ibrcommon repository doesn't compile against musl. When I looked I found out that the problem was due to a call to basename(3) in ibrcommon/data/File.cpp.
basename expects a char*, but the code passes a std::string.c_str() which is a const char*. The compiler refuses to build.
The reason why it works on glibc is because they overload basename() by supplying a version which accepts a const char*. This is GNU extension; musl doesn't supply this due to the aforementioned focus on standards compliance.
I have a patch that fixes this which I'm happy to share - is this mailing list the appropriate place to submit patches or is there a preferred mechanism ?
Brendan
Hello Brendan,
thank you for your effort. A good way to contribute source code to IBR-DTN would be to open a pull-request on github. The project is hosted at https://github.com/ibrdtn/ibrdtn.
Thanks! Johannes
Von: Brendan Heading Gesendet: Dienstag, 15. September 2015 01:18 An: ibr-dtn@ibr.cs.tu-bs.de Betreff: [ibr-dtn] MUSL compilation issue
Hi guys,
You may be aware of the musl project, a new/clean implementation of the C library focussed on strict standards compliance and security.
The ibrcommon repository doesn't compile against musl. When I looked I found out that the problem was due to a call to basename(3) in ibrcommon/data/File.cpp.
basename expects a char*, but the code passes a std::string.c_str() which is a const char*. The compiler refuses to build.
The reason why it works on glibc is because they overload basename() by supplying a version which accepts a const char*. This is GNU extension; musl doesn't supply this due to the aforementioned focus on standards compliance.
I have a patch that fixes this which I'm happy to share - is this mailing list the appropriate place to submit patches or is there a preferred mechanism ?
Brendan
participants (2)
-
Brendan Heading
-
jm@m-network.de