Subject: pkg/31137: pkgsrc lang/perl5 fails to build on IRIX
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <stuart@zeus.com>
List: pkgsrc-bugs
Date: 09/04/2005 07:54:01
>Number:         31137
>Category:       pkg
>Synopsis:       pkgsrc lang/perl5 fails to build on IRIX
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Sep 04 07:54:01 +0000 2005
>Originator:     Stuart Shelton
>Release:        n/a
>Organization:
n/a
>Environment:
IRIX64 octane 6.5 07010238 IP30 mips: IRIX 6.5.28
>Description:
Extracting lib.pm (with variable substitutions)
        AutoSplitting perl library
LD_LIBRARYN32_PATH=/usr/bsd/var/tmp/lang/perl5/work/perl-5.8.7 ./miniperl -Ilib -e 'use AutoSplit;  autosplit_lib_modules(@ARGV)' lib/*.pm
LD_LIBRARYN32_PATH=/usr/bsd/var/tmp/lang/perl5/work/perl-5.8.7 ./miniperl -Ilib -e 'use AutoSplit;  autosplit_lib_modules(@ARGV)' lib/*/*.pm
/usr/bsd/bin/bmake lib/re.pm
cp ext/re/re.pm ext/re/re.tmp && sh mv-if-diff ext/re/re.tmp lib/re.pm
LD_LIBRARYN32_PATH=/usr/bsd/var/tmp/lang/perl5/work/perl-5.8.7 ./miniperl minimod.pl > minimod.tmp
sh mv-if-diff minimod.tmp lib/ExtUtils/Miniperl.pm
touch lib/ExtUtils/Miniperl.pm
cd lib/unicore && LD_LIBRARYN32_PATH=/usr/bsd/var/tmp/lang/perl5/work/perl-5.8.7 ../../miniperl -I../../lib mktables -w
trying to sprocsp: Operation not permitted
*** Error code 1

Stop.
bmake: stopped in /usr/bsd/var/tmp/lang/perl5/work/perl-5.8.7

>How-To-Repeat:
cd lang/perl5 && bmake install
>Fix:

Unknown - IRIX has an sprocsp man page, which defines the call as:

     pid_t sprocsp (void (*entry) (void *, size_t), unsigned inh,
                    void *arg, caddr_t sp, size_t len);

The problem appears to be Makefile lines 404-405:

    $(unidatafiles): miniperl$(EXE_EXT) $(CONFIGPM) lib/unicore/mktables
      cd lib/unicore && $(LDLIBPTH) ../../miniperl -I../../lib mktables -w

Changing this to run mktables through strace gives:

168693 02:19:20 execve("../../miniperl", ["../../miniperl", "-I../../lib", "mktables", "-w"]["_=/usr/freeware/bin/strace", "F77=f77", "LANG=C", "CPP=CC", "WRAPPER_DEBUG=yes", "HZ=", "LC_MONETARY=C", "LC_TIME=C", "PKG_SYSCONFDIR=/usr/bsd/etc", "LD_LIBRARYN32_PATH=/usr/bsd/var/tmp/lang/perl5/work/perl-5.8.7", "ABI=32", "PATH=/usr/bsd/var/tmp/lang/perl5/work/.wrapper/bin:/usr/bsd/var/tmp/lang/perl5/work/.buildlink/bin:/usr/bsd/var/tmp/lang/perl5/work/.tools/bin:/usr/bsd/var/tmp/lang/perl5/work/.mipspro/bin:/usr/bsd/bin:/usr/bsd/sbin:/usr/bsd/bin:/usr/gnu/bin:/usr/freeware/sbin:/usr/freeware/bin:/usr/sbin:/usr/bsd:/sbin:/usr/bin:/etc:/usr/etc:/usr/bin/X11:/usr/bsd/bin:/usr/X11R6/bin", "_MAKE=/usr/bsd/bin/bmake", "BSD_INSTALL_DATA_DIR=/usr/bsd/bin/install-sh -d -o root -g sys -m 755", "PKGSRCDIR=/usr/bsd/src", "OLDPWD=/usr/bsd/var/tmp/lang/perl5/work/perl-5.8.7", "LC_ALL=C", "PKG_PHASE=build", "VIEWBASE=/usr/bsd", "BSD_INSTALL_LIB_DIR=/usr/bsd/bin/install-sh -d -o root -g sys -m 7
 55", "NOMSGLABEL=1", "DL_LDFLAGS=", "BSD_INSTALL_GAME=/usr/bsd/bin/install-sh -c -s -o root -g sys -m 555", "LOWER_OPSYS=irix6.5", "WRAPPER_UPDATE_CACHE=yes", "PKG_CONFIG_LIBDIR=/usr/bsd/var/tmp/lang/perl5/work/.buildlink/lib/pkgconfig", "PTHREAD_LDFLAGS=", "DL_CFLAGS=", "USETOOLS=no", "_PKGSRCDIR=/usr/bsd/src", "BSD_INSTALL_MAN=/usr/bsd/bin/install-sh -c -o root -g sys -m 444", "LINKER_RPATH_FLAG=-rpath", "BSD_INSTALL_MAN_DIR=/usr/bsd/bin/install-sh -d -o root -g sys -m 755", "BSD_INSTALL_LIB=/usr/bsd/bin/install-sh -c -o root -g sys -m 555", "BSD_INSTALL_PROGRAM_DIR=/usr/bsd/bin/install-sh -d -o root -g sys -m 755", "LOGNAME=root", "BSD_INSTALL_SCRIPT_DIR=/usr/bsd/bin/install-sh -d -o root -g sys -m 755", "PTHREAD_LIBS=-lpthread -lrt", "LINK_ALL_LIBGCC_HACK=", "MAKEFLAGS= DIGEST=/usr/bsd/bin/digest DIGEST_VERSION=20050323 LOWER_OPSYS=irix6.5 OPSYS=IRIX OS_VERSION=6.5 PKGTOOLS_VERSION=20050607 PKG_PHASE=build _MAKE=/usr/bsd/bin/bmake _PATH_ORIG=/usr/bsd/sbin:/usr/bsd/bin:/u
 sr/gnu/bin:/usr/freeware/sbin:/usr/freeware/bin:/usr/sbin:/usr/bsd:/sbin:/usr/bin:/etc:/usr/etc:/usr/bin/X11 _PKGSRCDIR=/usr/bsd/src", "MAIL=/usr/mail/root", "PS1=\\u@\\h \\w # ", "X11PREFIX=/usr/bsd", "HOST=octane.cam.zeus.com", "PKGTOOLS_VERSION=20050607", "X11BASE=/usr/X11R6", "USER=root", "LDFLAGS=-Wl,-v -Wl,-s -Wl,-x -n32 -mips4 -rdata_shared -Wl,-allow_jump_at_eop -Wl,-rpath,/usr/bsd/lib -n32 -lmp -L/usr/lib32 -Wl,-rpath,/usr/lib32", "FFLAGS=-O", "DL_LIBS=", "LC_MESSAGES=C", "SHLVL=2", "COMPILER_RPATH_FLAG=-Wl,-rpath,", "LC_CTYPE=C", "MSGVERB=text:action", "BSD_INSTALL_PROGRAM=/usr/bsd/bin/install-sh -c -s -o root -g sys -m 555", "CC=cc", "CXX=CC", "DISPLAY=:0", "SHELL=/bin/tcsh", "HOSTTYPE=iris4d", "BSD_INSTALL_DATA=/usr/bsd/bin/install-sh -c -o root -g sys -m 444", "CPPFLAGS=-I/usr/bsd/include -I/usr/include", "WHOLE_ARCHIVE_FLAG=-Wl,-all", "PTHREAD_CFLAGS= -D_REENTRANT", "DIGEST=/usr/bsd/bin/digest", "NO_WHOLE_ARCHIVE_FLAG=-Wl,-none", "HOME=/root", "CXXFLAGS=-O2 -n3
 2 -mips4 -r12000 -apo -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r12000 -TENV:zeroinit_in_bss=ON -DEFAULT:platform=ip30 -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -woff 1174,1183,1552 -FE:eliminate_duplicate_inline_copies:template_in_elf_section -I/usr/include", "PKG_CONFIG=", "LC_COLLATE=C", "DIGEST_VERSION=20050323", "OPSYS=IRIX", "LC_NUMERIC=C", "FC=f77", "OBJECT_FMT=ELF", "TERM=xterm", "MAKEINFO=/usr/bsd/var/tmp/lang/perl5/work/.tools/bin/makeinfo", "CFLAGS=-c99 -O2 -n32 -mips4 -r12000 -apo -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r12000 -TENV:zeroinit_in_bss=ON -DEFAULT:platform=ip30 -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -woff 1174,1183,1552 -n32 -D_REENTRANT -I/usr/include", "INSTALL_INFO=/usr/bsd/var/tmp/lang/perl5/work/.tools/bin/install-info", "PWD=/usr/bsd/var/tmp/lang/
 perl5/work/perl-5.8.7/lib/unicore", "PTHREADBASE=/usr", "MAKECONF=/dev/null", "TZ=GMT0BST-1,M3.5.0/1,M10.5.0/2", "BSD_INSTALL=/usr/bsd/bin/install-sh", "BSD_INSTALL_SCRIPT=/usr/bsd/bin/install-sh -c -o root -g sys -m 555", "_PATH_ORIG=/usr/bsd/sbin:/usr/bsd/bin:/usr/gnu/bin:/usr/freeware/sbin:/usr/freeware/bin:/usr/sbin:/usr/bsd:/sbin:/usr/bin:/etc:/usr/etc:/usr/bin/X11", "BSD_INSTALL_GAME_DATA=/usr/bsd/bin/install-sh -c -o root -g sys -m 664", "NOMSGSEVERITY=1", "PREFIX=/usr/bsd", "OS_VERSION=6.5", "LOCALBASE=/usr/bsd"]) = 0 <0.001534>
...
168693 02:19:20 xstat(2, "../../lib/File/Spec.pmc", 0x7ffe6b30) = -1 ENOENT (No such file or directory) <0.000144>
168693 02:19:20 open("../../lib/File/Spec.pm", O_RDONLY) = 5 <0.000127>
168693 02:19:20 fxstat(2, 5, {st_dev=makedev(268, 203), st_ino=0, st_mode=S_IFBLK|S_ISUID|S_ISGID|020400244, st_nlink=33060, st_uid=1, st_gid=0, st_blksize=0, st_blocks=1125795030, st_rdev=makedev(0, 0), st_atime=0, st_mtime=0, st_ctime=86/10/10-15:30:00}) = 0 <0.000076>
168693 02:19:20 ioctl(5, TCGETA, 0x7ffe3230) = -1 ENOTTY (Inappropriate I/O control operation) <0.000072>
168693 02:19:20 read(5, "package File::Spec;\n\nuse strict;\nuse vars qw(@ISA $VERSION);\n\n$VERSION = \'3.05\';\n$VERSION = eval $VERSION;\n\nmy %module = (MacOS   => \'Mac\',\n\t      MSWin32 => \'Win32\',\n\t      os2     => \'OS2\',\n\t      VMS     => \'VMS\',\n\t      epoc    => \'Epoc\',\n\t      NetWare => \'Win32\', # Yes, File::Spec::Win32 works on NetWare.\n              dos     => \'OS2\',   # Yes, File::Spec::OS2 works on DJGPP.\n\t      cygwin  => \'Cygwin\');\n\n\nmy $module = $module{$^O} || \'Unix\';\n\nrequire \"File/Spec/$module.pm\";\n@ISA = (\"File::Spec::$module\");\n\n1;\n\n__END__\n\n=head1 NAME\n\nFile::Spec - portably perform operations on file names\n\n=head1 SYNOPSIS\n\n\tuse File::Spec;\n\n\t$x=File::Spec->catfile(\'a\', \'b\', \'c\');\n\nwhich returns \'a/b/c\' under Unix. Or:\n\n\tuse File::Spec::Functions;\n\n\t$x = catfile(\'a\', \'b\', \'c\');\n\n=head1 DESCRIPTION\n\nThis module is designed to support operations commonly performed on file\ns
 pecifications (usually called \"file names\", but not to be"..., 4096) = 4096 <0.000108>
168693 02:19:20 lseek(5, 0, SEEK_CUR)   = 4096 <0.000078>

... and then the build fails with signal 11.

Any clues on how to proceed greatly appreciated!