Skip to contentSkip to conversation

libsndfile: Add -D_FILE_OFFSET_BITS=64 to configuration

PATCH New Ryan Mallon 2 participants 3 messages Sep 17, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 libsndfile: Add -D_FILE_OFFSET_BITS=64 to configuration

libsndfile requires sizeof(sf_count_t) == 8, where sf_count_t is a typedef alias for off_t. This is not true by default for all tool-chains, which leads to a runtime assert failure in binaries compiled against libsndfile. See:

http://permalink.gmane.org/gmane.comp.audio.libsndfile.devel/229

Add -D_FILE_OFFSET_BITS=64 to the configuration for libsndfile to ensure that off_t is the correct size.

---

package/libsndfile/libsndfile.mk +2 -0
index e5fbb5e..5e39aca 100644
@@ -7,5 +7,7 @@
 LIBSNDFILE_VERSION = 1.0.25
 LIBSNDFILE_SITE = http://www.mega-nerd.com/libsndfile/files
 LIBSNDFILE_INSTALL_STAGING = YES
+LIBSNDFILE_CFLAGS = $(TARGET_CFLAGS) -D_FILE_OFFSET_BITS=64
+LIBSNDFILE_CONF_ENV += CFLAGS="$(LIBSNDFILE_CFLAGS)"
 
 $(eval $(autotools-package))
#1 lore raw

PATCH 1/1 libsndfile: Add -D_FILE_OFFSET_BITS=64 to configuration

Dear Ryan Mallon,

Quoted 18 lines · Ryan Mallon

libsndfile requires sizeof(sf_count_t) == 8, where sf_count_t is a typedef alias for off_t. This is not true by default for all tool-chains, which leads to a runtime assert failure in binaries compiled against libsndfile. See:

http://permalink.gmane.org/gmane.comp.audio.libsndfile.devel/229

Add -D_FILE_OFFSET_BITS=64 to the configuration for libsndfile to ensure that off_t is the correct size.

---

(quoted diff) +0 -0

b/package/libsndfile/libsndfile.m index e5fbb5e..5e39aca 100644

package/libsndfile/libsndfile.mk line 11

Quoted 5 lines
package/libsndfile/libsndfile.mk +2 -0
@@ -7,5 +7,7 @@
 LIBSNDFILE_VERSION = 1.0.25
 LIBSNDFILE_SITE = http://www.mega-nerd.com/libsndfile/files
 LIBSNDFILE_INSTALL_STAGING = YES
+LIBSNDFILE_CFLAGS = $(TARGET_CFLAGS) -D_FILE_OFFSET_BITS=64
+LIBSNDFILE_CONF_ENV += CFLAGS="$(LIBSNDFILE_CFLAGS)"

This looks strange: Buildroot already automatically passes -D_FILE_OFFSET_BITS=64 when BR2_LARGEFILE=y, see package/Makefile.in.

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#2 lore raw

PATCH 1/1 libsndfile: Add -D_FILE_OFFSET_BITS=64 to configuration

Quoted 16 lines · Thomas Petazzoni

Dear Ryan Mallon,

Quoted 13 lines · Ryan Mallon

libsndfile requires sizeof(sf_count_t) == 8, where sf_count_t is a typedef alias for off_t. This is not true by default for all tool-chains, which leads to a runtime assert failure in binaries compiled against libsndfile. See:

http://permalink.gmane.org/gmane.comp.audio.libsndfile.devel/229

Add -D_FILE_OFFSET_BITS=64 to the configuration for libsndfile to ensure that off_t is the correct size.

---

Quoted 13 lines

package/libsndfile/libsndfile.mk line 11

Quoted 10 lines
(quoted diff) +0 -0

b/package/libsndfile/libsndfile.m index e5fbb5e..5e39aca 100644

package/libsndfile/libsndfile.mk +2 -0
@@ -7,5 +7,7 @@
 LIBSNDFILE_VERSION = 1.0.25
 LIBSNDFILE_SITE = http://www.mega-nerd.com/libsndfile/files
 LIBSNDFILE_INSTALL_STAGING = YES
+LIBSNDFILE_CFLAGS = $(TARGET_CFLAGS) -D_FILE_OFFSET_BITS=64
+LIBSNDFILE_CONF_ENV += CFLAGS="$(LIBSNDFILE_CFLAGS)"

This looks strange: Buildroot already automatically passes -D_FILE_OFFSET_BITS=64 when BR2_LARGEFILE=y, see package/Makefile.in.

Okay, I didn't realise that. libsndfile should either depend on or select (probably the latter) that package then. I will post a follow up.

Thanks,
~Ryan