diff mbox

[v2,15/17] openal: add missing BR2_TOOLCHAIN_HAS_SYNC_4 dependency

Message ID 1453934861-26364-16-git-send-email-thomas.petazzoni@free-electrons.com
State Superseded
Headers show

Commit Message

Thomas Petazzoni Jan. 27, 2016, 10:47 p.m. UTC
Fixes:

  http://autobuild.buildroot.org/results/314fb8da3ca87984e9240d67ff233e2f999ae89e/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/gstreamer1/gst1-plugins-bad/Config.in | 2 ++
 package/openal/Config.in                      | 2 ++
 2 files changed, 4 insertions(+)

Comments

André Zwing Jan. 29, 2016, 6:34 p.m. UTC | #1
Hi Thomas,

Isn't openal looking for the atomic functions and not for the sync ones?
As seen in the URL you provided:

libopenal.so.1.17.1: undefined reference to `__atomic_fetch_sub_4'
libopenal.so.1.17.1: undefined reference to `__atomic_compare_exchange_4'
libopenal.so.1.17.1: undefined reference to `__atomic_fetch_add_4'


Am 27.01.2016 um 23:47 schrieb Thomas Petazzoni:
> Fixes:
> 
>   http://autobuild.buildroot.org/results/314fb8da3ca87984e9240d67ff233e2f999ae89e/
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/gstreamer1/gst1-plugins-bad/Config.in | 2 ++
>  package/openal/Config.in                      | 2 ++
>  2 files changed, 4 insertions(+)
> 
> diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
> index f02be34..0dc217e 100644
> --- a/package/gstreamer1/gst1-plugins-bad/Config.in
> +++ b/package/gstreamer1/gst1-plugins-bad/Config.in
> @@ -566,9 +566,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENAL
>  	bool "openal"
>  	depends on BR2_INSTALL_LIBSTDCPP
>  	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> +	depends on BR2_TOOLCHAIN_HAS_SYNC_4
>  	select BR2_PACKAGE_OPENAL
>  
>  comment "openal plugin needs a toolchain w/ NPTL, C++"
> +	depends on BR2_TOOLCHAIN_HAS_SYNC_4
>  	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
>  		|| !BR2_INSTALL_LIBSTDCPP
>  
> diff --git a/package/openal/Config.in b/package/openal/Config.in
> index 4a73f45..b497e26 100644
> --- a/package/openal/Config.in
> +++ b/package/openal/Config.in
> @@ -2,6 +2,7 @@ config BR2_PACKAGE_OPENAL
>  	bool "openal"
>  	depends on BR2_INSTALL_LIBSTDCPP
>  	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> +	depends on BR2_TOOLCHAIN_HAS_SYNC_4
>  	help
>  	  OpenAL provides capabilities for playing audio in a virtual
>  	  3D environment. Distance attenuation, doppler shift, and
> @@ -11,5 +12,6 @@ config BR2_PACKAGE_OPENAL
>  	  http://kcat.strangesoft.net/openal.html
>  
>  comment "openal needs a toolchain w/ NPTL, C++"
> +	depends on BR2_TOOLCHAIN_HAS_SYNC_4
>  	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
>  		|| !BR2_INSTALL_LIBSTDCPP
>
Thomas Petazzoni Jan. 29, 2016, 11:06 p.m. UTC | #2
André,

On Fri, 29 Jan 2016 19:34:42 +0100, André Hentschel wrote:
> Hi Thomas,
> 
> Isn't openal looking for the atomic functions and not for the sync ones?
> As seen in the URL you provided:
> 
> libopenal.so.1.17.1: undefined reference to `__atomic_fetch_sub_4'
> libopenal.so.1.17.1: undefined reference to `__atomic_compare_exchange_4'
> libopenal.so.1.17.1: undefined reference to `__atomic_fetch_add_4'

Hum, you are right indeed. I will look into this again, but if it's a
dependency on __atomic functions, then it should depend on gcc >= 4.7
*and* link with libatomic.

Thanks for reviewing!

Thomas
André Zwing Jan. 30, 2016, 11:30 a.m. UTC | #3
Hi,

Am 30.01.2016 um 00:06 schrieb Thomas Petazzoni:
> André,
> 
> On Fri, 29 Jan 2016 19:34:42 +0100, André Hentschel wrote:
>> Hi Thomas,
>>
>> Isn't openal looking for the atomic functions and not for the sync ones?
>> As seen in the URL you provided:
>>
>> libopenal.so.1.17.1: undefined reference to `__atomic_fetch_sub_4'
>> libopenal.so.1.17.1: undefined reference to `__atomic_compare_exchange_4'
>> libopenal.so.1.17.1: undefined reference to `__atomic_fetch_add_4'
> 
> Hum, you are right indeed. I will look into this again, but if it's a
> dependency on __atomic functions, then it should depend on gcc >= 4.7
> *and* link with libatomic.

I looked a bit closer and openal has its own checks for availability of sync/atomic functions...
So the dependecy is something like (gcc >= 4.7 || has_sync_4)
Not sure how to make it link to libatomic without patching...
Thomas Petazzoni Feb. 3, 2016, 2:38 p.m. UTC | #4
Hello,

On Sat, 30 Jan 2016 12:30:11 +0100, André Hentschel wrote:

> > Hum, you are right indeed. I will look into this again, but if it's a
> > dependency on __atomic functions, then it should depend on gcc >= 4.7
> > *and* link with libatomic.
> 
> I looked a bit closer and openal has its own checks for availability of sync/atomic functions...
> So the dependecy is something like (gcc >= 4.7 || has_sync_4)
> Not sure how to make it link to libatomic without patching...

I sent a new version of the patch, which hopefully resolves the
problem. See the V3 of my atomic patch series.

Best regards,

Thomas
diff mbox

Patch

diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
index f02be34..0dc217e 100644
--- a/package/gstreamer1/gst1-plugins-bad/Config.in
+++ b/package/gstreamer1/gst1-plugins-bad/Config.in
@@ -566,9 +566,11 @@  config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENAL
 	bool "openal"
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	select BR2_PACKAGE_OPENAL
 
 comment "openal plugin needs a toolchain w/ NPTL, C++"
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
 		|| !BR2_INSTALL_LIBSTDCPP
 
diff --git a/package/openal/Config.in b/package/openal/Config.in
index 4a73f45..b497e26 100644
--- a/package/openal/Config.in
+++ b/package/openal/Config.in
@@ -2,6 +2,7 @@  config BR2_PACKAGE_OPENAL
 	bool "openal"
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	help
 	  OpenAL provides capabilities for playing audio in a virtual
 	  3D environment. Distance attenuation, doppler shift, and
@@ -11,5 +12,6 @@  config BR2_PACKAGE_OPENAL
 	  http://kcat.strangesoft.net/openal.html
 
 comment "openal needs a toolchain w/ NPTL, C++"
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
 		|| !BR2_INSTALL_LIBSTDCPP