SGI: Development

Prefix-portage from Gentoo on IRIX

... now a viable alternative to NetBSD's pkgsrc.


Despite the effort I've put into using and improving NetBSD's pkgsrc on IRIX over the past 18+ months, I've finally decided to abandon and remove it. It is just too time-consuming to maintain, for two main reasons:

  • The build process is in some ways very basic, and can only handle package upgrades by compiling the new package, then recursively removing all dependencies, then installing the updated package, and then rebuilding all of the packages just removed. This is fine if time-consuming, so long as one of the dependent packages isn't something critical such as libiconv or bash (as the build-system is based around shell-scripts). Given that many builds need tweaks to build correctly on IRIX (and that the Makefile-based packaging system doesn't lend itself to significant modifications of package build processes) this can result in time consuming manual-rebuild of pretty much the entire installation for the sake of one new package;
  • Although I'm sure that developers are making their best efforts, IRIX is very much a minority platform and is definitely suffering from bit-rot. Sadly, many of the packages for which I submitted bugs reports or patches in the distant past are still broken today in the same ways. Generally, the level of interaction with developers is low, and the lack of a readily accessible bug-tracker (pkgsrc' bug-tracking is mailing-list based) is unhelpful.

This has leads me to spend less time maintaining my pkgsrc installations, to the point where a large number of pacakges which won't build out of the box are now in various states of installation or uninstallation, and are in need of an upgrade. I've decided that I can no longer afford the time it would take to fix this.

The main reason for this change of heart is that, after a number of months of work, I now have a portage installation running on a couple of different machines - and it works brilliantly.

(Indeed, the only weird problem is that Xchat works perfectly on my Fuel but crashes whenever any menu item is selected on my Octane, when built from the same source with the same options)

Furthermore, Gentoo ebuilds are easy to modify, it's easy to create overlay repositories for modified packages, and the developers on bugs.gentoo.org are, in general, very responsive!

All that's needed is an IRIX machine with at least 1.5Gb of free disc space, root access only in order to create a dedicated user, and the MIPSpro compiler suite. I have written a custom compiler wrapper (to fix common GNUisms related to compiler-invocation) which is targeted at MIPSpro 7.4.4m, so with previous versions YMMV.

Whilst it should ultimately be possible to package all that's needed to get started into a single unpack-and-run tar archive suitable for any system, there are probably caveats that I've not yet thought of or encountered... so at this stage I've like to ask anyone who thinks they might be interested to PM or email me, and I'll walk you through the initial stages of installation individually.

The Gentoo Prefix project supports running portage on Mac OS X, NetBSD (ironially ;), OpenBSD, Solaris, AIX, HPUX - and there's a fair amount of momentum behind it. Please support Gentoo on IRIX, and help keep this platform relevant for just that little bit longer! :)

(P.S. If anyone's interested in an archive of all the changes and patches I've written for pkgsrc packages then please let me know - I'll likely be erasing these at some point.)

_________________
:1600SW: :O2: :Octane2: :Octane2: :Fuel: :O200:
http://irix-tools.homeunix.net/
I'd be interested in your pkgsrc hacks. There is a fair amount of effort, from what I can tell, behind fixing the pkgsrc infrastructure. If nothing else, it would be a shame to have that work completely lost.

_________________
Principle Over Politics : http://www.ConstitutionParty.org
Hi Chris,

Here's the archive of scripts I wrote and package-level fixes... although many of these may now be outdated. I believe that I also had to hack some of the core .mk files too - but I don't remember which ones or how. Make of this what you will...

Best of luck,

stuart

_________________
:1600SW: :O2: :Octane2: :Octane2: :Fuel: :O200:
http://irix-tools.homeunix.net/
Cool. I'll definitely try this out when my SGI box(es) arrive.

Are you officially a Gentoo developer?

_________________
My computers including Alphas, PA-RISCs, and my :O2+:
Sounds good to me ... but where would a person find the IRIX portage stuff ? Your website has a link to "View Gentoo Tools", but that just gives a 404 error message :-(

Mark

_________________
:Fuel:
Prefix Portage Installation Guide for IRIX

Firstly, you need to decide where your prefix installation will be located: I'd suggest '/opt/gentoo/' (the more obvious '/opt/portage/' looks a little odd for paths such as '/opt/portage/usr/portage/...').

Create this directory, and subdirectory named 'home' within it. Create the user and group 'portage:portage' with UID and GID 250 with the recently-created 'home' directory as their home directory, and then recursively change ownership of the top-level installation directory to 'portage:portage'.

Save the following script as '~portage/.bashrc', altering EPREFIX as necessary:

Code:
EPREFIX="/opt/gentoo"

CHOST="mips-sgi-irix6.5"

PATH="${EPREFIX}/sbin:${EPREFIX}/usr/sbin:\
${EPREFIX}/usr/${CHOST}/bin:\
${EPREFIX}/usr/bin:${EPREFIX}/bin:\
/opt/bin:/usr/local/bin:\
/usr/nekoware/bin:/usr/bsd/bin:\
/usr/nekoware/sbin:/usr/bsd/sbin:$PATH"
export PATH EPREFIX CHOST

LD_LIBRARYN32_PATH="${EPREFIX}/usr/lib:${EPREFIX}/lib:${EPREFIX}/usr/lib/nspr"
export LD_LIBRARYN32_PATH

# This breaks most builds...
#ac_cv_path_RAWCPP="$( which cpp )"
CC="cc"
BUILD_CC="cc"
CXX="CC"
CXXCPP="CC -E"
export CC BUILD_CC CXX CXXCPP # ac_cv_path_RAWCPP

MIPSPRO_DEBUG=0
MIPSPRO_VERBOSE=0
MIPSPRO_PERMISSIVE=0
export MIPSPRO_DEBUG MIPSPRO_VERBOSE MIPSPRO_PERMISSIVE

# This should now all be handled by the IRIX MIPSpro wrapper...
# ... but some builds (such as perl) interrogate these flags directly without
# going via the compiler, so we do need to define them in the environment
# regardless.

common="-O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2"

# cc-1035 is generated when the compiler hits '#error', but by default it
# is treated only as a warning.  This is broken.
common="$common -diag_error 1035"

# There are various problems building C++ code with MIPSpro 7.4.4m compiler
# front-end, which can actually produce incorrect code.  This can be worked-
# around by using the 7.4.3m front-end, which appears not to be affected.
fixcxx="-LANG:std=off:libc_in_namespace_std=off -Zf,_245"

# Comment out the following line to increase C++ compatibility...
unset fixcxx

bsdcompat="-D_BSD_COMPAT"
bsdfull="-D_BSD_TYPES -D_BSD_TIME" # -D_BSD_SIGNALS : Breaks use of <sigaction.h>

quiet="-woff 1174,1183,1185,1552"
ccquiet="${quiet},3968,3970"
# With `-Zf,_245', the higher error numbers aren't set...
if [ -n "$( echo "${fixcxx}" | grep "_245" )" ]; then
cxxquiet="${quiet}"
else
cxxquiet="${ccquiet}"
fi

nowarn="-woff 1009,1014,1110,1116,1188,1204,1230,1233 -Wl,-woff,84,-woff,85"

# Additional options:
# -signed   Make variables of type 'char' default to 'signed char' rather than
#           'unsigned char'
#

CPPFLAGS="${BSDCOMPAT} -I${EPREFIX}/usr/include"
CFLAGS="-c99 ${common} ${ccquiet}"
CXXFLAGS="-J2 ${common} -FE:eliminate_duplicate_inline_copies:template_in_elf_section ${cxxquiet} ${fixcxx}"
LDFLAGS="-Wl,-s,-x,-n32,-mips4,-rdata_shared,-allow_jump_at_eop" # -v
LDFLAGS="${LDFLAGS},-rpath,${EPREFIX}/usr/lib:${EPREFIX}/lib -L${EPREFIX}/usr/lib -L${EPREFIX}/lib"

unset common fixcxx bsdcompat bsdfull quiet ccquiet cxxquiet nowarn
export CPPFLAGS CFLAGS CXXFLAGS LDFLAGS

# Other random fixes...
CONFIG_SHELL="$( which bash )"
export CONFIG_SHELL

gentoopath="${EPREFIX}/usr/share/man:${EPREFIX}/usr/man"
sysman="/usr/catman:/usr/share/man:/usr/share/catman"
optman="/opt/man:/opt/modules/2.2.2.5/man"
sgiman="/usr/freeware/catman:/var/sgi_apache/server/man"
localman="/usr/local/man"
bsdman="/usr/bsd/catman:/usr/bsd/man:/usr/bsd/lib/perl5/man:/usr/bsd/lib/perl5/site_perl/man:/usr/bsd/lib/perl5/vendor_perl/man"
nekoman="/usr/nekoware/man:/usr/nekoware/ssl/man"
MANPATH="$gentoopath:$sysman:$optman:$sgiman:$localman:$bsdman:$nekoman"
#MANFMTCMD="groff -Tascii -man"

export MANPATH # MANFMTCMD
unset gentoopath sysman optman sgiman localman bsdman nekoman

# The 'rs', 'hl' and 'ca' directives don't work as of coreutils-7.1
type -pf dircolors >/dev/null && eval $( dircolors -b | sed 's/rs=[^:]\+:// ; s/:hl=[^:]\+:/:/ ; s/:ca=[^:]\+:/:/' )
alias ls='ls --color=auto -hF'
alias grep='grep --colour'
alias man='PAGER="less" man'

EDITOR="vim"

export EDITOR

XDG_DATA_HOME=/opt/gentoo/usr/share
XDG_DATA_DIRS=/opt/gentoo/usr/share

export XDG_DATA_HOME XDG_DATA_DIRS

# set vi:nowrap

Finally, download the bootstrap script from http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/scripts/bootstrap-prefix.sh?format=txt and the compiler wrapper from http://files.irix-tools.homeunix.net/irix/IRIX-MIPSpro-wrapper.tar.bz2 .

Become your portage user, copy the bootstrap script to your home directory, and extract the IRIX-MIPSpro-wrapper archive to your installation root directory (e.g. 'tar -xjvf IRIX=MIPSpro-wrapper.tar.bz2 -C /opt/gentoo/'). Finally run 'hash -r', and from now on you should be using the compiler wrappers. These are controlled by the MIPSPRO_ * variables - MIPSPRO_VERBOSE=1 will result in copious output regarding what the wrapper is doing, and MIPSPRO_DEBUG=1 will show additional debugging information. Additional options are MIPSPRO_WRAPPER (set to 0 to disable the wrapper entirely, which is highly unrecommended!), MIPSPRO_ALLOWNOSTD (to allow -nostdlib and -nostdinc, which generally break builds: default off), MIPSPRO_MANGLE (to add additional optimisations beyond simply setting library paths: default on), MIPSPRO_INJECT (experimental fix for use of GNU __attribute__s: default off), MIPSPRO_PERMISSIVE (to pass unrecognised options to the compiler even though they're likely GNUisms: default on for now), and MIPSPRO_ABORT (when MIPSPRO_PERMISSIVE is set to 0, the wrapper exits with a failure if an unrecognised option is encountered, rather than silently dropping it: default off).

By default, the wrapper will auto-detect your platform (e.g. "IP30") and CPU (e.g. "r14000"). Other optimisation options default to '-mips4', '-n32', and '-O2' with an Olimit of 8192. These can be overridden with MIPSPRO_ISA, MIPSPRO_ABI, OLIMIT, and MIPSPRO_OPT.

As per the Solaris and Mac OS installation guides, as your portage user now run:

Code:
$ chmod 755 bootstrap-prefix.sh
$ STDPATH="$PATH"
$ export PATH="$EPREFIX/tmp/usr/bin:$EPREFIX/tmp/bin:$PATH"
$ ./bootstrap-prefix.sh $EPREFIX tree

At this point, you may need to apply the flag-o-matic patch from the note at the bottom of this post. In any case, proceed with:

Code:
$ ./bootstrap-prefix.sh $EPREFIX/tmp make
$ ./bootstrap-prefix.sh $EPREFIX/tmp wget
$ ./bootstrap-prefix.sh $EPREFIX/tmp sed
$ ./bootstrap-prefix.sh $EPREFIX/tmp python
$ ./bootstrap-prefix.sh $EPREFIX/tmp coreutils6
$ ./bootstrap-prefix.sh $EPREFIX/tmp findutils
$ ./bootstrap-prefix.sh $EPREFIX/tmp tar15
$ ./bootstrap-prefix.sh $EPREFIX/tmp patch9
$ ./bootstrap-prefix.sh $EPREFIX/tmp grep
$ ./bootstrap-prefix.sh $EPREFIX/tmp gawk
$ ./bootstrap-prefix.sh $EPREFIX/tmp bash
$ ./bootstrap-prefix.sh $EPREFIX portage
$ hash -r
$ USE="-*" emerge --oneshot -v --keep-going sed wget bash baselayout-prefix lzma-utils m4 flex bison coreutils findutils tar grep patch gawk make
$ USE="-*" emerge --oneshot -v --nodeps file
$ FEATURES="-collision-protect" emerge -v --oneshot portage
$ export PATH="$STDPATH"
$ unset STDPATH
$ hash -r
$ rm -r $EPREFIX/tmp/*
$ emerge --sync
$ emerge -uv system
$ emerge -Dev --with-bdeps y system

... which should result in a minimal but working and fully-installed system!

You can now use this as any user by adding "/opt/portage/usr/bin:/opt/portage/bin" to their PATH.

Please note

This initial installation stage may be fragile, or may run into unforeseen problems. Please expect this, but also please don't be disheartened. Simply post any problems here or IM me, and we can sort it out. This setup has worked for me on a couple of different machines, but hasn't received any wider testing. Only mips4 n32 code on R10k+ processors has been tested - o32 may be slighly more compatible with legacy code which resides within certain source-trees still (such as _ctypes/FFI support in Python), whilst 64bit support is untried.

I have pre-built stages available for IP30/R12k, IP30/R14k, and IP35/R14k - although above R10k, the binaries will run happily on any CPU. I plan to assemble and upload these shortly.

There is a file installed to $EPREFIX/home/patches/flag-o-matic.eclass.patch which should be applied (with 'patch -p0') after every sync - without this, builds using "append-flags -L" (notably Python) will fail.

_________________
:1600SW: :O2: :Octane2: :Octane2: :Fuel: :O200:
http://irix-tools.homeunix.net/
Thanks for all the work on this!

I am, however, having troubles finishing the installation as shown. I am on a Origin 300 running 6.5.30 and MIPSPro 7.4.4m

When I attempt to do the first emerges I get

Code:
-bash-3.2$ USE="-*" emerge --oneshot -v --keep-going sed wget bash baselayout-prefix lzma-utils m4 flex bison coreutils findutils tar grep patch gawk make

These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy "dev-lang/perl" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/perl-5.8.8-r6 (masked by: package.mask)
/opt/gentoo/usr/portage/profiles/package.mask:
# Torsten Veller <[email protected]> (28 Jan 2009)
# Masked for testing (#249629)
# https://bugs.gentoo.org/show_bug.cgi?id=79685#c14

- dev-lang/perl-5.8.8-r5 (masked by: missing keyword, invalid: SLOT is undefined)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
(dependency required by "sys-apps/help2man-1.36.4" [ebuild])
(dependency required by "sys-devel/libtool-2.2.6a" [ebuild])
(dependency required by "dev-libs/popt-1.13" [ebuild])
(dependency required by "net-misc/rsync-3.0.5" [ebuild])
(dependency required by "sys-apps/portage-2.2.00.13621" [ebuild])
(dependency required by "sys-apps/baselayout-prefix-1.12.5-r6" [ebuild])
(dependency required by "baselayout-prefix" [argument])

-bash-3.2$


I could overcome the "missing keyword" mask with the package.keywords file, but I can't seem to get around the "invalid SLOT" mask.

Here is the emerge --info, if it would be any help
Code:
-bash-3.2$ emerge --info
Portage 2.2.00.13621-prefix (prefix/irix/6.5/mips, gcc-3.4.6, unavailable, 6.5 IP35)
=================================================================
System uname: IRIX-6.5-IP35-mips-32bit
Timestamp of tree: Tue, 12 May 2009 22:01:37 +0000
app-shells/bash:     4.0_p17-r1
ACCEPT_KEYWORDS="mips-irix ppc-macos sparc-solaris x86-freebsd x86-solaris ~mips-irix ~ppc-macos ~sparc-solaris ~x86-freebsd ~x86-solaris"
CBUILD="mips-sgi-irix6.5"
CFLAGS="-c99 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035 -woff 1174,1183,1185,1552,3968,3970"
CHOST="mips-sgi-irix6.5"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf"
CPPFLAGS=" -I/opt/gentoo/usr/include"
CXXFLAGS="-J2 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035 -FE:eliminate_duplicate_inline_copies:template_in_elf_section -woff 1174,1183,1185,1552,3968,3970 "
DISTDIR="/opt/gentoo/usr/portage/distfiles"
EPREFIX="/opt/gentoo"
FEATURES="collision-protect distlocks fixpackages nostrip parallel-fetch preserve-libs protect-owned sfperms strict test unmerge-orphans userfetch userpriv"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-s,-x,-n32,-mips4,-rdata_shared,-allow_jump_at_eop,-rpath,/opt/gentoo/usr/lib:/opt/gentoo/lib -L/opt/gentoo/usr/lib -L/opt/gentoo/lib"
LINGUAS="en en_GB"
PKGDIR="/opt/gentoo/usr/portage/packages"
PORTAGE_CONFIGROOT="/opt/gentoo/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/opt/gentoo/var/tmp"
PORTDIR="/opt/gentoo/usr/portage"
PORTDIR_OVERLAY="/opt/gentoo/usr/local/portage"
SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix"
USE="X acl ao bash-completion berkdb bzip2 cleartype cracklib crypt cscope dbus esd expat fam gdbm gnutls gtk hal iconv ipv6 ithreads jpeg jpeg2k libnotify lzo midi mips-irix mmap ncurses nls ogg opengl openmp pcre perl png prefix python readline slang spell sqlite sqlite3 ssl svg tcl test threads tiff unicode urandom vim-pager vim-syntax xft xinerama xprint xv zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="IRIX" INPUT_DEVICES="keyboard mouse" KERNEL="IRIX" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB" USERLAND="GNU"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

-bash-3.2$


Any help would be appreciated.

_________________
:0300: :Octane2: :Indy: :0300: <-> :0300:
Could you post this on the wiki, if you haven't already?

_________________
MaXX Desktop
www.maxxdesktop.com
#maxx on Freenode
I spent some more time one this, it looks like the bash that was bootstrapped did not have these patches (that you wrote) applied http://forums.nekochan.net/viewtopic.php?f=15&t=7547&start=15 and was causing a bunch of problems. Pointing the bootstrap scripts at the /usr/nekoware/bin/bash instead of the bootstrap one seems to have fixed the problem, temporarily. I'm not sure that that is the right answer, but I'd really like to get portage up and running.

_________________
:0300: :Octane2: :Indy: :0300: <-> :0300:
bash-3.2 and bash-4.0 should both work on IRIX, so long as they are not compiled above '-O1' (at which points MIPSpro optimisations break it quite badly). This should all be dealt with by the ebuild, though.

What might be happening here is that a recent 'portage' update changed the ebuild semantics from requiring 'EAPI="prefix"' to breaking with a similar error if that directive is present.

If this is the cause of the problem, then either re-syncing portage (from the already-installed binaries) with 'emerge --sync' and/or re-installing the latest portage if the necessary dependencies are present ('USE="-*" FEATURES="-test" emerge --oneshot -v portage') should fix the problem.

(Or, alternatively, the overlay packages I included may now be out of date - try re-downloading http://files.irix-tools.homeunix.net/irix/IRIX-MIPSpro-wrapper.tar.bz2 , which I have just updated, or run 'PORTDIR_OVERLAY="" emerge --oneshot -v =perl-5.8.8-r5' and please let me know if either works)

_________________
:1600SW: :O2: :Octane2: :Octane2: :Fuel: :O200:
http://irix-tools.homeunix.net/
Thanks again! I'm rather excited about getting portage up and running. I've been learning a lot about portage trying to work around these problems, but I still haven't finished the bootstrap yet.

stuart wrote:
bash-3.2 and bash-4.0 should both work on IRIX, so long as they are not compiled above '-O1' (at which points MIPSpro optimisations break it quite badly). This should all be dealt with by the ebuild, though.

What might be happening here is that a recent 'portage' update changed the ebuild semantics from requiring 'EAPI="prefix"' to breaking with a similar error if that directive is present.


It looks like the bootstrap-prefix.sh builds bash with -O2, causing the problem.

stuart wrote:
If this is the cause of the problem, then either re-syncing portage (from the already-installed binaries) with 'emerge --sync' and/or re-installing the latest portage if the necessary dependencies are present ('USE="-*" FEATURES="-test" emerge --oneshot -v portage') should fix the problem.


I can't run emerge --sync as I'm still midway through bootstrapping portage. To do a sync, I need rsync, but rsync depends on baselayout-prefix which is giving me circular dependency problems.

stuart wrote:
(Or, alternatively, the overlay packages I included may now be out of date - try re-downloading http://files.irix-tools.homeunix.net/irix/IRIX-MIPSpro-wrapper.tar.bz2 , which I have just updated, or run 'PORTDIR_OVERLAY="" emerge --oneshot -v =perl-5.8.8-r5' and please let me know if either works)

[/quote]

I went ahead and started again from scratch following your instructions. I downloaded your overlays and bootstrap-prefix.sh fresh. Here are the results

1. Bash built by the bootstrap-prefix.sh is built -O2, so I had to manually link in nekoware bash
2. trying to do the initial emerge reveals a circular dependency in baselayout-prefix.

Code:
-bash-3.2$ USE="-*" emerge --oneshot -v --keep-going sed wget bash baselayout-prefix lzma-utils m4 flex bison coreutils findutils tar grep patch gawk make

These are the packages that would be merged, in order:

Calculating dependencies... done!


[nomerge      ] sys-apps/baselayout-prefix-1.12.5-r6  USE="-prefix-chaining"
[nomerge      ]  sys-apps/portage-2.2.00.13621  USE="-build -doc -epydoc -prefix-chaining (-selinux)" LINGUAS="-pl"
[nomerge      ]   dev-lang/python-2.6.2  USE="-berkdb -build -doc -examples -gdbm (-ipv6) -ncurses -readline -sqlite -ssl -threads -tk -ucs2 -wininst -xml"
[ebuild  N    ]    app-admin/eselect-python-20080925
[ebuild  N    ]     app-admin/eselect-1.0.12  USE="-bash-completion -doc"
[ebuild  N    ]      sys-apps/file-5.03  USE="-python"
[ebuild  N    ]       dev-lang/python-2.6.2  USE="-berkdb -build -doc -examples -gdbm (-ipv6) -ncurses -readline -sqlite -ssl -threads -tk -ucs2 -wininst -xml"

* Error: circular dependencies:

('ebuild', '/', 'app-admin/eselect-python-20080925', 'merge') depends on
('ebuild', '/', 'app-admin/eselect-1.0.12', 'merge') (runtime)
('ebuild', '/', 'sys-apps/file-5.03', 'merge') depends on
('ebuild', '/', 'dev-lang/python-2.6.2', 'merge') (buildtime)
('ebuild', '/', 'app-admin/eselect-1.0.12', 'merge') depends on
('ebuild', '/', 'sys-apps/file-5.03', 'merge') (runtime)
('ebuild', '/', 'dev-lang/python-2.6.2', 'merge') depends on
('ebuild', '/', 'app-admin/eselect-python-20080925', 'merge') (buildtime)

* Note that circular dependencies can often be avoided by temporarily
* disabling USE flags that trigger optional dependencies.
-bash-3.2$

_________________
:0300: :Octane2: :Indy: :0300: <-> :0300:
This sounds like a bug - it happens occasionally... it's worth reporting this at bugs.gentoo.org.

In the meantime, you can edit the ebuilds directly and remove references to the missing packages.

_________________
:1600SW: :O2: :Octane2: :Octane2: :Fuel: :O200:
http://irix-tools.homeunix.net/
I try to install portage but, after creating account, folders and unpack mipspro-wrapper, I have:
Code:
bash-4.0$ source .bashrc
STDPATH="$PATH"
export PATH="$EPREFIX/tmp/usr/bin:$EPREFIX/tmp/bin:$PATH"
$./bootstrap-prefix.sh $EPREFIX tree
* Bootstrapping Gentoo prefixed portage installation using
* host:   mips-sgi-irix6.5
* prefix: /opt/gentoo
* ready to bootstrap tree
* Fetching prefix-overlay-20100323.tar.bz2
http://prefix.gentooexperimental.org/distfiles/prefix-overlay-20100323.tar.bz2: Non-recoverable failure in name resolution
ftp>
nuts wrote:
I try to install portage but, after creating account, folders and unpack mipspro-wrapper, I have:
Code:
* Fetching prefix-overlay-20100323.tar.bz2
http://prefix.gentooexperimental.org/distfiles/prefix-overlay-20100323.tar.bz2: Non-recoverable failure in name resolution
ftp>


Hmm - it looks as if the bootstrap-prefix.sh script has been updated, and is now significantly more sophisticated then when I first wrote the first post... it's well-worth checking the official prefix installation instructions to see if the usage has also changed (check the guides here and take an average of the different platforms to weed-out any system-specific parts!)

I've had a quick look and the hostname resolves, but you may have to edit the script to update the date of the snapshot being fetched (search for ' PV ').

Finally, the latest MIPSpro-wrapper script is available from here - which has a number of very significant fixes compared to earlier versions.

I've also uploaded the latest IRIX-MIPSpro-wrapper , irix-portage-tools (which contains IRIX-ified versions of some standard tools - drop this into a ~/bin/ directory or similar, and ensure it appears early in your $PATH) and irix-portage (which contains all of the configuration and overlay packages customised for IRIX and ready to be dropped directly into place - please note that this contains a home/.bashrc and an etc/make.conf - please customise before overwriting anything important!) to http://files.irix-tools.homeunix.net/irix/ .

_________________
:1600SW: :O2: :Octane2: :Octane2: :Fuel: :O200:
http://irix-tools.homeunix.net/