• SBBS compile error

    From macexplorer057@VERT to alt.bbs.synchronet on Sunday, March 04, 2018 19:57:18
    From Newsgroup: alt.bbs.synchronet


    nodrinks@debian:/sbbs$ sudo make install SYMLINK=1 USE_DOSEMU=1 CVSTAG=sbbs316c make -C /sbbs/src/sbbs3 MAKEFLAGS= os=linux RELEASE=1
    make[1]: Entering directory '/sbbs/src/sbbs3'
    make -C /sbbs/src/sbbs3/../../3rdp/build jslib
    make[2]: Entering directory '/sbbs/3rdp/build'
    Creating ../build/../../src/../3rdp/gcc.linux.x64.release/mozjs/lib/libmozjs185-1.0.a ...
    patching file js/src/jsnativestack.cpp
    patching file js-1.8.5/js/src/configure
    patching file js-1.8.5/js/src/configure.in
    /bin/sh: 1: autoconf-2.13: not found
    GNUmakefile:50: recipe for target '../build/../../src/../3rdp/gcc.linux.x64.release/mozjs/lib/libmozjs185-1.0.a' failed
    make[2]: [../build/../../src/../3rdp/gcc.linux.x64.release/mozjs/lib/libmozjs185-1.0.a] Error 127 (ignored)
    creating cache ./config.cache
    checking host system type... x86_64-unknown-linux-gnu
    checking target system type... x86_64-unknown-linux-gnu
    checking build system type... x86_64-unknown-linux-gnu
    checking for mawk... mawk
    checking for perl5... no
    checking for perl... /usr/bin/perl
    checking for gcc... gcc
    checking whether the C compiler (gcc ) works... yes
    checking whether the C compiler (gcc ) is a cross-compiler... no
    checking whether we are using GNU C... yes
    checking whether gcc accepts -g... yes
    checking for c++... c++
    checking whether the C++ compiler (c++ ) works... yes
    checking whether the C++ compiler (c++ ) is a cross-compiler... no
    checking whether we are using GNU C++... yes
    checking whether c++ accepts -g... yes
    checking for ranlib... ranlib
    checking for as... /usr/bin/as
    checking for ar... ar
    checking for ld... ld
    checking for strip... strip
    checking for windres... no
    checking whether gcc and cc understand -c and -o together... yes
    checking how to run the C preprocessor... gcc -E
    checking how to run the C++ preprocessor... c++ -E
    checking for sb-conf... no
    checking for ve... no
    checking for a BSD compatible install... /usr/bin/install -c
    checking whether ln -s works... yes
    checking for minimum required perl version >= 5.006... 5.024001
    checking for full perl installation... yes
    checking for python2.7... /usr/bin/python2.7
    checking for doxygen... :
    checking for autoconf... /usr/bin/autoconf
    checking for unzip... /usr/bin/unzip
    checking for zip... /usr/bin/zip
    checking for makedepend... no
    checking for xargs... /usr/bin/xargs
    checking for gmake... no
    checking for make... /usr/bin/make
    checking for X... libraries , headers
    checking for dnet_ntoa in -ldnet... no
    checking for dnet_ntoa in -ldnet_stub... no
    checking for gethostbyname... yes
    checking for connect... yes
    checking for remove... yes
    checking for shmat... yes
    checking for IceConnectionNumber in -lICE... yes
    checking whether the compiler supports -Wno-invalid-offsetof... yes
    checking whether the compiler supports -Wno-variadic-macros... yes
    checking whether the compiler supports -Werror=return-type... yes
    checking whether ld has archive extraction flags... yes
    checking that static assertion macros used in autoconf tests work... yes checking for 64-bit OS... yes
    checking for Python version >= 2.5 but not 3.x... yes
    checking for ANSI C header files... yes
    checking for working const... yes
    checking for mode_t... yes
    checking for off_t... yes
    checking for pid_t... yes
    checking for size_t... yes
    checking for __stdcall... no
    checking for ssize_t... yes
    checking for st_blksize in struct stat... yes
    checking for siginfo_t... yes
    checking for stdint.h... yes
    checking for the size of void*... 8
    checking for the alignment of void*... 8
    checking for the size of double... 8
    checking for int16_t... yes
    checking for int32_t... yes
    checking for int64_t... yes
    checking for int64... no
    checking for uint... yes
    checking for uint_t... no
    checking for uint16_t... no
    checking for uname.domainname... yes
    checking for uname.__domainname... no
    checking for visibility(hidden) attribute... yes
    checking for visibility(default) attribute... yes
    checking for visibility pragma support... yes
    checking For gcc visibility bug with class-level attributes (GCC bug 26905)... no
    checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)... no checking for __force_align_arg_pointer__ attribute... yes
    checking for dirent.h that defines DIR... yes
    checking for opendir in -ldir... no
    checking for sys/byteorder.h... no
    checking for compat.h... no
    checking for getopt.h... yes
    checking for sys/bitypes.h... yes
    checking for memory.h... yes
    checking for unistd.h... yes
    checking for gnu/libc-version.h... yes
    checking for nl_types.h... yes
    checking for malloc.h... yes
    checking for X11/XKBlib.h... yes
    checking for io.h... no
    checking for sys/statvfs.h... yes
    checking for sys/statfs.h... yes
    checking for sys/vfs.h... yes
    checking for sys/mount.h... yes
    checking for sys/quota.h... yes
    checking for linux/quota.h... yes
    checking for mmintrin.h... yes
    checking for new... yes
    checking for sys/cdefs.h... yes
    checking for linux/perf_event.h... yes
    checking for gethostbyname_r in -lc_r... no
    checking for library containing dlopen... -ldl
    checking for dlfcn.h... yes
    checking for dladdr... yes
    checking for socket in -lsocket... no
    checking for ARM SIMD support in compiler... no
    checking for ARM NEON support in compiler... no
    checking for pthread_create in -lpthreads... no
    checking for pthread_create in -lpthread... yes
    checking whether gcc accepts -pthread... yes
    checking whether mmap() sees write()s... yes
    checking whether gcc needs -traditional... no
    checking for 8-bit clean memcmp... yes
    checking for fchmod... yes
    checking for flockfile... yes
    checking for getc_unlocked... yes
    checking for _getc_nolock... no
    checking for getpagesize... yes
    checking for lchown... yes
    checking for localtime_r... yes
    checking for lstat64... yes
    checking for memmove... yes
    checking for random... yes
    checking for rint... no
    checking for sbrk... yes
    checking for snprintf... yes
    checking for stat64... yes
    checking for statvfs... yes
    checking for statvfs64... yes
    checking for strerror... yes
    checking for strtok_r... yes
    checking for truncate64... yes
    checking for clock_gettime(CLOCK_MONOTONIC) and -lrt... yes
    checking for wcrtomb... yes
    checking for mbrtowc... yes
    checking for res_ninit()... yes
    checking for gnu_get_libc_version()... yes
    checking for iconv in -lc... yes
    checking for iconv()... yes
    checking for iconv() with const input... no
    checking for an implementation of va_copy()... yes
    checking for an implementation of __va_copy()... yes
    checking whether va_lists can be copied by value... no
    checking for gcc 3.0 ABI... yes
    checking for C++ "explicit" keyword... yes
    checking for C++ "typename" keyword... yes
    checking for modern C++ template specialization syntax support... yes
    checking whether partial template specialization works... yes
    checking whether operators must be re-defined for templates derived from templates... no
    checking whether we need to cast a derived template to pass as its base class... no
    checking whether the compiler can resolve const ambiguities for templates... yes
    checking whether the C++ "using" keyword can change access... yes
    checking whether the C++ "using" keyword resolves ambiguity... yes
    checking for "std::" namespace... yes
    checking whether standard template operator!=() is ambiguous... unambiguous checking for C++ reinterpret_cast... yes
    checking for C++ dynamic_cast to void*... yes
    checking whether C++ requires implementation of unused virtual methods... yes checking for trouble comparing to zero near std::operator!=()... no
    checking for __thread keyword for TLS variables... yes
    checking for malloc.h... (cached) yes
    checking for strndup... yes
    checking for posix_memalign... yes
    checking for memalign... yes
    checking for valloc... yes
    checking for __attribute__((always_inline))... yes
    checking for __attribute__((malloc))... yes
    checking for __attribute__((warn_unused_result))... yes
    checking for __attribute__((noreturn))... yes
    checking for LC_MESSAGES... yes
    checking for localeconv... yes
    checking for nspr-config... /usr/bin/nspr-config
    checking for NSPR - version >= 4.7.0... yes
    checking for valid optimization flags... yes
    checking for __cxa_demangle... yes
    checking for unwind.h... yes
    checking for _Unwind_Backtrace... yes
    checking for gcc -pipe support... yes
    checking whether C compiler supports -fprofile-generate... yes
    checking whether C++ compiler has -pedantic long long bug... no
    checking for correct temporary object destruction order... yes
    checking for correct overload resolution with const and templates... no checking for tm_zone tm_gmtoff in struct tm... yes
    checking for posix_fallocate... yes
    checking for setlocale... yes
    checking for localeconv... (cached) yes
    creating js-confdefs.h
    ==== js-confdefs.h =================================
    /* List of defines generated by configure. Included with preprocessor flag,
    * -include, to avoid long list of -D defines on the compile command-line.
    * Do not edit.
    */
    #ifndef _JS_CONFDEFS_H_
    #define _JS_CONFDEFS_H_
    #define AVMPLUS_64BIT 1
    #define AVMPLUS_AMD64 1
    #define AVMPLUS_LINUX 1
    #define AVMPLUS_UNIX 1
    #define CPP_THROW_NEW throw()
    #define D_INO d_ino
    #define EDITLINE 1
    #define FEATURE_NANOJIT 1
    #define HAVE_64BIT_OS 1
    #define HAVE_CLOCK_MONOTONIC 1
    #define HAVE_CPP_ACCESS_CHANGING_USING 1
    #define HAVE_CPP_AMBIGUITY_RESOLVING_USING 1
    #define HAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR 1
    #define HAVE_CPP_EXPLICIT 1
    #define HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX 1
    #define HAVE_CPP_NAMESPACE_STD 1
    #define HAVE_CPP_NEW_CASTS 1
    #define HAVE_CPP_PARTIAL_SPECIALIZATION 1
    #define HAVE_CPP_TYPENAME 1
    #define HAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL 1
    #define HAVE_DIRENT_H 1
    #define HAVE_DLADDR 1
    #define HAVE_DLOPEN 1
    #define HAVE_FCHMOD 1
    #define HAVE_FLOCKFILE 1
    #define HAVE_GETC_UNLOCKED 1
    #define HAVE_GETOPT_H 1
    #define HAVE_GETPAGESIZE 1
    #define HAVE_GNU_GET_LIBC_VERSION 1
    #define HAVE_GNU_LIBC_VERSION_H 1
    #define HAVE_I18N_LC_MESSAGES 1
    #define HAVE_ICONV 1
    #define HAVE_INT16_T 1
    #define HAVE_INT32_T 1
    #define HAVE_INT64_T 1
    #define HAVE_LCHOWN 1
    #define HAVE_LINUX_QUOTA_H 1
    #define HAVE_LOCALECONV 1
    #define HAVE_LOCALECONV 1
    #define HAVE_LOCALTIME_R 1
    #define HAVE_LSTAT64 1
    #define HAVE_MALLOC_H 1
    #define HAVE_MBRTOWC 1
    #define HAVE_MEMALIGN 1
    #define HAVE_MEMMOVE 1
    #define HAVE_MEMORY_H 1
    #define HAVE_MMINTRIN_H 1
    #define HAVE_NL_TYPES_H 1
    #define HAVE_POSIX_FALLOCATE 1
    #define HAVE_POSIX_MEMALIGN 1
    #define HAVE_RANDOM 1
    #define HAVE_RES_NINIT 1
    #define HAVE_SBRK 1
    #define HAVE_SETLOCALE 1
    #define HAVE_SIGINFO_T 1
    #define HAVE_SNPRINTF 1
    #define HAVE_SSIZE_T 1
    #define HAVE_STAT64 1
    #define HAVE_STATVFS 1
    #define HAVE_STATVFS64 1
    #define HAVE_STRERROR 1
    #define HAVE_STRNDUP 1
    #define HAVE_STRTOK_R 1
    #define HAVE_ST_BLKSIZE 1
    #define HAVE_SYS_BITYPES_H 1
    #define HAVE_SYS_CDEFS_H 1
    #define HAVE_SYS_MOUNT_H 1
    #define HAVE_SYS_QUOTA_H 1
    #define HAVE_SYS_STATFS_H 1
    #define HAVE_SYS_STATVFS_H 1
    #define HAVE_SYS_VFS_H 1
    #define HAVE_THREAD_TLS_KEYWORD 1
    #define HAVE_TM_ZONE_TM_GMTOFF 1
    #define HAVE_TRUNCATE64 1
    #define HAVE_UINT 1
    #define HAVE_UNAME_DOMAINNAME_FIELD 1
    #define HAVE_UNISTD_H 1
    #define HAVE_VALLOC 1
    #define HAVE_VA_COPY 1
    #define HAVE_VA_LIST_AS_ARRAY 1
    #define HAVE_VISIBILITY_ATTRIBUTE 1
    #define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1
    #define HAVE_WCRTOMB 1
    #define HAVE_X11_XKBLIB_H 1
    #define HAVE__UNWIND_BACKTRACE 1
    #define HAVE___CXA_DEMANGLE 1
    #define JS_ALIGN_OF_POINTER 8
    #define JS_BITS_PER_WORD_LOG2 6
    #define JS_BYTES_PER_DOUBLE 8
    #define JS_BYTES_PER_WORD 8
    #define JS_CPU_X64 1
    #define JS_HAVE_STDINT_H 1
    #define JS_METHODJIT 1
    #define JS_MONOIC 1
    #define JS_POLYIC 1
    #define JS_POLYIC_TYPED_ARRAY 1
    #define JS_PUNBOX64 1
    #define JS_THREADSAFE 1
    #define JS_TRACER 1
    #define MALLOC_H <malloc.h>
    #define MOZ_DLL_SUFFIX ".so"
    #define NEED_CPP_UNUSED_IMPLEMENTATIONS 1
    #define NEW_H <new>
    #define NS_ALWAYS_INLINE __attribute__((always_inline))
    #define NS_ATTR_MALLOC __attribute__((malloc))
    #define NS_NORETURN __attribute__((noreturn))
    #define NS_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
    #define STATIC_EXPORTABLE_JS_API 1
    #define STDC_HEADERS 1
    #define UNIX_ASYNC_DNS 1
    #define VA_COPY va_copy
    #define XP_UNIX 1
    #define _REENTRANT 1
    #endif /* _JS_CONFDEFS_H_ */
    creating Makefile
    creating shell/Makefile
    creating lirasm/Makefile
    creating jsapi-tests/Makefile
    creating tests/Makefile
    creating config/Makefile
    creating config/mkdepend/Makefile
    creating editline/Makefile
    updating cache ./config.cache
    creating ./config.status
    creating config/autoconf.mk
    creating js-config.h
    invoking make to create js-config script
    make[3]: Entering directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src'
    rm -f js-config.tmp
    sed < js-config.in > js-config.tmp \
    -e 's|@prefix@|/sbbs/3rdp/build/../../src/../3rdp/gcc.linux.x64.release/mozjs|' \
    -e 's|@exec_prefix@|/sbbs/3rdp/build/../../src/../3rdp/gcc.linux.x64.release/mozjs|' \
    -e 's|@includedir@|/sbbs/3rdp/build/../../src/../3rdp/gcc.linux.x64.release/mozjs/include|' \
    -e 's|@libdir@|/sbbs/3rdp/build/../../src/../3rdp/gcc.linux.x64.release/mozjs/lib|' \
    -e 's|@MOZILLA_VERSION@||' \
    -e 's|@LIBRARY_NAME@|mozjs185|' \
    -e 's|@NSPR_CFLAGS@|-I/usr/include/nspr|' \
    -e 's|@JS_CONFIG_LIBS@|-L/usr/lib/x86_64-linux-gnu -lplds4 -lplc4 -lnspr4 -lpthread -ldl -ldl -lm -ldl |' \
    -e 's|@MOZ_JS_LIBS@|-L/sbbs/3rdp/build/../../src/../3rdp/gcc.linux.x64.release/mozjs/lib -lmozjs185|' \
    && mv js-config.tmp js-config && chmod +x js-config
    make[3]: Leaving directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src'
    make[3]: Entering directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src'
    make export
    make[4]: Entering directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src'
    make -C config/ nsinstall
    make[5]: Entering directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src/config' nsinstall.c
    gcc -o host_nsinstall.o -c -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3 -DXP_UNIX -O3 -DUNICODE -D_UNICODE -I. -I. -I../dist/include -I../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nspr nsinstall.c
    pathsub.c
    gcc -o host_pathsub.o -c -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3 -DXP_UNIX -O3 -DUNICODE -D_UNICODE -I. -I. -I../dist/include -I../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nspr pathsub.c
    gcc -o nsinstall -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3 -DXP_UNIX -O3 -DUNICODE -D_UNICODE -lpthread -Wl,-rpath-link,/bin -Wl,-rpath-link,/sbbs/3rdp/build/../../src/../3rdp/gcc.linux.x64.release/mozjs/lib host_nsinstall.o host_pathsub.o
    make[5]: Leaving directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src/config' Creating /sbbs/3rdp/src/mozjs/js-1.8.5/js/src/.deps
    make[5]: Entering directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src/config'
    rm -f nfspwd
    cp nfspwd.pl nfspwd
    chmod +x nfspwd
    /sbbs/3rdp/src/mozjs/js-1.8.5/js/src/config/nsinstall -R nsinstall ../dist/bin if test ! -d system_wrappers_js; then mkdir system_wrappers_js; fi /usr/bin/perl ./preprocessor.pl -DOSTYPE=\"Linux4.9\" -DOSARCH=Linux -DSTATIC_EXPORTABLE_JS_API=1 -DHAVE_64BIT_OS=1 -DD_INO=d_ino -DJS_CPU_X64=1 -DJS_PUNBOX64=1 -DJS_METHODJIT=1 -DJS_MONOIC=1 -DJS_POLYIC=1 -DJS_POLYIC_TYPED_ARRAY=1 -DFEATURE_NANOJIT=1 -DJS_TRACER=1 -DAVMPLUS_AMD64=1 -DAVMPLUS_64BIT=1 -DAVMPLUS_UNIX=1 -DAVMPLUS_LINUX=1 -DSTDC_HEADERS=1 -DHAVE_SSIZE_T=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DJS_HAVE_STDINT_H=1 -DJS_BYTES_PER_WORD=8 -DJS_BITS_PER_WORD_LOG2=6 -DJS_ALIGN_OF_POINTER=8 -DJS_BYTES_PER_DOUBLE=8 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_UINT=1 -DHAVE_UNAME_DOMAINNAME_FIELD=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SYS_BITYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GNU_LIBC_VERSION_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_SYS_VFS_H=1 -DHAVE_SYS_MOUNT_H=1 -DHAVE_SYS_QUOTA_H=1 -DHAVE_LINUX_QUOTA_H=1 -DHAVE_MMINTRIN_H=1 -DNEW_H=\<new\> -DHAVE_SYS_CDEFS_H=1 -DHAVE_DLOPEN=1 -DHAVE_DLADDR=1 -D_REENTRANT=1 -DHAVE_FCHMOD=1 -DHAVE_FLOCKFILE=1 -DHAVE_GETC_UNLOCKED=1 -DHAVE_GETPAGESIZE=1 -DHAVE_LCHOWN=1 -DHAVE_LOCALTIME_R=1 -DHAVE_LSTAT64=1 -DHAVE_MEMMOVE=1 -DHAVE_RANDOM=1 -DHAVE_SBRK=1 -DHAVE_SNPRINTF=1 -DHAVE_STAT64=1 -DHAVE_STATVFS=1 -DHAVE_STATVFS64=1 -DHAVE_STRERROR=1 -DHAVE_STRTOK_R=1 -DHAVE_TRUNCATE64=1 -DHAVE_CLOCK_MONOTONIC=1 -DHAVE_WCRTOMB=1 -DHAVE_MBRTOWC=1 -DHAVE_RES_NINIT=1 -DHAVE_GNU_GET_LIBC_VERSION=1 -DHAVE_ICONV=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_VA_LIST_AS_ARRAY=1 -DHAVE_CPP_EXPLICIT=1 -DHAVE_CPP_TYPENAME=1 -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX=1 -DHAVE_CPP_PARTIAL_SPECIALIZATION=1 -DHAVE_CPP_ACCESS_CHANGING_USING=1 -DHAVE_CPP_AMBIGUITY_RESOLVING_USING=1 -DHAVE_CPP_NAMESPACE_STD=1 -DHAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL=1 -DHAVE_CPP_NEW_CASTS=1 -DHAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR=1 -DNEED_CPP_UNUSED_IMPLEMENTATIONS=1 -DHAVE_THREAD_TLS_KEYWORD=1 -DMALLOC_H=\<malloc.h\> -DHAVE_STRNDUP=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_MEMALIGN=1 -DHAVE_VALLOC=1 -DHAVE_I18N_LC_MESSAGES=1 -DHAVE_LOCALECONV=1 -DNS_ALWAYS_INLINE=__attribute__\(\(always_inline\)\) -DNS_ATTR_MALLOC=__attribute__\(\(malloc\)\) -DNS_WARN_UNUSED_RESULT=__attribute__\(\(warn_unused_result\)\) -DNS_NORETURN=__attribute__\(\(noreturn\)\) -DHAVE___CXA_DEMANGLE=1 -DHAVE__UNWIND_BACKTRACE=1 -DHAVE_TM_ZONE_TM_GMTOFF=1 -DCPP_THROW_NEW=throw\(\) -DEDITLINE=1 -DMOZ_DLL_SUFFIX=\".so\" -DHAVE_POSIX_FALLOCATE=1 -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DJS_THREADSAFE=1 -DHAVE_SETLOCALE=1 -DHAVE_LOCALECONV=1 \
    -DBUILD_STATIC_LIBS= \
    ./system-headers | /usr/bin/perl ./make-system-wrappers.pl system_wrappers_js
    /sbbs/3rdp/src/mozjs/js-1.8.5/js/src/config/nsinstall -R system_wrappers_js ../dist
    make[5]: Leaving directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src/config' make[5]: Entering directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src/editline' Creating /sbbs/3rdp/src/mozjs/js-1.8.5/js/src/editline/.deps
    make[5]: Leaving directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src/editline' make[5]: Entering directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src/shell' Creating /sbbs/3rdp/src/mozjs/js-1.8.5/js/src/shell/.deps
    make[5]: Leaving directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src/shell'
    c++ -DMDCPUCFG=\"md/_linux.cfg\" -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3 -DOSTYPE=\"Linux4.9\" -DOSARCH=Linux -DEXPORT_JS_API -D__STDC_LIMIT_MACROS -I/usr/include/nspr -o jscpucfg jscpucfg.cpp
    ./jscpucfg > jsautocfg.tmp
    mv jsautocfg.tmp jsautocfg.h
    jskwgen.cpp
    c++ -DMDCPUCFG=\"md/_linux.cfg\" -o host_jskwgen.o -c -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3 -I. -I. -I./dist/include -I./dist/include/nsprpub -I/usr/include/nspr -I. -I./assembler -I./yarr -I/usr/include/nspr jskwgen.cpp
    c++ -DMDCPUCFG=\"md/_linux.cfg\" -o host_jskwgen -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3 -I. -I. -I./dist/include -I./dist/include/nsprpub -I/usr/include/nspr -I. -I./assembler -I./yarr host_jskwgen.o
    ./host_jskwgen /sbbs/3rdp/src/mozjs/js-1.8.5/js/src/jsautokw.h /sbbs/3rdp/src/mozjs/js-1.8.5/js/src/config/nsinstall -R -m 644 js-config.h jsautocfg.h /sbbs/3rdp/src/mozjs/js-1.8.5/js/src/jsautokw.h js.msg jsanalyze.h jsapi.h jsarray.h jsarena.h jsatom.h jsbit.h jsbool.h jsclist.h jsclone.h jscntxt.h jscompat.h jsdate.h jsdbgapi.h jsdhash.h jsdtoa.h jsemit.h jsfun.h jsfriendapi.h jsgc.h jscell.h jsgcchunk.h jsgcstats.h jscompartment.h jshash.h jsinterp.h jsinttypes.h jsiter.h jslock.h jslong.h jsmath.h jsobj.h jsobjinlines.h json.h jsopcode.tbl jsopcode.h jsopcodeinlines.h jsotypes.h jsparse.h jsproxy.h jsprf.h jsprobes.h jspropertycache.h jspropertycacheinlines.h jspropertytree.h jsproto.tbl jsprvtd.h jspubtd.h jsreflect.h jsregexp.h jsscan.h jsscope.h jsscript.h jsscriptinlines.h jsstaticcheck.h jsstdint.h jsstr.h jstracer.h jshotloop.h jstypedarray.h jstypes.h jsutil.h jsvector.h jstl.h jshashtable.h jsversion.h jswrapper.h jsxdrapi.h jsxml.h jsval.h jsvalue.h prmjtime.h jsbuiltins.h ./nanojit/Assembler.h ./nanojit/Allocator.h ./nanojit/CodeAlloc.h ./nanojit/Containers.h ./nanojit/LIR.h ./nanojit/LIRopcode.tbl ./nanojit/avmplus.h ./nanojit/Fragmento.h ./nanojit/Native.h ./nanojit/NativeCommon.h ./nanojit/NativeX64.h ./nanojit/njconfig.h ./nanojit/njcpudetect.h ./nanojit/RegAlloc.h ./nanojit/nanojit.h ./nanojit/VMPI.h ./tracejit/Writer.h ./perf/jsperf.h ./dist/include
    mkdir -p nanojit
    make[4]: Leaving directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src'
    make libs
    make[4]: Entering directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src' jsoplengen.cpp
    c++ -DMDCPUCFG=\"md/_linux.cfg\" -o host_jsoplengen.o -c -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3 -I. -I. -I./dist/include -I./dist/include/nsprpub -I/usr/include/nspr -I. -I./assembler -I./yarr -I/usr/include/nspr jsoplengen.cpp
    c++ -DMDCPUCFG=\"md/_linux.cfg\" -o host_jsoplengen -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3 -I. -I. -I./dist/include -I./dist/include/nsprpub -I/usr/include/nspr -I. -I./assembler -I./yarr host_jsoplengen.o
    ./host_jsoplengen /sbbs/3rdp/src/mozjs/js-1.8.5/js/src/jsautooplen.h jsanalyze.cpp
    c++ -o jsanalyze.o -c -fvisibility=hidden -DOSTYPE=\"Linux4.9\" -DOSARCH=Linux -DEXPORT_JS_API -D__STDC_LIMIT_MACROS -I. -I. -I./dist/include -I./dist/include/nsprpub -I/usr/include/nspr -I. -I./assembler -I./yarr -fPIC -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3 -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1 -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsanalyze.pp jsanalyze.cpp
    In file included from jsval.h:48:0,
    from jspubtd.h:47,
    from jsprvtd.h:57,
    from jscntxt.h:55,
    from jsanalyze.h:45,
    from jsanalyze.cpp:40:
    jsutil.h: In function ‘T* js_array_new(size_t)’:
    jsutil.h:302:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
    if (!memory)
    ^~
    jsutil.h:304:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
    *(size_t *)memory = n;
    ^
    In file included from jsatom.h:47:0,
    from jscntxt.h:59,
    from jsanalyze.h:45,
    from jsanalyze.cpp:40:
    jsapi.h: At global scope:
    jsapi.h:1381:39: warning: ignoring attributes on template argument ‘jsval {aka long unsigned int}’ [-Wignored-attributes]
    template<> class AnchorPermitted<jsval> { };
    ^
    In file included from jsval.h:48:0,
    from jspubtd.h:47,
    from jsprvtd.h:57,
    from jscntxt.h:55,
    from jsanalyze.h:45,
    from jsanalyze.cpp:40:
    jsvalue.h: In member function ‘void js::Value::staticAssertions()’: jsutil.h:120:43: warning: typedef ‘js_static_assert6’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsvalue.h:737:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert7’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsvalue.h:738:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert8’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsvalue.h:739:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(JSBool) == 4);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert9’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsvalue.h:740:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert10’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsvalue.h:741:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(jsval) == 8);
    ^~~~~~~~~~~~~~~~
    jsstr.h: In static member function ‘static void JSString::staticAsserts()’: jsutil.h:120:43: warning: typedef ‘js_static_assert39’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsstr.h:459:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
    ^~~~~~~~~~~~~~~~
    jsstr.h: In static member function ‘static void JSShortString::staticAsserts()’:
    jsutil.h:120:43: warning: typedef ‘js_static_assert43’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsstr.h:568:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert44’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsstr.h:570:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert45’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsstr.h:571:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
    ^~~~~~~~~~~~~~~~
    jsscript.h: In member function ‘void js::UpvarCookie::checkInvariants()’: jsutil.h:120:43: warning: typedef ‘js_static_assert47’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsscript.h:83:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert48’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsscript.h:84:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
    ^~~~~~~~~~~~~~~~
    jsfun.h: In static member function ‘static uintN JSFunction::offsetOfNativeOrScript()’:
    jsutil.h:120:43: warning: typedef ‘js_static_assert49’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsfun.h:228:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert50’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsfun.h:229:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
    ^~~~~~~~~~~~~~~~
    jsgc.h: In function ‘size_t js::gc::GetFinalizableTraceKind(size_t)’: jsutil.h:120:43: warning: typedef ‘js_static_assert58’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsgc.h:514:5: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^~~~~~~~~~~~~~~~
    jsgc.h: In function ‘intN js::gc::GetExternalStringGCType(JSExternalString*)’:
    jsutil.h:120:43: warning: typedef ‘js_static_assert59’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsgc.h:550:5: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^~~~~~~~~~~~~~~~
    jsinterp.h: In member function ‘void JSStackFrame::staticAsserts()’: jsutil.h:120:43: warning: typedef ‘js_static_assert61’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsinterp.h:778:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert62’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsinterp.h:779:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
    ^~~~~~~~~~~~~~~~
    jsapi.cpp
    c++ -o jsapi.o -c -fvisibility=hidden -DOSTYPE=\"Linux4.9\" -DOSARCH=Linux -DEXPORT_JS_API -D__STDC_LIMIT_MACROS -I. -I. -I./dist/include -I./dist/include/nsprpub -I/usr/include/nspr -I. -I./assembler -I./yarr -fPIC -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -O3 -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1 -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsapi.pp jsapi.cpp
    In file included from jsapi.cpp:52:0:
    jsutil.h: In function ‘T* js_array_new(size_t)’:
    jsutil.h:302:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
    if (!memory)
    ^~
    jsutil.h:304:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
    *(size_t *)memory = n;
    ^
    In file included from jsapi.cpp:56:0:
    jsapi.h: At global scope:
    jsapi.h:1381:39: warning: ignoring attributes on template argument ‘jsval {aka long unsigned int}’ [-Wignored-attributes]
    template<> class AnchorPermitted<jsval> { };
    ^
    In file included from jsapi.cpp:52:0:
    jsvalue.h: In member function ‘void js::Value::staticAssertions()’: jsutil.h:120:43: warning: typedef ‘js_static_assert6’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsvalue.h:737:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert7’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsvalue.h:738:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert8’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsvalue.h:739:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(JSBool) == 4);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert9’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsvalue.h:740:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert10’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsvalue.h:741:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(jsval) == 8);
    ^~~~~~~~~~~~~~~~
    jsstr.h: In static member function ‘static void JSString::staticAsserts()’: jsutil.h:120:43: warning: typedef ‘js_static_assert39’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsstr.h:459:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
    ^~~~~~~~~~~~~~~~
    jsstr.h: In static member function ‘static void JSShortString::staticAsserts()’:
    jsutil.h:120:43: warning: typedef ‘js_static_assert43’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsstr.h:568:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert44’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsstr.h:570:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert45’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsstr.h:571:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
    ^~~~~~~~~~~~~~~~
    In file included from nanojit/nanojit.h:377:0,
    from jsbuiltins.h:45,
    from jsapi.cpp:60:
    nanojit/RegAlloc.h: In function ‘nanojit::Register nanojit::lsReg(nanojit::RegisterMask)’:
    nanojit/RegAlloc.h:189:52: warning: narrowing conversion of ‘((sizeof (nanojit::RegisterMask) == 4ul) ? nanojit::lsbSet32(mask) : nanojit::lsbSet64(((uint64_t)mask)))’ from ‘int’ to ‘nanojit::Register {aka unsigned int}’ inside { } [-Wnarrowing]
    Register r = { (sizeof(RegisterMask) == 4) ? lsbSet32(mask) : lsbSet64(mask) };
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    nanojit/RegAlloc.h: In function ‘nanojit::Register nanojit::msReg(nanojit::RegisterMask)’:
    nanojit/RegAlloc.h:197:52: warning: narrowing conversion of ‘((sizeof (nanojit::RegisterMask) == 4ul) ? nanojit::msbSet32(mask) : nanojit::msbSet64(((uint64_t)mask)))’ from ‘int’ to ‘nanojit::Register {aka unsigned int}’ inside { } [-Wnarrowing]
    Register r = { (sizeof(RegisterMask) == 4) ? msbSet32(mask) : msbSet64(mask) };
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from jsapi.cpp:52:0:
    jsscript.h: In member function ‘void js::UpvarCookie::checkInvariants()’: jsutil.h:120:43: warning: typedef ‘js_static_assert47’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsscript.h:83:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert48’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsscript.h:84:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
    ^~~~~~~~~~~~~~~~
    jsfun.h: In static member function ‘static uintN JSFunction::offsetOfNativeOrScript()’:
    jsutil.h:120:43: warning: typedef ‘js_static_assert49’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsfun.h:228:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert50’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsfun.h:229:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
    ^~~~~~~~~~~~~~~~
    jsgc.h: In function ‘size_t js::gc::GetFinalizableTraceKind(size_t)’: jsutil.h:120:43: warning: typedef ‘js_static_assert58’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsgc.h:514:5: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^~~~~~~~~~~~~~~~
    jsgc.h: In function ‘intN js::gc::GetExternalStringGCType(JSExternalString*)’:
    jsutil.h:120:43: warning: typedef ‘js_static_assert59’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsgc.h:550:5: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^~~~~~~~~~~~~~~~
    jsinterp.h: In member function ‘void JSStackFrame::staticAsserts()’: jsutil.h:120:43: warning: typedef ‘js_static_assert61’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsinterp.h:778:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert62’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsinterp.h:779:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
    ^~~~~~~~~~~~~~~~
    jsclone.h: In member function ‘void js::SCInput::staticAssertions()’: jsutil.h:120:43: warning: typedef ‘js_static_assert65’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsclone.h:100:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(jschar) == 2);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert66’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsclone.h:101:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(uint32_t) == 4);
    ^~~~~~~~~~~~~~~~
    jsutil.h:120:43: warning: typedef ‘js_static_assert67’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsclone.h:102:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(sizeof(jsdouble) == 8);
    ^~~~~~~~~~~~~~~~
    jsstrinlines.h: In member function ‘jsint js::StringBuffer::length() const’:
    jsutil.h:120:43: warning: typedef ‘js_static_assert68’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsstrinlines.h:202:5: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^~~~~~~~~~~~~~~~
    jsstrinlines.h: In static member function ‘static JSFlatString* JSString::lookupStaticString(const jschar*, size_t)’:
    jsutil.h:120:43: warning: typedef ‘js_static_assert69’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsstrinlines.h:280:5: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^~~~~~~~~~~~~~~~
    jsscope.h: In member function ‘void js::Shape::setParent(js::Shape*)’: jsutil.h:120:43: warning: typedef ‘js_static_assert70’ locally defined but not used [-Wunused-local-typedefs]
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^
    jsutil.h:117:41: note: in definition of macro ‘JS_STATIC_ASSERT_GLUE1’
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    ^
    jsutil.h:120:21: note: in expansion of macro ‘JS_STATIC_ASSERT_GLUE’
    typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    ^~~~~~~~~~~~~~~~~~~~~
    jsscope.h:431:9: note: in expansion of macro ‘JS_STATIC_ASSERT’
    JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
    ^~~~~~~~~~~~~~~~
    In file included from jsapi.cpp:94:0:
    jsobjinlines.h: In member function ‘void JSObject::setArrayLength(uint32)’: jsobjinlines.h:316:24: warning: cast to pointer from integer of different size -Wint-to-pointer-cast]
    setPrivate((void*) length);
    ^~~~~~
    In file included from ./assembler/assembler/MacroAssembler.h:54:0,
    from yarr/yarr/RegexJIT.h:31,
    from jsregexpinlines.h:49,
    from jsapi.cpp:97: ./assembler/assembler/MacroAssemblerX86_64.h: In member function ‘JSC::AbstractMacroAssembler<JSC::X86Assembler>::Call JSC::MacroAssemblerX86_64::call()’:
    ./assembler/assembler/MacroAssemblerX86_64.h:127:22: warning: variable ‘label’ set but not used [-Wunused-but-set-variable]
    DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
    ^~~~~
    ./assembler/assembler/MacroAssemblerX86_64.h: In member function ‘JSC::AbstractMacroAssembler<JSC::X86Assembler>::Call JSC::MacroAssemblerX86_64::tailRecursiveCall()’:
    ./assembler/assembler/MacroAssemblerX86_64.h:135:22: warning: variable ‘label’ set but not used [-Wunused-but-set-variable]
    DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
    ^~~~~
    ./assembler/assembler/MacroAssemblerX86_64.h: In member function ‘JSC::AbstractMacroAssembler<JSC::X86Assembler>::Call JSC::MacroAssemblerX86_64::makeTailRecursiveCall(JSC::AbstractMacroAssembler<JSC::X86Assembler>::Jump)’:
    ./assembler/assembler/MacroAssemblerX86_64.h:144:22: warning: variable ‘label’ set but not used [-Wunused-but-set-variable]
    DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
    ^~~~~
    jsapi.cpp: In function ‘JSIdArray* JS_Enumerate(JSContext*, JSObject*)’: jsapi.cpp:3988:16: error: cannot convert ‘bool’ to ‘JSIdArray*’ in return
    return false;
    ^~~~~
    config/rules.mk:1475: recipe for target 'jsapi.o' failed
    make[4]: *** [jsapi.o] Error 1
    make[4]: Leaving directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src' config/rules.mk:753: recipe for target 'default' failed
    make[3]: *** [default] Error 2
    make[3]: Leaving directory '/sbbs/3rdp/src/mozjs/js-1.8.5/js/src' GNUmakefile:50: recipe for target '../build/../../src/../3rdp/gcc.linux.x64.release/mozjs/lib/libmozjs185-1.0.a' failed
    make[2]: *** [../build/../../src/../3rdp/gcc.linux.x64.release/mozjs/lib/libmozjs185-1.0.a] Error 2
    make[2]: Leaving directory '/sbbs/3rdp/build' /sbbs/src/sbbs3/../build/Common.gmake:482: recipe for target 'js' failed make[1]: *** [js] Error 2
    make[1]: Leaving directory '/sbbs/src/sbbs3'
    GNUmakefile:151: recipe for target 'sbbs3' failed
    make: *** [sbbs3] Error 2
    nodrinks@debian:/sbbs$
    --- Synchronet 3.17a-Win32 NewsLink 1.108
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to macexplorer057 on Sunday, March 04, 2018 20:47:11
    Re: SBBS compile error
    By: macexplorer057 to alt.bbs.synchronet on Sun Mar 04 2018 07:57 pm

    From Newsgroup: alt.bbs.synchronet


    nodrinks@debian:/sbbs$ sudo make install SYMLINK=1 USE_DOSEMU=1 CVSTAG=sbbs316c

    Is there a particular reason you went with the sbbs316c tag?

    jsapi.cpp:3988:16: error: cannot convert ‘bool’ to ‘JSIdArray*’ in return
    return false;

    I suspect that the version of GCC you're using is not compatible with that old version of SpiderMonkey (1.5) that we used in Synchronet v3.16.

    Either:

    1. Get the latest dev code (which includes newere 1.8.5 version of Spidermonkey) when installing (excluding the CVSTAG=sbbs316c part)

    or:

    2. Use an older version of GCC

    (next time, don't paste the entire output, just the command you typed and lines that contain the word "error"). :-)

    digital man

    Synchronet/BBS Terminology Definition #26:
    FTSC = FidoNet Technical Standards Committee
    Norco, CA WX: 50.5øF, 56.0% humidity, 0 mph SE wind, 0.03 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net