Subject: Still a challenge: pkgsrc on IRIX 6.5
To: bsd-help (E-Mail) <netbsd-help@netbsd.org>
From: Timo Schoeler <wanker4freedom@web.de>
List: netbsd-help
Date: 03/23/2005 20:03:26
hi,

again i'm fiddling around with pkgsrc on sgi IRIX (my first mail on  
this topic was on March 3rd, [1]).

a short note on my environment:

IRIX 6.5.25m and gcc, make, binutils etc. installed from  
freeware.sgi.com

when trying to use pkgsrc, i run into several 'phenomena'...

to make sure gcc runs fine, i built OpenSSL and OpenSSH 4 just for fun  
on this machine -- runs well :)

next, i checked out pkgsrc and bootstrapped it; yes, bootstrapping  
_works_.

as soon as i try to compile a package, i got a message that the  
compiler cannot build executables... aha. that's new to me :D

-----8<-----8<-----8<-----8<-----8<-----

(...)
=> Checksum SHA1 OK for patch-2.5.4.tar.gz.
=> Checksum RMD160 OK for patch-2.5.4.tar.gz.
===> Extracting for patch-2.5.4nb2
======================================================================== 
==
The following variables will affect the build process of this package,
patch-2.5.4nb2.  Their current value is shown below:

         * GNU_PROGRAM_PREFIX = g

You may want to abort the process now with CTRL-C and change their value
before continuing.  Be sure to run `/usr/pkg/bin/bmake clean' after
the changes.
======================================================================== 
==
===> Patching for patch-2.5.4nb2
/sbin/mv /usr/pkgsrc/devel/patch/work/patch-2.5.4/pch.c  
/usr/pkgsrc/devel/patch/work/patch-2.5.4/pch.c.orig
/usr/bin/nawk '/#include <pch.h>/{print $0 "\n#include  
<sys/param.h>";next;} /^#if HAVE_SETMODE/                                
           {gsub(/^#if HAVE_SETMODE/,"#if defined(HAVE_SETMODE) \\&\\&  
!(defined(BSD) \\&\\& BSD >= 199306) \\&\\& !defined(__INTERIX)");print  
$0; next; }  {print $0;}'                                           <  
/usr/pkgsrc/devel/patch/work/patch-2.5.4/pch.c.orig                      
               > /usr/pkgsrc/devel/patch/work/patch-2.5.4/pch.c
===> Overriding tools for patch-2.5.4nb2
===> Creating toolchain wrappers for patch-2.5.4nb2
===> Configuring for patch-2.5.4nb2
creating cache ./config.cache
checking host system type... mips-sgi-irix6.5
checking for gcc... cc
checking whether the C compiler (cc -O2  -Wl,-R/usr/pkg/lib  
-L/usr/pkg/lib) works... no
configure: error: installation or configuration problem: C compiler  
cannot create executables.
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/devel/patch
===>
===> There was an error during the ``configure'' phase.
===> Please investigate the following for more information:
===>      * config.log
===>      * /usr/pkgsrc/devel/patch/work/.work.log
===>
(...)

-----8<-----8<-----8<-----8<-----8<-----

as the recommendation says, i had a look into .work.log of the package  
that failed:

[*] /usr/pkgsrc/devel/patch/work/.wrapper/bin/cc -o conftest -O2  
-Wl,-R/usr/pkg/lib -L/usr/pkg/lib conftest.c
     (wrapper.sh) append args: -mabi=n32
     (arg-source) push: -o
     (arg-source) push: conftest
     (arg-source) push: -O2
     (arg-source) push: -Wl,-R/usr/pkg/lib
     (arg-source) push: -L/usr/pkg/lib
     (arg-source) push: conftest.c
     (arg-source) push: -mabi=n32
     (logic) pop:  -o
     (logic) push: -o
     (logic) pop:  conftest
     (logic) push: conftest [skipped]
     (logic) pop:  -O2
     (logic) push: -O2
     (logic) pop:  -Wl,-R/usr/pkg/lib
     (logic) push: -Wl,-R/usr/pkg/lib
     (logic) pop:  -L/usr/pkg/lib
     (logic) push: -L/usr/pkg/lib
     (logic) pop:  conftest.c
     (logic) to:   conftest.c [untransformed]
     (logic) push: conftest.c
     (logic) pop:  -mabi=n32
     (logic) push: -mabi=n32
     (cmd-sink) pop: -o
     (cmd-sink) pop: conftest
     (cmd-sink) pop: -O2
     (cmd-sink) pop: -Wl,-R/usr/pkg/lib
     (cmd-sink) pop: -L/usr/pkg/lib
     (cmd-sink) pop: conftest.c
     (cmd-sink) pop: -mabi=n32
<.> /usr/bin/cc -o conftest -O2 -Wl,-R/usr/pkg/lib -L/usr/pkg/lib  
conftest.c -mabi=n32

hm, nothing special in here...?

-----8<-----8<-----8<-----8<-----8<-----

to give the big picture:

O2 200# cat /etc/compiler.defaults
-DEFAULT:abi=n32:isa=mips4:proc=r10k

-----8<-----8<-----8<-----8<-----8<-----

my mk.conf is nearly as bootstrapping built it:

.ifdef BSD_PKG_MK       # begin pkgsrc settings

OPSYS=IRIX
ABI=32
PKG_DBDIR=/var/db/pkg
LOCALBASE=/usr/pkg
FETCH_CMD=/usr/pkg/bin/ftp
PAX=/usr/pkg/bin/pax
SED=/usr/pkg/bin/nbsed
IMAKEOPTS+=-DBuildN32 -DSgiISA32=4

GCC_REQD=3.4

.endif                  # end pkgsrc settings

-----8<-----8<-----8<-----8<-----8<-----

(note: GCC_REQD=3.4 was set because pkgsrc wants to build it's own gcc  
-- well, i don't mind that, but please don't build 2.95, please take  
3.4 ;)

any hints how to get this runnning smoothly are _very_ appreciated.  
thanks in advance!

[1] -- http://mail-index.netbsd.org/netbsd-help/2005/03/03/0002.html

-- 
Timo Schoeler | http://macfinity.net/~tis
//macfinity -- finest IT services | http://macfinity.net
Key fingerprint = F844 51BE C22C F6BD 1196  90B2 EF68 C851 6E12 2D8A

There are 10 types of people in the world. Those who understand binary  
and those who don't.