* [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl
@ 2015-07-26 17:35 Brendan Heading
2015-07-26 19:38 ` Baruch Siach
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Brendan Heading @ 2015-07-26 17:35 UTC (permalink / raw)
To: buildroot
exfat-utils build would not build on Linux unless __GLIBC__ was defined.
Reworked header file to relax this requirement in favour of other libcs.
patch submitted to the exfat-utils mailing list for comment.
Also added missing dependency - exfat requires libfuse.
See http://autobuild.buildroot.net/results/c60/c60d0f9a93c90d41c3c86c78b0a0
Signed-off-by: Brendan Heading <brendanheading@gmail.com>
---
.../0001-fix-compiling-with-non-glibc-libcs.patch | 53 ++++++++++++++++++++++
package/exfat-utils/Config.in | 2 +
package/exfat-utils/exfat-utils.mk | 2 +-
3 files changed, 56 insertions(+), 1 deletion(-)
create mode 100644 package/exfat-utils/0001-fix-compiling-with-non-glibc-libcs.patch
diff --git a/package/exfat-utils/0001-fix-compiling-with-non-glibc-libcs.patch b/package/exfat-utils/0001-fix-compiling-with-non-glibc-libcs.patch
new file mode 100644
index 0000000..90740fa
--- /dev/null
+++ b/package/exfat-utils/0001-fix-compiling-with-non-glibc-libcs.patch
@@ -0,0 +1,53 @@
+[PATCH] fix compilation when libc does not define __GLIBC__
+
+libexfat would only compile on Linux with __GLIBC__ defined. Changed
+the logic around to use standard defaults on Linux which will work
+for glibc/uclibc/musl.
+
+Signed-off-by: Brendan Heading <brendanheading@gmail.com>
+---
+ platform.h | 23 ++++++++++-------------
+ 1 file changed, 10 insertions(+), 13 deletions(-)
+
+Index: libexfat/libexfat/platform.h
+===================================================================
+--- libexfat/libexfat/platform.h (revision 422)
++++ libexfat/libexfat/platform.h (working copy)
+@@ -24,19 +24,8 @@
+ #ifndef PLATFORM_H_INCLUDED
+ #define PLATFORM_H_INCLUDED
+
+-#if defined(__GLIBC__)
++#if defined(__APPLE__)
+
+-#include <endian.h>
+-#include <byteswap.h>
+-#define exfat_bswap16(x) bswap_16(x)
+-#define exfat_bswap32(x) bswap_32(x)
+-#define exfat_bswap64(x) bswap_64(x)
+-#define EXFAT_BYTE_ORDER __BYTE_ORDER
+-#define EXFAT_LITTLE_ENDIAN __LITTLE_ENDIAN
+-#define EXFAT_BIG_ENDIAN __BIG_ENDIAN
+-
+-#elif defined(__APPLE__)
+-
+ #include <machine/endian.h>
+ #include <libkern/OSByteOrder.h>
+ #define exfat_bswap16(x) OSSwapInt16(x)
+@@ -57,7 +46,15 @@
+ #define EXFAT_BIG_ENDIAN _BIG_ENDIAN
+
+ #else
+-#error Unknown platform
++/* Assume Linux. glibc, uclibc(ng) and musl all provide bswap_X functions. */
++#include <endian.h>
++#include <byteswap.h>
++#define exfat_bswap16(x) bswap_16(x)
++#define exfat_bswap32(x) bswap_32(x)
++#define exfat_bswap64(x) bswap_64(x)
++#define EXFAT_BYTE_ORDER __BYTE_ORDER
++#define EXFAT_LITTLE_ENDIAN __LITTLE_ENDIAN
++#define EXFAT_BIG_ENDIAN __BIG_ENDIAN
+ #endif
+
+ #endif /* ifndef PLATFORM_H_INCLUDED */
diff --git a/package/exfat-utils/Config.in b/package/exfat-utils/Config.in
index aedff5f..ead5d47 100644
--- a/package/exfat-utils/Config.in
+++ b/package/exfat-utils/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_EXFAT_UTILS
bool "exfat-utils"
+ select BR2_PACKAGE_LIBFUSE
depends on BR2_USE_WCHAR
help
exFAT filesystem utilities.
@@ -8,3 +9,4 @@ config BR2_PACKAGE_EXFAT_UTILS
comment "exfat-utils needs a toolchain w/ wchar"
depends on !BR2_USE_WCHAR
+
diff --git a/package/exfat-utils/exfat-utils.mk b/package/exfat-utils/exfat-utils.mk
index 4f43233..37c9b30 100644
--- a/package/exfat-utils/exfat-utils.mk
+++ b/package/exfat-utils/exfat-utils.mk
@@ -6,7 +6,7 @@
EXFAT_UTILS_VERSION = 1.1.1
EXFAT_UTILS_SITE = http://distfiles.gentoo.org/distfiles
-EXFAT_UTILS_DEPENDENCIES = host-scons
+EXFAT_UTILS_DEPENDENCIES = host-scons libfuse
EXFAT_UTILS_LICENSE = GPLv3+
EXFAT_UTILS_LICENSE_FILES = COPYING
--
2.4.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl
2015-07-26 17:35 [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl Brendan Heading
@ 2015-07-26 19:38 ` Baruch Siach
2015-07-26 19:59 ` Brendan Heading
2015-07-26 20:07 ` Yann E. MORIN
2015-07-26 20:59 ` Thomas Petazzoni
2 siblings, 1 reply; 11+ messages in thread
From: Baruch Siach @ 2015-07-26 19:38 UTC (permalink / raw)
To: buildroot
Hi Brendan,
On Sun, Jul 26, 2015 at 06:35:11PM +0100, Brendan Heading wrote:
> exfat-utils build would not build on Linux unless __GLIBC__ was defined.
> Reworked header file to relax this requirement in favour of other libcs.
> patch submitted to the exfat-utils mailing list for comment.
>
> Also added missing dependency - exfat requires libfuse.
>
> See http://autobuild.buildroot.net/results/c60/c60d0f9a93c90d41c3c86c78b0a0
>
> Signed-off-by: Brendan Heading <brendanheading@gmail.com>
> ---
[snip]
> diff --git a/package/exfat-utils/Config.in b/package/exfat-utils/Config.in
> index aedff5f..ead5d47 100644
> --- a/package/exfat-utils/Config.in
> +++ b/package/exfat-utils/Config.in
> @@ -1,5 +1,6 @@
> config BR2_PACKAGE_EXFAT_UTILS
> bool "exfat-utils"
> + select BR2_PACKAGE_LIBFUSE
> depends on BR2_USE_WCHAR
Please propagate BR2_PACKAGE_LIBFUSE dependencies.
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl
2015-07-26 19:38 ` Baruch Siach
@ 2015-07-26 19:59 ` Brendan Heading
2015-07-26 20:04 ` Baruch Siach
0 siblings, 1 reply; 11+ messages in thread
From: Brendan Heading @ 2015-07-26 19:59 UTC (permalink / raw)
To: buildroot
>
> > --- a/package/exfat-utils/Config.in
> > +++ b/package/exfat-utils/Config.in
> > @@ -1,5 +1,6 @@
> > config BR2_PACKAGE_EXFAT_UTILS
> > bool "exfat-utils"
> > + select BR2_PACKAGE_LIBFUSE
> > depends on BR2_USE_WCHAR
>
> Please propagate BR2_PACKAGE_LIBFUSE dependencies.
>
Baruch,
Sorry .. can you define "propagate" ?
Brendan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150726/eece92aa/attachment.html>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl
2015-07-26 19:59 ` Brendan Heading
@ 2015-07-26 20:04 ` Baruch Siach
2015-07-26 20:14 ` Brendan Heading
0 siblings, 1 reply; 11+ messages in thread
From: Baruch Siach @ 2015-07-26 20:04 UTC (permalink / raw)
To: buildroot
Hi Brendan,
On Sun, Jul 26, 2015 at 08:59:36PM +0100, Brendan Heading wrote:
> > > --- a/package/exfat-utils/Config.in
> > > +++ b/package/exfat-utils/Config.in
> > > @@ -1,5 +1,6 @@
> > > config BR2_PACKAGE_EXFAT_UTILS
> > > bool "exfat-utils"
> > > + select BR2_PACKAGE_LIBFUSE
> > > depends on BR2_USE_WCHAR
> >
> > Please propagate BR2_PACKAGE_LIBFUSE dependencies.
>
> Baruch,
>
> Sorry .. can you define "propagate" ?
Just copy the dependencies of BR2_PACKAGE_LIBFUSE to BR2_PACKAGE_EXFAT_UTILS.
See the explanation at http://nightly.buildroot.org/manual.html#_config_files
under "Choosing depends on or select".
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl
2015-07-26 17:35 [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl Brendan Heading
2015-07-26 19:38 ` Baruch Siach
@ 2015-07-26 20:07 ` Yann E. MORIN
2015-07-26 20:15 ` Brendan Heading
2015-07-26 20:59 ` Thomas Petazzoni
2 siblings, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2015-07-26 20:07 UTC (permalink / raw)
To: buildroot
Brendan, All,
On 2015-07-26 18:35 +0100, Brendan Heading spake thusly:
> exfat-utils build would not build on Linux unless __GLIBC__ was defined.
> Reworked header file to relax this requirement in favour of other libcs.
> patch submitted to the exfat-utils mailing list for comment.
>
> Also added missing dependency - exfat requires libfuse.
Your patch then does two different things;
- add a missing dependency
- fix a build failure with musl
It thus should be two different patches, one for each changes.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl
2015-07-26 20:04 ` Baruch Siach
@ 2015-07-26 20:14 ` Brendan Heading
2015-07-26 20:34 ` Baruch Siach
0 siblings, 1 reply; 11+ messages in thread
From: Brendan Heading @ 2015-07-26 20:14 UTC (permalink / raw)
To: buildroot
>
> Just copy the dependencies of BR2_PACKAGE_LIBFUSE to
> BR2_PACKAGE_EXFAT_UTILS.
> See the explanation at
> http://nightly.buildroot.org/manual.html#_config_files
> under "Choosing depends on or select".
>
Baruch,
I think this has already been done ? package/exfat/Config.in :
config BR2_PACKAGE_EXFAT
bool "exFAT (FUSE)"
depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse
depends on BR2_USE_MMU # libfuse
depends on BR2_USE_WCHAR
depends on !BR2_STATIC_LIBS # libfuse
select BR2_PACKAGE_LIBFUSE <-- added by me
help
A full-featured exFAT file system implementation for GNU/Linux
and other Unix-like systems as a FUSE module.
http://code.google.com/p/exfat/
package/libfuse/Config.in :
config BR2_PACKAGE_LIBFUSE
bool "libfuse"
# Really doesn't like static, see fuse/lib/fuse.c
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
help
FUSE (Filesystem in UserSpacE)
http://fuse.sourceforge.net/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150726/1267c0cc/attachment.html>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl
2015-07-26 20:07 ` Yann E. MORIN
@ 2015-07-26 20:15 ` Brendan Heading
0 siblings, 0 replies; 11+ messages in thread
From: Brendan Heading @ 2015-07-26 20:15 UTC (permalink / raw)
To: buildroot
Thanks Yann, I wasn't sure whether to split it or not and took a wrong
guess :) will submit a split update shortly.
Brendan
On 26 July 2015 at 21:07, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> Brendan, All,
>
> On 2015-07-26 18:35 +0100, Brendan Heading spake thusly:
> > exfat-utils build would not build on Linux unless __GLIBC__ was defined.
> > Reworked header file to relax this requirement in favour of other libcs.
> > patch submitted to the exfat-utils mailing list for comment.
> >
> > Also added missing dependency - exfat requires libfuse.
>
> Your patch then does two different things;
> - add a missing dependency
> - fix a build failure with musl
>
> It thus should be two different patches, one for each changes.
>
> Regards,
> Yann E. MORIN.
>
> --
>
> .-----------------.--------------------.------------------.--------------------.
> | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics'
> conspiracy: |
> | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___
> |
> | +33 223 225 172 `------------.-------: X AGAINST | \e/ There
> is no |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v
> conspiracy. |
>
> '------------------------------^-------^------------------^--------------------'
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150726/6fcdfd78/attachment.html>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl
2015-07-26 20:14 ` Brendan Heading
@ 2015-07-26 20:34 ` Baruch Siach
2015-07-26 20:41 ` Brendan Heading
0 siblings, 1 reply; 11+ messages in thread
From: Baruch Siach @ 2015-07-26 20:34 UTC (permalink / raw)
To: buildroot
Hi Brendan,
On Sun, Jul 26, 2015 at 09:14:29PM +0100, Brendan Heading wrote:
> > Just copy the dependencies of BR2_PACKAGE_LIBFUSE to
> > BR2_PACKAGE_EXFAT_UTILS.
> > See the explanation at
> > http://nightly.buildroot.org/manual.html#_config_files
> > under "Choosing depends on or select".
>
> I think this has already been done ? package/exfat/Config.in :
>
> config BR2_PACKAGE_EXFAT
> bool "exFAT (FUSE)"
> depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse
> depends on BR2_USE_MMU # libfuse
> depends on BR2_USE_WCHAR
> depends on !BR2_STATIC_LIBS # libfuse
> select BR2_PACKAGE_LIBFUSE <-- added by me
As far as I can see your patch touches package/exfat-utils/Config.in, not
package/exfat/Config.in.
baruch
> help
> A full-featured exFAT file system implementation for GNU/Linux
> and other Unix-like systems as a FUSE module.
>
> http://code.google.com/p/exfat/
>
> package/libfuse/Config.in :
>
> config BR2_PACKAGE_LIBFUSE
> bool "libfuse"
> # Really doesn't like static, see fuse/lib/fuse.c
> depends on !BR2_STATIC_LIBS
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on BR2_USE_MMU # fork()
> help
> FUSE (Filesystem in UserSpacE)
>
> http://fuse.sourceforge.net/
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl
2015-07-26 20:34 ` Baruch Siach
@ 2015-07-26 20:41 ` Brendan Heading
0 siblings, 0 replies; 11+ messages in thread
From: Brendan Heading @ 2015-07-26 20:41 UTC (permalink / raw)
To: buildroot
> As far as I can see your patch touches package/exfat-utils/Config.in, not
> package/exfat/Config.in.
>
It's clearly not my day today Baruch! :) Fixing the patch now.
Brendan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150726/4abee626/attachment.html>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl
2015-07-26 17:35 [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl Brendan Heading
2015-07-26 19:38 ` Baruch Siach
2015-07-26 20:07 ` Yann E. MORIN
@ 2015-07-26 20:59 ` Thomas Petazzoni
2015-07-26 22:56 ` Brendan Heading
2 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2015-07-26 20:59 UTC (permalink / raw)
To: buildroot
Dear Brendan Heading,
On Sun, 26 Jul 2015 18:35:11 +0100, Brendan Heading wrote:
> exfat-utils build would not build on Linux unless __GLIBC__ was defined.
> Reworked header file to relax this requirement in favour of other libcs.
> patch submitted to the exfat-utils mailing list for comment.
>
> Also added missing dependency - exfat requires libfuse.
The libfuse dependency seems to be unrelated to the musl problem, so it
should be a separate patch.
Also, I just did a build of exfat-utils which libfuse, and it built
just fine, so I think you're wrong with the fact that it needs libfuse.
Here is the defconfig I've used:
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2015.05-496-g85945aa.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_EXFAT_UTILS=y
# BR2_TARGET_ROOTFS_TAR is not set
And the list of steps that were done:
>>> skeleton undefined Extracting
>>> skeleton undefined Patching
>>> skeleton undefined Configuring
>>> skeleton undefined Building
>>> skeleton undefined Installing to target
>>> toolchain-external undefined Extracting
>>> toolchain-external undefined Patching
>>> toolchain-external undefined Configuring
>>> toolchain-external undefined Building
>>> toolchain-external undefined Installing to staging directory
>>> toolchain-external undefined Copying external toolchain sysroot to staging...
>>> toolchain-external undefined Building ext-toolchain wrapper
>>> toolchain-external undefined Fixing libtool files
>>> toolchain-external undefined Installing to target
>>> toolchain-external undefined Copying external toolchain libraries to target...
>>> toolchain virtual Extracting
>>> toolchain virtual Patching
>>> toolchain virtual Configuring
>>> toolchain virtual Building
>>> toolchain virtual Installing to target
>>> host-m4 1.4.17 Extracting
>>> host-m4 1.4.17 Patching
>>> host-m4 1.4.17 Updating config.sub and config.guess
>>> host-m4 1.4.17 Patching libtool
>>> host-m4 1.4.17 Configuring
>>> host-m4 1.4.17 Building
>>> host-m4 1.4.17 Installing to host directory
>>> host-libtool 2.4.6 Extracting
>>> host-libtool 2.4.6 Patching
>>> host-libtool 2.4.6 Updating config.sub and config.guess
>>> host-libtool 2.4.6 Configuring
>>> host-libtool 2.4.6 Building
>>> host-libtool 2.4.6 Installing to host directory
>>> host-autoconf 2.69 Extracting
>>> host-autoconf 2.69 Patching
>>> host-autoconf 2.69 Updating config.sub and config.guess
>>> host-autoconf 2.69 Patching libtool
>>> host-autoconf 2.69 Configuring
>>> host-autoconf 2.69 Building
>>> host-autoconf 2.69 Installing to host directory
>>> host-automake 1.15 Extracting
>>> host-automake 1.15 Patching
>>> host-automake 1.15 Updating config.sub and config.guess
>>> host-automake 1.15 Patching libtool
>>> host-automake 1.15 Configuring
>>> host-automake 1.15 Building
>>> host-automake 1.15 Installing to host directory
>>> host-pkgconf 0.8.9 Extracting
>>> host-pkgconf 0.8.9 Patching
>>> host-pkgconf 0.8.9 Updating config.sub and config.guess
>>> host-pkgconf 0.8.9 Patching libtool
>>> host-pkgconf 0.8.9 Configuring
>>> host-pkgconf 0.8.9 Building
>>> host-pkgconf 0.8.9 Installing to host directory
>>> host-expat 2.1.0 Extracting
>>> host-expat 2.1.0 Patching
>>> host-expat 2.1.0 Updating config.sub and config.guess
>>> host-expat 2.1.0 Patching libtool
>>> host-expat 2.1.0 Configuring
>>> host-expat 2.1.0 Building
>>> host-expat 2.1.0 Installing to host directory
>>> host-zlib 1.2.8 Extracting
>>> host-zlib 1.2.8 Patching
>>> host-zlib 1.2.8 Configuring
>>> host-zlib 1.2.8 Building
>>> host-zlib 1.2.8 Installing to host directory
>>> host-python 2.7.10 Extracting
>>> host-python 2.7.10 Patching
>>> host-python 2.7.10 Updating config.sub and config.guess
>>> host-python 2.7.10 Configuring
>>> host-python 2.7.10 Autoreconfiguring
>>> host-python 2.7.10 Building
>>> host-python 2.7.10 Installing to host directory
>>> host-scons 2.3.0 Extracting
>>> host-scons 2.3.0 Patching
>>> host-scons 2.3.0 Configuring
>>> host-scons 2.3.0 Building
>>> host-scons 2.3.0 Installing to host directory
>>> exfat-utils 1.1.1 Downloading
>>> exfat-utils 1.1.1 Extracting
>>> exfat-utils 1.1.1 Patching
>>> exfat-utils 1.1.1 Configuring
>>> exfat-utils 1.1.1 Building
>>> exfat-utils 1.1.1 Installing to target
>>> Finalizing target directory
As you can see, no libfuse anywhere, and still it built fine. The
SConstruct indeed does:
program('fuse/*.c', 'fuse/mount.exfat-fuse', 'mount.exfat', [libs + [libfuse]])
but I don't see any fuse/ subdirectory in the exfat-utils sources. Am I
missing something?
> diff --git a/package/exfat-utils/0001-fix-compiling-with-non-glibc-libcs.patch b/package/exfat-utils/0001-fix-compiling-with-non-glibc-libcs.patch
> new file mode 100644
> index 0000000..90740fa
> --- /dev/null
> +++ b/package/exfat-utils/0001-fix-compiling-with-non-glibc-libcs.patch
> @@ -0,0 +1,53 @@
> +[PATCH] fix compilation when libc does not define __GLIBC__
> +
> +libexfat would only compile on Linux with __GLIBC__ defined. Changed
> +the logic around to use standard defaults on Linux which will work
> +for glibc/uclibc/musl.
> +
> +Signed-off-by: Brendan Heading <brendanheading@gmail.com>
> +---
> + platform.h | 23 ++++++++++-------------
> + 1 file changed, 10 insertions(+), 13 deletions(-)
> +
> +Index: libexfat/libexfat/platform.h
> +===================================================================
> +--- libexfat/libexfat/platform.h (revision 422)
> ++++ libexfat/libexfat/platform.h (working copy)
> +@@ -24,19 +24,8 @@
> + #ifndef PLATFORM_H_INCLUDED
> + #define PLATFORM_H_INCLUDED
> +
> +-#if defined(__GLIBC__)
> ++#if defined(__APPLE__)
> +
> +-#include <endian.h>
> +-#include <byteswap.h>
> +-#define exfat_bswap16(x) bswap_16(x)
> +-#define exfat_bswap32(x) bswap_32(x)
> +-#define exfat_bswap64(x) bswap_64(x)
> +-#define EXFAT_BYTE_ORDER __BYTE_ORDER
> +-#define EXFAT_LITTLE_ENDIAN __LITTLE_ENDIAN
> +-#define EXFAT_BIG_ENDIAN __BIG_ENDIAN
> +-
> +-#elif defined(__APPLE__)
> +-
> + #include <machine/endian.h>
> + #include <libkern/OSByteOrder.h>
> + #define exfat_bswap16(x) OSSwapInt16(x)
> +@@ -57,7 +46,15 @@
> + #define EXFAT_BIG_ENDIAN _BIG_ENDIAN
> +
> + #else
> +-#error Unknown platform
> ++/* Assume Linux. glibc, uclibc(ng) and musl all provide bswap_X functions. */
Rather than doing this, just change:
#if defined(__GLIBC__)
by
#if defined(__linux__)
It will be a much simpler change (one-liner).
In the mean time, I'll mark your patch as Changes Requested.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl
2015-07-26 20:59 ` Thomas Petazzoni
@ 2015-07-26 22:56 ` Brendan Heading
0 siblings, 0 replies; 11+ messages in thread
From: Brendan Heading @ 2015-07-26 22:56 UTC (permalink / raw)
To: buildroot
> The libfuse dependency seems to be unrelated to the musl problem, so it
> should be a separate patch.
>
> Also, I just did a build of exfat-utils which libfuse, and it built
> just fine, so I think you're wrong with the fact that it needs libfuse.
> Here is the defconfig I've used:
>
Thomas, there must have been something in my coffee today.
I've resubmitted with your (superior) patch suggestion and with the
dependency stuff removed. Hopefully it will do the job :) If that looks
better I'll send the updated patch to the exfat mailing list.
regards
Brendan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150726/e996c695/attachment.html>
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2015-07-26 22:56 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-26 17:35 [Buildroot] [PATCH 1/1] package/exfat-utils: fix compilation error with musl Brendan Heading
2015-07-26 19:38 ` Baruch Siach
2015-07-26 19:59 ` Brendan Heading
2015-07-26 20:04 ` Baruch Siach
2015-07-26 20:14 ` Brendan Heading
2015-07-26 20:34 ` Baruch Siach
2015-07-26 20:41 ` Brendan Heading
2015-07-26 20:07 ` Yann E. MORIN
2015-07-26 20:15 ` Brendan Heading
2015-07-26 20:59 ` Thomas Petazzoni
2015-07-26 22:56 ` Brendan Heading
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.