diff mbox

[1/1] package/nodejs: disable for static build

Message ID 1438506439-3096-1-git-send-email-joerg.krause@embedded.rocks
State Accepted
Headers show

Commit Message

Jörg Krause Aug. 2, 2015, 9:07 a.m. UTC
nodejs requires dlopen(), etc.

Fixes:
http://autobuild.buildroot.net/results/87d/87dab0186abd7b2737a56b2f939f3aba294e8772/
http://autobuild.buildroot.net/results/be1/be1010a3a31642d49ec3a118858c77fed2f762b8/

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
 package/nodejs/Config.in | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Yann E. MORIN Aug. 2, 2015, 3:23 p.m. UTC | #1
Jörg, All,

On 2015-08-02 11:07 +0200, Jörg Krause spake thusly:
> nodejs requires dlopen(), etc.
> 
> Fixes:
> http://autobuild.buildroot.net/results/87d/87dab0186abd7b2737a56b2f939f3aba294e8772/
> http://autobuild.buildroot.net/results/be1/be1010a3a31642d49ec3a118858c77fed2f762b8/
> 
> Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
> ---
>  package/nodejs/Config.in | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in
> index c5ec792..69063fc 100644
> --- a/package/nodejs/Config.in
> +++ b/package/nodejs/Config.in
> @@ -8,17 +8,18 @@ config BR2_PACKAGE_NODEJS
>  	depends on !BR2_ARM_CPU_ARMV4
>  	# uses fork()
>  	depends on BR2_USE_MMU
> +	depends on !BR2_STATIC_LIBS # dlopen, etc.

That's not entirely true. For armv5, nodejs 0.10 does not require
dynamic libraries.

So, maybe something like:

    config BR2_PACKAGE_NODEJS
        depends on !BR2_STATIC_LIBS if BR2_arm && !BR2_ARM_CPU_ARMV5

>  	select BR2_PACKAGE_ZLIB
>  	help
>  	  Event-driven I/O server-side JavaScript environment based on V8.
>  
>  	  http://nodejs.org/
>  
> -comment "nodejs needs a toolchain w/ C++, threads"
> +comment "nodejs needs a toolchain w/ C++, dynamic library, threads"
>  	depends on BR2_USE_MMU
>  	depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel
>  	depends on !BR2_ARM_CPU_ARMV4
> -	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
> +	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS

However, I don't see a simple solution here. Maybe just add a second
comment just for the dynamic library requirement?

Regards,
Yann E. MORIN.

>  if BR2_PACKAGE_NODEJS
>  
> -- 
> 2.5.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Thomas Petazzoni Aug. 3, 2015, 9:14 a.m. UTC | #2
Yann,

On Sun, 2 Aug 2015 17:23:33 +0200, Yann E. MORIN wrote:

> > diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in
> > index c5ec792..69063fc 100644
> > --- a/package/nodejs/Config.in
> > +++ b/package/nodejs/Config.in
> > @@ -8,17 +8,18 @@ config BR2_PACKAGE_NODEJS
> >  	depends on !BR2_ARM_CPU_ARMV4
> >  	# uses fork()
> >  	depends on BR2_USE_MMU
> > +	depends on !BR2_STATIC_LIBS # dlopen, etc.
> 
> That's not entirely true. For armv5, nodejs 0.10 does not require
> dynamic libraries.

Do we really care? Nodejs is a big stuff, unlikely to be used in
static-only configurations. Plus the latest version of NodeJS, 0.12.x,
no longer supports ARMv5. So I'm tempted to simply not support static
linking at all, even if indeed for a very specific case it could be
supported.

What do you think?

Best regards,

Thomas
Yann E. MORIN Aug. 3, 2015, 4:26 p.m. UTC | #3
Thomas, All,

On 2015-08-03 11:14 +0200, Thomas Petazzoni spake thusly:
> Yann,
> 
> On Sun, 2 Aug 2015 17:23:33 +0200, Yann E. MORIN wrote:
> 
> > > diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in
> > > index c5ec792..69063fc 100644
> > > --- a/package/nodejs/Config.in
> > > +++ b/package/nodejs/Config.in
> > > @@ -8,17 +8,18 @@ config BR2_PACKAGE_NODEJS
> > >  	depends on !BR2_ARM_CPU_ARMV4
> > >  	# uses fork()
> > >  	depends on BR2_USE_MMU
> > > +	depends on !BR2_STATIC_LIBS # dlopen, etc.
> > 
> > That's not entirely true. For armv5, nodejs 0.10 does not require
> > dynamic libraries.
> 
> Do we really care? Nodejs is a big stuff, unlikely to be used in
> static-only configurations. Plus the latest version of NodeJS, 0.12.x,
> no longer supports ARMv5. So I'm tempted to simply not support static
> linking at all, even if indeed for a very specific case it could be
> supported.
> 
> What do you think?

Even though this is not "optimum", that's OK for me.

Regards,
Yann E. MORIN.
diff mbox

Patch

diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in
index c5ec792..69063fc 100644
--- a/package/nodejs/Config.in
+++ b/package/nodejs/Config.in
@@ -8,17 +8,18 @@  config BR2_PACKAGE_NODEJS
 	depends on !BR2_ARM_CPU_ARMV4
 	# uses fork()
 	depends on BR2_USE_MMU
+	depends on !BR2_STATIC_LIBS # dlopen, etc.
 	select BR2_PACKAGE_ZLIB
 	help
 	  Event-driven I/O server-side JavaScript environment based on V8.
 
 	  http://nodejs.org/
 
-comment "nodejs needs a toolchain w/ C++, threads"
+comment "nodejs needs a toolchain w/ C++, dynamic library, threads"
 	depends on BR2_USE_MMU
 	depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel
 	depends on !BR2_ARM_CPU_ARMV4
-	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
 
 if BR2_PACKAGE_NODEJS