Skip to contentSkip to conversation

libsndfile: Add dependency on BR2_LARGEFILE

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

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 libsndfile: Add dependency on BR2_LARGEFILE

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 a dependency on BR2_LARGEFILE for libsndfile, and a comment if BR2_LARGEFILE is not selected.

---

package/libsndfile/Config.in +4 -0
index 9afe496..21e1591 100644
@@ -1,8 +1,12 @@
 config BR2_PACKAGE_LIBSNDFILE
        bool "libsndfile"
+       depends on BR2_LARGEFILE
        help
          Libsndfile is a C library for reading and writing files containing
          sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format)
          through one standard library interface.
 
          http://www.mega-nerd.com/libsndfile/
+
+comment "libsndfile requires a toolchain with LARGEFILE support"
+       depends on !BR2_LARGEFILE
#1 lore raw

PATCH 1/1 libsndfile: Add dependency on BR2_LARGEFILE

Dear Ryan Mallon,

Quoted 11 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 a dependency on BR2_LARGEFILE for libsndfile, and a comment if BR2_LARGEFILE is not selected.

Ok, looks better. But now you need to udpate all the reverse dependencies of libsndfile (i.e, all packages that select BR2_PACKAGE_LIBSNDFILE), to add the same BR2_LARGEFILE dependency. This concerns bluez_utils, gst-plugins-bad, mpd and pulseaudio.

(Note: this problem should be simplified once we get Yann's work on the _AVAILABLE thing merged, but in the mean time, we have to handle those reverse dependencies manually).

Best regards,

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 dependency on BR2_LARGEFILE

Quoted 14 lines · Thomas Petazzoni

Dear Ryan Mallon,

Quoted 11 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 a dependency on BR2_LARGEFILE for libsndfile, and a comment if BR2_LARGEFILE is not selected.

Quoted 9 lines

Ok, looks better. But now you need to udpate all the reverse dependencies of libsndfile (i.e, all packages that select BR2_PACKAGE_LIBSNDFILE), to add the same BR2_LARGEFILE dependency. This concerns bluez_utils, gst-plugins-bad, mpd and pulseaudio.

(Note: this problem should be simplified once we get Yann's work on the _AVAILABLE thing merged, but in the mean time, we have to handle those reverse dependencies manually).

Like this? I can repost in full if needed.

~Ryan

---

package/bluez_utils/Config.in +4 -0
index d63284d..3003277 100644
@@ -20,9 +20,13 @@ config BR2_PACKAGE_BLUEZ_UTILS_AUDIO
 	bool "audio support"
 	select BR2_PACKAGE_ALSA_LIB
 	select BR2_PACKAGE_LIBSNDFILE
+	depends on BR2_LARGEFILE
 	help
 	  Audio support
 
+comment "bluez-utils audio requires a toolchain with LARGEFILE support"
+	depends on !BR2_LARGEFILE
+
 config BR2_PACKAGE_BLUEZ_UTILS_USB
 	bool "USB support"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
package/libsndfile/Config.in +4 -0
index 9afe496..21e1591 100644
@@ -1,8 +1,12 @@
 config BR2_PACKAGE_LIBSNDFILE
 	bool "libsndfile"
+	depends on BR2_LARGEFILE
 	help
 	  Libsndfile is a C library for reading and writing files containing
 	  sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format)
 	  through one standard library interface.
 
 	  http://www.mega-nerd.com/libsndfile/
+
+comment "libsndfile requires a toolchain with LARGEFILE support"
+	depends on !BR2_LARGEFILE
package/multimedia/gst-plugins-bad/Config.in +4 -0
index 7784ad7..f767ed4 100644
@@ -297,6 +297,10 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SDL
 config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SNDFILE
 	bool "sndfile"
 	select BR2_PACKAGE_LIBSNDFILE
+	depends on BR2_LARGEFILE
+
+comment "gst-plugins-bad-plugin-sndfile requires a toolchain with LARGEFILE support"
+	depends on !BR2_LARGEFILE
 
 config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VCD
 	bool "vcd"
package/multimedia/mpd/Config.in +4 -0
index c7c0cd7..ff9f573 100644
@@ -103,10 +103,14 @@ config BR2_PACKAGE_MPD_LIBSAMPLERATE
 config BR2_PACKAGE_MPD_LIBSNDFILE
 	bool "libsndfile"
 	select BR2_PACKAGE_LIBSNDFILE
+	depends on BR2_LARGEFILE
 	help
 	  Enable libsndfile input/streaming support.
 	  Select this if you want to play back WAV files.
 
+comment "mpd-libsndfile requires a toolchain with LARGEFILE support"
+	depends on !BR2_LARGEFILE
+
 config BR2_PACKAGE_MPD_MAD
 	bool "mad"
 	default y
package/multimedia/pulseaudio/Config.in +4 -0
index 6e6d64c..9e4084c 100644
@@ -6,6 +6,7 @@ config BR2_PACKAGE_PULSEAUDIO
 	select BR2_PACKAGE_LIBSNDFILE
 	select BR2_PACKAGE_SPEEX
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
+	depends on BR2_LARGEFILE
 	help
 	  PulseAudio is a sound system for POSIX OSes, meaning that it
 	  is a proxy for your sound applications. It allows you to do
@@ -17,5 +18,8 @@ config BR2_PACKAGE_PULSEAUDIO
 
 	  http://pulseaudio.org
 
+comment "pulseaudio depends on a toolchain with LARGEFILE support"
+	depends on !BR2_LARGEFILE
+
 comment "pulseaudio requires a toolchain with WCHAR support"
 	depends on !BR2_USE_WCHAR