#270 new
Sean McGovern

yasm sporadically fails to build on Solaris

Reported by Sean McGovern | July 9th, 2014 @ 02:25 PM

When attempting to build current yasm Git HEAD on a workstation running Solaris 11.1, I am seeing sporadic failures to build. It succeeds most of the time, but approximately 2 out of a every 5 builds I get the following:

  • umask 0022
  • PATH=/usr/bin:/bin
  • LC_ALL=C
  • test -d /usr/xpg4/bin
  • PATH=/usr/xpg4/bin:/usr/bin:/bin
  • export PATH LC_ALL
  • rm -f 'yasm*.tar.*'
  • PREFIX=/usr
  • which gcc
  • CC=/usr/bin/gcc
  • export CC
  • pwd
  • SRCROOT=/var/tmp/jenkins_builds/workspace/yasm-sol
  • /var/tmp/jenkins_builds/workspace/yasm-sol/autogen.sh '--prefix=/usr' CPPFLAGS=-D__EXTENSIONS__ Generating configuration files for yasm, please wait....
    aclocal -I m4
    autoheader automake -a configure.ac:14: installing config/install-sh' configure.ac:14: installingconfig/missing'
    Makefile.am: installing `config/depcomp'
    autoconf configure --enable-maintainer-mode --prefix=/usr CPPFLAGS=-D__EXTENSIONS__ checking for a BSD-compatible install... /usr/bin/ginstall -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /usr/bin/gmkdir -p
    checking for gawk... no
    checking for mawk... no
    checking for nawk... nawk
    checking whether /usr/bin/gmake sets $(MAKE)... yes
    checking whether to enable maintainer-specific portions of Makefiles... yes
    checking for style of include used by /usr/bin/gmake... GNU
    checking for gcc... /usr/bin/gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether /usr/bin/gcc accepts -g... yes
    checking for /usr/bin/gcc option to accept ISO C89... none needed
    checking dependency style of /usr/bin/gcc... gcc3
    checking how to run the C preprocessor... /usr/bin/gcc -E
    checking for /usr/bin/gcc option to accept ISO C99... -std=gnu99
    checking for /usr/bin/gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99
    checking whether ln -s works... yes
    checking for ar... ar
    checking for ranlib... ranlib
    checking for xmlto... no
    configure: WARNING: xmlto not found, manpages will not be rebuilt.
    checking if malloc debugging is wanted... no
    checking for grep that handles long lines and -e... /usr/bin/ggrep
    checking for egrep... /usr/bin/ggrep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking for strings.h... (cached) yes
    checking libgen.h usability... yes
    checking libgen.h presence... yes
    checking for libgen.h... yes
    checking for unistd.h... (cached) yes
    checking direct.h usability... no
    checking direct.h presence... no
    checking for direct.h... no
    checking for sys/stat.h... (cached) yes
    checking for an ANSI C-conforming const... yes
    checking for inline... inline
    checking for function prototypes... yes
    checking for size_t... yes
    checking for stdint types... stdint.h (shortcircuit)
    make use of stdint.h in libyasm-stdint.h (assuming C99 compatible system)
    checking for abort... yes
    checking for toascii... yes
    checking for vsnprintf... yes
    checking for strsep... yes
    checking for mergesort... no
    checking for getcwd... yes
    checking for popen... yes
    checking for ftruncate... yes
    checking for strcasecmp... yes
    checking for strncasecmp... yes
    checking for stricmp... no
    checking for stricmp... no
    checking for strcmpi... no
    checking whether NLS is requested... yes
    checking for msgfmt... no
    checking for gmsgfmt... :
    checking for xgettext... no
    checking for msgmerge... no
    checking build system type... i386-pc-solaris2.11
    checking host system type... i386-pc-solaris2.11
    checking for ld used by GCC... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... no
    checking for shared library run path origin... done
    /var/tmp/jenkins_builds/workspace/yasm-sol/configure[6711]: gt_INTL_MACOSX: not found [No such file or directory] checking for GNU gettext in libc... yes
    checking whether to use NLS... yes
    checking where the gettext function comes from... libc
    checking for GNU C Library... no
    configure: Checking for Python
    checking for a Python interpreter with version >= 2.4... python
    checking for python... /usr/bin/python
    checking for python version... 2.6
    checking for python platform... sunos5
    checking for python script directory... ${prefix}/lib/python2.6/site-packages
    checking for python extension module directory... ${exec
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating po/Makefile.in
    config.status: creating config.h
    config.status: executing depfiles commands
    config.status: executing libyasm-stdint.h commands
    config.status: creating libyasm-stdint.h : _YASM_LIBYASM_STDINT_H
    config.status: executing po-directories commands
    config.status: creating po/POTFILES
    config.status: creating po/Makefile
  • chmod u+x /var/tmp/jenkins_builds/workspace/yasm-sol/config/config.guess /var/tmp/jenkins_builds/workspace/yasm-sol/config/config.sub
  • /var/tmp/jenkins_builds/workspace/yasm-sol/config/config.guess
  • host=i386-pc-solaris2.11
  • /var/tmp/jenkins_builds/workspace/yasm-sol/config/config.sub i386-pc-solaris2.11
  • host=i386-pc-solaris2.11
  • OSVER=solaris2.11
  • DESTBASE=/var/tmp
  • DESTDIR=/var/tmp/yasm-solaris2.11
  • /usr/bin/kstat -p :::state
  • grep 'on-line$'
  • sed 's/ //g'
  • wc -l
  • nproc=8
  • MAKE=/usr/bin/gmake
  • /usr/bin/gmake -j 8 /usr/bin/python ./modules/arch/x86/gen_x86_insn.py /usr/bin/python ./modules/arch/x86/gen_x86_insn.py /usr/bin/python ./modules/arch/x86/gen_x86_insn.py /usr/bin/gcc -std=gnu99 -I. \ -c -o genperf.o test -f tools/genperf/genperf.c || echo './'tools/genperf/genperf.c /usr/bin/gcc -std=gnu99 -I. \ -c -o gp-perfect.o test -f tools/genperf/perfect.c || echo './'tools/genperf/perfect.c /usr/bin/gcc -std=gnu99 -I. \ -c -o gp-phash.o test -f libyasm/phash.c || echo './'libyasm/phash.c /usr/bin/gcc -std=gnu99 -I. \ -c -o gp-xmalloc.o test -f libyasm/xmalloc.c || echo './'libyasm/xmalloc.c /usr/bin/gcc -std=gnu99 -I. \ -c -o gp-xstrdup.o test -f libyasm/xstrdup.c || echo './'libyasm/xstrdup.c /usr/bin/gcc -std=gnu99 -I. \ -c -o re2c-main.o test -f tools/re2c/main.c || echo './'tools/re2c/main.c /usr/bin/gcc -std=gnu99 -I. \ -c -o re2c-code.o test -f tools/re2c/code.c || echo './'tools/re2c/code.c /usr/bin/gcc -std=gnu99 -I. \ -c -o re2c-dfa.o test -f tools/re2c/dfa.c || echo './'tools/re2c/dfa.c /usr/bin/gcc -std=gnu99 -I. \ -c -o re2c-parser.o test -f tools/re2c/parser.c || echo './'tools/re2c/parser.c /usr/bin/gcc -std=gnu99 -I. \ -c -o re2c-actions.o test -f tools/re2c/actions.c || echo './'tools/re2c/actions.c /usr/bin/gcc -std=gnu99 -I. \ -c -o re2c-scanner.o test -f tools/re2c/scanner.c || echo './'tools/re2c/scanner.c /usr/bin/gcc -std=gnu99 -I. \ -c -o re2c-mbo_getopt.o test -f tools/re2c/mbo_getopt.c || echo './'tools/re2c/mbo_getopt.c /usr/bin/gcc -std=gnu99 -I. \ -c -o re2c-substr.o test -f tools/re2c/substr.c || echo './'tools/re2c/substr.c /usr/bin/gcc -std=gnu99 -I. \ -c -o re2c-translate.o test -f tools/re2c/translate.c || echo './'tools/re2c/translate.c /usr/bin/gcc -std=gnu99 -I. \ -c -o genmacro.o test -f tools/genmacro/genmacro.c || echo './'tools/genmacro/genmacro.c /usr/bin/gcc -std=gnu99 -I. -c -o genversion.o test -f modules/preprocs/nasm/genversion.c || echo './'modules/preprocs/nasm/genversion.c /usr/bin/gcc -std=gnu99 -I. -c -o genstring.o test -f genstring.c || echo './'genstring.c (CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /var/tmp/jenkins_builds/workspace/yasm-sol/config/missing --run autoheader) /usr/bin/gcc -std=gnu99 -o genperf genperf.o gp-perfect.o gp-phash.o gp-xmalloc.o gp-xstrdup.o /usr/bin/gcc -std=gnu99 -o genmacro genmacro.o /usr/bin/gcc -std=gnu99 -o re2c re2c-main.o re2c-code.o re2c-dfa.o re2c-parser.o re2c-actions.o re2c-scanner.o re2c-mbo_getopt.o re2c-substr.o re2c-translate.o /usr/bin/gcc -std=gnu99 -o genversion genversion.o ./genmacro nasm-macros.c nasm_standard_mac ./modules/parsers/nasm/nasm-std.mac ./genmacro win64-nasm.c win64_nasm_stdmac ./modules/objfmts/coff/win64-nasm.mac ./genmacro win64-gas.c win64_gas_stdmac ./modules/objfmts/coff/win64-gas.mac ./re2c -b -o gas-token.c ./modules/parsers/gas/gas-token.re ./re2c -b -o nasm-token.c ./modules/parsers/nasm/nasm-token.re ./genversion version.mac /usr/bin/gcc -std=gnu99 -o genstring genstring.o ./genmacro nasm-version.c nasm_version_mac version.mac ./genstring license_msg license.c ./COPYING rm -f stamp-h1
    touch config.h.in
    cd . && /bin/sh ./config.status config.h
    config.status: creating config.h
    config.status: config.h is unchanged
    ./genperf x86insn_nasm.gperf x86insn_nasm.c 1: no keywords section found
    gmake: *** [x86insn_nasm.c] Error 1
    gmake: *** Waiting for unfinished jobs....

Maybe is there a missing dependancy in the Makefile and something is being occasionally generated out-of-order? I admit my knowledge of make syntax is limited and would appreciate any input you might have.

Comments and changes to this ticket

  • sdasfdf

    sdasfdf April 23rd, 2018 @ 06:13 PM

    https://luckypatcher.pro/ Thanks for sharing.I found a lot of interesting information here. A really good post, very thankful and hopeful that you will write many more posts like this one.

  • PrasadAb

    PrasadAb October 3rd, 2018 @ 05:43 AM

    I think this may not have been fixed fully since I am seeing the original error ifr_mtu not existing and from examining the code I do not see anything which address's this issue in _psutil_posix.c.

    I am building on a Solaris 10 update 8 on Intel in a VirtualBox, but see the same issue on Sparc with similar level of OS, with current OpenCSW tools installed on both.

    Command to reproduce (relevant excerpts from bash script):

    export CFLAGS='-I/opt/local/include -I/opt/csw/includei -I/opt/local/include/python2.7'
    export LDFLAGS=
    export PKG_CONFIG_PATH='/opt/csw/lib/pkgconfig:/opt/local/lib/pkgconfig'
    ln -s /opt/csw/include/openssl /opt/local/include/python2.7
    ln -s /opt/csw/bin/gcc /usr/local/bin/ccATH='/opt/csw/lib/pkgconfig:/opt/local/lib/pkgconfig'

    cd psutil
    python -m pip install psutil 2>&1 | tee -a $LOGGING || {
    _error "$0:$FUNCNAME failed to install psutil, retcode '${$?}'"; }


Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

The Yasm Modular Assembler Project

Shared Ticket Bins

People watching this ticket