pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/54228: lang/spidermonkey52



>Number:         54228
>Category:       pkg
>Synopsis:       lang/spidermonkey52
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri May 24 17:15:00 +0000 2019
>Originator:     matt farnsworth
>Release:        8,0
>Organization:
>Environment:
virtual box
>Description:
Excessive use of disk space to compile (>2GB).

This appears to be an old release with a different versioning style from newer spidermonkey. Build and configure scripts leverage custom python and appear to be a work in progress shared by other projects.

lang/spidermonkey (other) has version 1.8 can compiles using 10MB of space in work folder.

lang/spidermonkey comsumes more than 2GB to compile. During the process it appears to create many objects around 10MB each prefaced with Unified_*[99]*.o and then tries to replace a 128MB lib with a 455MB lib in .destdir/

nm seems to indicate many undefined symbols in the library at this point.

FYI: I use tmpfs for WRKOBJDIR. Building like this in vbox appears slower than on wd (a vmdk)

After several attempts I gave up.
>How-To-Repeat:
cd lang/spidermonkey52
make install clean

This version of spidermonkey52 is required somehow by vulnerable package security/polkit (version 0.115 or polkit-1) and something labeled virtual:worlds. freedesktop polkit requires ECMA-262 version 5 (2009-20011).

I think there might be a polkit-1 version 0.116

polkit-1 was required by gdm (which may be outdated)

I tried some mozilla build instructions.
I changed lang/spidermonkey52/Makefile line 53
cd ${WRKSRC}/js/src && autoconf-2.13 && mkdir build_OPT.OBJ && cd build_OPT.OBJ && ../configure

but this did not help.
netbsd8 is not supported by spidermonkey build system

>Fix:
do over without pkgrsrc

extract mozjs in work
cd js/src
autoconf-2.13
mkdir build_OPT.OBJ # name alchemy, dirname is a flag. ('optimal' not using build_DBJ.OBJ)
cd build_OPT.OBJ # the configure.py uses dirname to make choices
../configure
# make causes errors in ../../../config/basename.mk
gmake # yeap requires gmake (how to call this from pkgsrc?)
# now libjs_static.a is 500MB
strip --strip-debug js/src/libjs_static.a
# now the file is 40M
# on mint linux installation the libmozjs-52.so is 24MB and shared/dynamic
# note: configure --disable-debug 

It seems that netBSD still installs binaries not-stripped, if that is the policy then maybe just place a warning in the DESCR about the size and strip option. 
Maybe pkgsrc Makefile can check for space before building? 
Maybe the packages that depend on spidermonkey52 can be dropped? 
Maybe canonical has a better build solution than mozilla?


Home | Main Index | Thread Index | Old Index