From 87b7d9075fb869086cdeee37de49907d9c65aec6 Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Sun, 13 Dec 2015 18:57:54 +0200 Subject: [PATCH] ibrcommon: fix build on musl Build error: ``` make[6]: Entering directory `/home/sandu/work/openwrt/build_dir/target-mips_34kc_musl-1.1.11/ibrcommon-1.0.1/ibrcommon/data' CXX BLOB.lo CXX ConfigFile.lo CXX File.lo File.cpp: In member function 'std::__cxx11::string ibrcommon::File::getBasename() const': File.cpp:229:44: error: 'basename' was not declared in this scope return std::string(basename(_path.c_str())); ^ make[6]: *** [File.lo] Error 1 ``` Signed-off-by: Alexandru Ardelean --- libs/ibrcommon/Makefile | 2 +- .../patches/001-fix-build-with-musl.patch | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 libs/ibrcommon/patches/001-fix-build-with-musl.patch diff --git a/libs/ibrcommon/Makefile b/libs/ibrcommon/Makefile index 579ded3c60..a37ddf5ec7 100644 --- a/libs/ibrcommon/Makefile +++ b/libs/ibrcommon/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ibrcommon PKG_VERSION:=1.0.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases diff --git a/libs/ibrcommon/patches/001-fix-build-with-musl.patch b/libs/ibrcommon/patches/001-fix-build-with-musl.patch new file mode 100644 index 0000000000..0d3f9c2398 --- /dev/null +++ b/libs/ibrcommon/patches/001-fix-build-with-musl.patch @@ -0,0 +1,23 @@ +diff --git a/ibrcommon/data/File.cpp b/ibrcommon/data/File.cpp +index 31af4ae..9b49890 100644 +--- a/ibrcommon/data/File.cpp ++++ b/ibrcommon/data/File.cpp +@@ -35,9 +35,7 @@ + #include + #include + +-#if !defined(HAVE_FEATURES_H) || defined(ANDROID) + #include +-#endif + + #ifdef __WIN32__ + #include +@@ -226,7 +224,7 @@ namespace ibrcommon + std::string File::getBasename() const + { + #if !defined(ANDROID) && defined(HAVE_FEATURES_H) +- return std::string(basename(_path.c_str())); ++ return std::string(basename((char *)_path.c_str())); + #else + char path[_path.length()+1]; + ::memcpy(&path, _path.c_str(), _path.length()+1);