Discussion:
Chicken and Egg? (was: How to build from scratch w/o install disc)
J. Scott Edwards
2002-10-18 16:36:44 UTC
Permalink
Does this platform run linux? If so it shouldn't be really hard, but if
you don't know how to do porting you shouldn't try anyway. I suggest you
take a look at the contents of the stage 1. Then you should basically run
the portage ebuild manually (execute every step of the portage ebuild by
hand). After that you should be able to use portage. If you are lucky
then everything works and you can become maintainer of yet another gentoo
version. If you have bad luck, you stumble upon misbehaving apps.
Good luck,
Paul
Thanks!! I assume that I can just run emerge --pretend to see what emerge
would have done and then run ebuild directly?
No, not at all, pretend just shows which ebuilds will be merged. You want to
know how things are being merged. For that you can do
cat /usr/portage/sys-apps/portage/portage-2.0.38
If you have no experience in compiling things. Don't try this.
I've run into a snag right at the start. As soon as I try to do the
chroot to get into the gentoo environment, it bus errors. So then I
thought that I would build a statically linked bash. However, when I try
to do that the link fails because glibc apparently can't find some
nss_files routines. In digging around I see that this is apparently a
problem with glibc version 2.0.x.

It sort of seems like I have a circular dependancy now and I'm not sure
where to break in? I have found that if I copy all oi the existing
libraries into the gentoo environment I can chroot into it. Is it
possible to build a new glibc that will statically link in that
environment and then use it to build a new bash?

Thanks
-Scott
Thomas T. Veldhouse
2002-10-18 17:11:34 UTC
Permalink
Why not buld a static bash?

Tom Veldhouse

----- Original Message -----
From: "J. Scott Edwards" <***@xmission.com>
To: <gentoo-***@devrieze.net>
Cc: <gentoo-***@gentoo.org>
Sent: Friday, October 18, 2002 11:36 AM
Subject: [gentoo-user] Chicken and Egg? (was: How to build from scratch w/o
install disc)
Post by J. Scott Edwards
It sort of seems like I have a circular dependancy now and I'm not sure
where to break in? I have found that if I copy all oi the existing
libraries into the gentoo environment I can chroot into it. Is it
possible to build a new glibc that will statically link in that
environment and then use it to build a new bash?
Thanks
-Scott
J. Scott Edwards
2002-10-18 17:36:03 UTC
Permalink
I tried to build a static bash, but my glibc apparently is dynamically
linked and it can't find many _nss_files_xxxx variables, which are
referenced from glibc. Is there some way to force it to use the static
library libnss_files.a? I haven't been able to figure out how to do that.

Thanks
-Scott
Post by Thomas T. Veldhouse
Why not buld a static bash?
Tom Veldhouse
----- Original Message -----
Sent: Friday, October 18, 2002 11:36 AM
Subject: [gentoo-user] Chicken and Egg? (was: How to build from scratch w/o
install disc)
Post by J. Scott Edwards
It sort of seems like I have a circular dependancy now and I'm not sure
where to break in? I have found that if I copy all oi the existing
libraries into the gentoo environment I can chroot into it. Is it
possible to build a new glibc that will statically link in that
environment and then use it to build a new bash?
Thanks
-Scott
_______________________________________________
gentoo-user mailing list
http://lists.gentoo.org/mailman/listinfo/gentoo-user
Aaron Peterson
2002-10-18 17:39:48 UTC
Permalink
Post by J. Scott Edwards
I tried to build a static bash, but my glibc apparently is dynamically
linked and it can't find many _nss_files_xxxx variables, which are
referenced from glibc. Is there some way to force it to use the static
library libnss_files.a? I haven't been able to figure out how to do that.
I'm not sure, but you can find all the libraries a specific program uses
with the command:

ldd <appname>

if you want to copy them and use them...

aaron
Paul de Vrieze
2002-10-18 18:26:10 UTC
Permalink
Post by Aaron Peterson
Post by J. Scott Edwards
I tried to build a static bash, but my glibc apparently is dynamically
linked and it can't find many _nss_files_xxxx variables, which are
referenced from glibc. Is there some way to force it to use the static
library libnss_files.a? I haven't been able to figure out how to do that.
I'm not sure, but you can find all the libraries a specific program uses
ldd <DEFANGED_appname>
if you want to copy them and use them...
aaron
libnss is your user information library. It reads your /etc/passwd file. This
lib is loaded / linked at runtime, so you don't see it with ldd. Bash should
be able to run without it. If you want to know how to do this, take a look at
linuxfromscratch (www.linuxfromscratch.org). It describes acurately how to do
a bootstrap with chroot. Alternatively, you can install the tools from your
original linux in the chroot dir, and incrementally gentoo-ize the tools
(starting from portage)

Paul
--
Paul de Vrieze
Junior Researcher
Mail: ***@cs.kun.nl
Homepage: http://www.devrieze.net
J. Scott Edwards
2002-10-18 20:02:15 UTC
Permalink
I tried the linuxfromscratch (book 4.0) and it fails the same way when I
try to build bash. I think you're right the only way I can get this to
work is to copy the original linux into the chroot dir and incrementally
gentoo-ize it. I did get Python2.2 working on it so hopefully portage
will be happy.

Thanks
-Scott
Post by Paul de Vrieze
Post by Aaron Peterson
Post by J. Scott Edwards
I tried to build a static bash, but my glibc apparently is dynamically
linked and it can't find many _nss_files_xxxx variables, which are
referenced from glibc. Is there some way to force it to use the static
library libnss_files.a? I haven't been able to figure out how to do that.
I'm not sure, but you can find all the libraries a specific program uses
ldd <DEFANGED_appname>
if you want to copy them and use them...
aaron
libnss is your user information library. It reads your /etc/passwd file. This
lib is loaded / linked at runtime, so you don't see it with ldd. Bash should
be able to run without it. If you want to know how to do this, take a look at
linuxfromscratch (www.linuxfromscratch.org). It describes acurately how to do
a bootstrap with chroot. Alternatively, you can install the tools from your
original linux in the chroot dir, and incrementally gentoo-ize the tools
(starting from portage)
Paul
--
Paul de Vrieze
Junior Researcher
Homepage: http://www.devrieze.net
_______________________________________________
gentoo-user mailing list
http://lists.gentoo.org/mailman/listinfo/gentoo-user
Paul de Vrieze
2002-10-18 20:36:04 UTC
Permalink
Post by J. Scott Edwards
I tried the linuxfromscratch (book 4.0) and it fails the same way when I
try to build bash. I think you're right the only way I can get this to
work is to copy the original linux into the chroot dir and incrementally
gentoo-ize it. I did get Python2.2 working on it so hopefully portage
will be happy.
Thanks
-Scott
I hope so too.

What architecture are you actually trying to make gentoo for?

Paul
--
Paul de Vrieze
Junior Researcher
Mail: ***@cs.kun.nl
Homepage: http://www.devrieze.net
J. Scott Edwards
2002-10-20 08:26:42 UTC
Permalink
Post by Paul de Vrieze
Post by J. Scott Edwards
I tried the linuxfromscratch (book 4.0) and it fails the same way when I
try to build bash. I think you're right the only way I can get this to
work is to copy the original linux into the chroot dir and incrementally
gentoo-ize it. I did get Python2.2 working on it so hopefully portage
will be happy.
Thanks
-Scott
I hope so too.
What architecture are you actually trying to make gentoo for?
Well I hope y'all won't stop helping when you find out what it is ;)

It's a Playstation 2. I think dealing with RPM's is a nightmare on x86,
but it's even worse on a PS2, you can't find anything. I really like
Gentoo on x86, so I thought it might not be too hard to use portage on it
(hahahaha) since Gentoo was a source distribution.

But, it's still proving to be quite the battle. I've got emerge running
in a chroot'd directory. It does the sync fine. But when I did 'emerge
system' it complained that it couldn't open cache files for bash-2.05b,
gcc-3.2, etc. I wasn't sure exactly what it wanted so to try to get
around the errors I copied the older cache files to make a cache file for
the newer ones. (I.E. cp bash-2.05a bash-2.05b). But this seems to have
completely fooled it into thinking that the emerge system is completely
finished and it doesn't need to do anything now.

If I try to emerge any of the packages individually (ebuild gcc) I get the
old: "all ebuilds that could satisfy "gcc" have been masked."

So then I tried running the ebuild directly:

ebuild /usr/portage/sys-apps/bash/bash-2.05b-r3.ebuild fetch

which seems to work fine, but when I try to run any of the other phases
Post by Paul de Vrieze
Post by J. Scott Edwards
md5 ;-) bash-2.05a.tar.gz
Traceback (most recent call last):
File "/usr/sbin/ebuild", line 33, in ?
a=portage.doebuild(pargs[0],x,getroot(),debug=debug)
File "/usr/lib/python2.2/site-packages/portage.py", line 1128, in doebuild
return spawn("/usr/sbin/ebuild.sh "+actionmap[mydo],debug)
File "/usr/lib/python2.2/site-packages/portage.py", line 795, in spawn
os.execve(mycommand,myargs,settings.environ())
OSError: [Errno 8] Exec format error

I'm have no idea why the execute fails, the ebuild.sh file is there and
runs by hand.

Then I tried just running the ebuild.sh by hand and it appears to be
getting the wrong working directory because it can't find the files.

Experience is what you get when you didn't get what you wanted ;-)

Thanks
-Scott
Paul de Vrieze
2002-10-20 14:55:49 UTC
Permalink
Post by J. Scott Edwards
Well I hope y'all won't stop helping when you find out what it is ;)
Hell no,
Post by J. Scott Edwards
It's a Playstation 2. I think dealing with RPM's is a nightmare on x86,
but it's even worse on a PS2, you can't find anything. I really like
Gentoo on x86, so I thought it might not be too hard to use portage on it
(hahahaha) since Gentoo was a source distribution.
Good thought. There's nothing wrong with running gentoo on a playstation.
Post by J. Scott Edwards
But, it's still proving to be quite the battle. I've got emerge running
in a chroot'd directory. It does the sync fine. But when I did 'emerge
system' it complained that it couldn't open cache files for bash-2.05b,
gcc-3.2, etc. I wasn't sure exactly what it wanted so to try to get
around the errors I copied the older cache files to make a cache file for
the newer ones. (I.E. cp bash-2.05a bash-2.05b). But this seems to have
completely fooled it into thinking that the emerge system is completely
finished and it doesn't need to do anything now.
If I try to emerge any of the packages individually (ebuild gcc) I get the
old: "all ebuilds that could satisfy "gcc" have been masked."
ebuild /usr/portage/sys-apps/bash/bash-2.05b-r3.ebuild fetch
which seems to work fine, but when I try to run any of the other phases
md5 ;-) bash-2.05a.tar.gz
File "/usr/sbin/ebuild", line 33, in ?
a=portage.doebuild(pargs[0],x,getroot(),debug=debug)
File "/usr/lib/python2.2/site-packages/portage.py", line 1128, in
doebuild return spawn("/usr/sbin/ebuild.sh "+actionmap[mydo],debug)
File "/usr/lib/python2.2/site-packages/portage.py", line 795, in spawn
os.execve(mycommand,myargs,settings.environ())
OSError: [Errno 8] Exec format error
I'm have no idea why the execute fails, the ebuild.sh file is there and
runs by hand.
Then I tried just running the ebuild.sh by hand and it appears to be
getting the wrong working directory because it can't find the files.
Experience is what you get when you didn't get what you wanted ;-)
You get that. For starters. Remove everything in /var/db/pkg this is the list
of installed packages. You don't have any, so remove them. Next run a final
emerge sync, and after this DON'T sync anymore until you got a solution that
will stop emerge from deleting files in your tree (and you got a decent
stage3 finished). Now go to /usr/portage/profiles and make a new profile.
Copy from e.g. the x86-1.4 profile, and review every file in the new
directory. Then make a symlink from this directory to /etc/make.profile (This
is probably what went wrong). Now a normal bootstrap should work. Follow the
steps from the bootstrap script. Some ebuilds you have might need to be
edited to allow for the new "PS2" architecture (specify this in the
/etc/make.profile/make.defaults file).

While building you might come across compilation errors that are caused by the
fact that your system is a PS2. In this case keep the default linux sources
handy, and check which patches are applied (and whether they are PS2
specific). Edit the ebuilds to conditionally apply those patches to the
sources. It's a bit of work, but you'll get a nice system at the end.

Paul
--
Paul de Vrieze
Junior Researcher
Mail: ***@cs.kun.nl
Homepage: http://www.devrieze.net
J. Scott Edwards
2002-10-20 17:22:11 UTC
Permalink
Post by Paul de Vrieze
Post by J. Scott Edwards
Well I hope y'all won't stop helping when you find out what it is ;)
Hell no,
Thanks for all your (and everybody's) help and advice, I really appreciate
it.
Post by Paul de Vrieze
You get that. For starters. Remove everything in /var/db/pkg this is the list
of installed packages. You don't have any, so remove them. Next run a final
emerge sync, and after this DON'T sync anymore until you got a solution that
will stop emerge from deleting files in your tree (and you got a decent
stage3 finished). Now go to /usr/portage/profiles and make a new profile.
Copy from e.g. the x86-1.4 profile, and review every file in the new
directory. Then make a symlink from this directory to /etc/make.profile (This
is probably what went wrong). Now a normal bootstrap should work. Follow the
steps from the bootstrap script. Some ebuilds you have might need to be
edited to allow for the new "PS2" architecture (specify this in the
/etc/make.profile/make.defaults file).
I did that last night, but I did it again this morning just to make sure I
hadn't screwed up somewhere (it was late last night :). I can go through
the bootstrap.sh script one step at a time and everything runs fine until
I get to the emerge $myPORTAGE. Then it gives me the old 'emerge: all
ebuilds that could satisfy ">=sys-apps/portage-2.0.25" have been masked.'
routine.

If I explicitly call the portage .ebuild file 'emerge
/usr/portage/sys-apps/portage/portage-2.0.40.ebuild' then it gets a
similar error as running the ebuild directly:

Calculating dependencies \ ...done!
Post by Paul de Vrieze
Post by J. Scott Edwards
emerge sys-apps/portage-2.0.40 to /
Traceback (most recent call last):
File "/usr/bin/emerge", line 1386, in ?
mydepgraph.merge(mydepgraph.altlist())
File "/usr/bin/emerge", line 937, in merge
retval=portage.doebuild(y,"merge",myroot,edebug)
File "/usr/lib/python2.2/site-packages/portage.py", line 1133, in doebuild
retval=spawn("/usr/sbin/ebuild.sh setup unpack compile install")
File "/usr/lib/python2.2/site-packages/portage.py", line 795, in spawn
os.execve(mycommand,myargs,settings.environ())
OSError: [Errno 8] Exec format error
 ...done!

Are there any tests I can run to see why the os.execve fails?

Thanks again for all of your help.
-Scott
Paul de Vrieze
2002-10-20 18:39:31 UTC
Permalink
Post by J. Scott Edwards
Thanks for all your (and everybody's) help and advice, I really appreciate
it.
You're welcome. Please tell us when it works. Maybe even make a howto port
gentoo ;-)
Post by J. Scott Edwards
I did that last night, but I did it again this morning just to make sure I
hadn't screwed up somewhere (it was late last night :). I can go through
the bootstrap.sh script one step at a time and everything runs fine until
I get to the emerge $myPORTAGE. Then it gives me the old 'emerge: all
ebuilds that could satisfy ">=sys-apps/portage-2.0.25" have been masked.'
routine.
emerge sys-apps/portage-2.0.40 to /
File "/usr/bin/emerge", line 1386, in ?
mydepgraph.merge(mydepgraph.altlist())
File "/usr/bin/emerge", line 937, in merge
retval=portage.doebuild(y,"merge",myroot,edebug)
File "/usr/lib/python2.2/site-packages/portage.py", line 1133, in
doebuild retval=spawn("/usr/sbin/ebuild.sh setup unpack compile install")
File "/usr/lib/python2.2/site-packages/portage.py", line 795, in spawn
os.execve(mycommand,myargs,settings.environ())
OSError: [Errno 8] Exec format error
...done!
Did you add the PS2 keyword to all relevant ebuilds? Also disabling sandbox
from make.conf/make.globals might help getting things on route, as this error
comes from the sandbox. Of course in the end you should make sure the sandbox
runs, but first make things work without.
Post by J. Scott Edwards
Are there any tests I can run to see why the os.execve fails?
Look at portage.py at line 795, and you'll see it's the sandbox

Paul

ps. good luck
--
Paul de Vrieze
Junior Researcher
Mail: ***@cs.kun.nl
Homepage: http://www.devrieze.net
J. Scott Edwards
2002-10-21 04:54:59 UTC
Permalink
Post by Paul de Vrieze
Post by J. Scott Edwards
Thanks for all your (and everybody's) help and advice, I really appreciate
it.
You're welcome. Please tell us when it works. Maybe even make a howto port
gentoo ;-)
If I ever succeed... or I guess I could write a how-not-to port gentoo ;-)
Post by Paul de Vrieze
Did you add the PS2 keyword to all relevant ebuilds? Also disabling sandbox
from make.conf/make.globals might help getting things on route, as this error
comes from the sandbox. Of course in the end you should make sure the sandbox
runs, but first make things work without.
You were right it was the sandbox causing the problem, I took that out and
it ran, at least sort of one time. I was able to do the ebuild of
portage. It printed out a bunch of error messages that worried me
(something about "missing magic files") but it seemed to finish ok. But
then after that the ebuilds would download the sources but it didn't seem
to actually do the compile or install. And it never put the package into
the database so I couldn't get past them. I tried cleaning the portage
out of the /var/db/pkg/ directory and doing it again, but it still won't
rebuild it. It seems like things have gone of wacky now, I'm thinking I
may have to try to restore portage by hand back to the way it was.

Thanks
-Scott
Paul de Vrieze
2002-10-21 07:36:23 UTC
Permalink
Post by J. Scott Edwards
You were right it was the sandbox causing the problem, I took that out and
it ran, at least sort of one time. I was able to do the ebuild of
portage. It printed out a bunch of error messages that worried me
(something about "missing magic files") but it seemed to finish ok. But
then after that the ebuilds would download the sources but it didn't seem
to actually do the compile or install. And it never put the package into
the database so I couldn't get past them. I tried cleaning the portage
out of the /var/db/pkg/ directory and doing it again, but it still won't
rebuild it. It seems like things have gone of wacky now, I'm thinking I
may have to try to restore portage by hand back to the way it was.
Try to install python-2.2 first according to the ebuild recipe. Then just run
ebuild /usr/portage/sys-apps/portage/portage-2.0.41.ebuild package
&>/tmp/portage.log&

And post the contents of this portage.log to the list. If you want to watch
progress either use tail -f or less where you press F to put it into follow
mode.

Paul
--
Paul de Vrieze
Junior Researcher
Mail: ***@cs.kun.nl
Homepage: http://www.devrieze.net
J. Scott Edwards
2002-10-21 17:08:43 UTC
Permalink
Post by Paul de Vrieze
Post by J. Scott Edwards
You were right it was the sandbox causing the problem, I took that out and
it ran, at least sort of one time. I was able to do the ebuild of
portage. It printed out a bunch of error messages that worried me
(something about "missing magic files") but it seemed to finish ok. But
then after that the ebuilds would download the sources but it didn't seem
to actually do the compile or install. And it never put the package into
the database so I couldn't get past them. I tried cleaning the portage
out of the /var/db/pkg/ directory and doing it again, but it still won't
rebuild it. It seems like things have gone of wacky now, I'm thinking I
may have to try to restore portage by hand back to the way it was.
Try to install python-2.2 first according to the ebuild recipe. Then just run
ebuild /usr/portage/sys-apps/portage/portage-2.0.41.ebuild package
&>/tmp/portage.log&
And post the contents of this portage.log to the list. If you want to watch
progress either use tail -f or less where you press F to put it into follow
mode.
It occurred to me this morning that I had tar'd my working directory
yesterday morning, so I've untar'd it and it's doing a diff right now to
see what changed. (The Playstation seems kind of slow for disk I/O.) And
then I'll do the ebuild again with the log.

Thanks
-Scott
J. Scott Edwards
2002-10-22 04:16:00 UTC
Permalink
Post by Paul de Vrieze
Try to install python-2.2 first according to the ebuild recipe. Then just run
ebuild /usr/portage/sys-apps/portage/portage-2.0.41.ebuild package
&>/tmp/portage.log&
And post the contents of this portage.log to the list. If you want to watch
progress either use tail -f or less where you press F to put it into follow
mode.
Paul
This is the log from the install:

Calculating dependencies \>>> Unpacking source...
Post by Paul de Vrieze
Source unpacked.
./create-localdecls
Checking truncate argument type... off_t
Checking libc version... libc.so.6
Checking glibc subversion...
gcc -Wall -c -D_GNU_SOURCE -DPIC -fPIC -D_REENTRANT libsandbox.c
gcc -Wall -c -D_GNU_SOURCE -DPIC -fPIC -D_REENTRANT sandbox_futils.c
gcc -Wall -c -D_GNU_SOURCE -DPIC -fPIC -D_REENTRANT canonicalize.c
ld libsandbox.o sandbox_futils.o canonicalize.o -shared -fPIC -ldl -lc -o libsandbox.so
gcc -Wall -c sandbox.c
gcc sandbox.o sandbox_futils.o -ldl -lc -o sandbox
Post by Paul de Vrieze
Install portage-2.0.40 into /var/tmp/portage/portage-2.0.40/image/ category sys-apps
running install
running build
running build_ext
building 'missingos' extension
warning: install: modules installed to '/var/tmp/portage/portage-2.0.40/image/usr/lib/python2.2/site-packages/', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself
creating build
creating build/temp.linux-mips-2.2
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.2 -c missingos.c -o build/temp.linux-mips-2.2/missingos.o -O3 -pipe
creating build/lib.linux-mips-2.2
gcc -shared build/temp.linux-mips-2.2/missingos.o -o build/lib.linux-mips-2.2/missingos.so
running install_lib
creating /var/tmp/portage/portage-2.0.40/image/usr
creating /var/tmp/portage/portage-2.0.40/image/usr/lib
creating /var/tmp/portage/portage-2.0.40/image/usr/lib/python2.2
creating /var/tmp/portage/portage-2.0.40/image/usr/lib/python2.2/site-packages
copying build/lib.linux-mips-2.2/missingos.so -> /var/tmp/portage/portage-2.0.40/image/usr/lib/python2.2/site-packages
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
/usr/lib/portage/bin/doexe: line 1: /usr/bin/basename: No such file or directory
install: `/var/tmp/portage/portage-2.0.40/temp/' is a directory
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
install -d -m 0755 /var/tmp/portage/portage-2.0.40/image//lib
install -d -m 0755 /var/tmp/portage/portage-2.0.40/image//usr/lib/portage/bin
install -d -m 0755 /var/tmp/portage/portage-2.0.40/image//usr/lib/portage/lib
install -m 0755 libsandbox.so /var/tmp/portage/portage-2.0.40/image//lib
install -m 0755 sandbox /var/tmp/portage/portage-2.0.40/image//usr/lib/portage/bin
install -m 0644 sandbox.bashrc /var/tmp/portage/portage-2.0.40/image//usr/lib/portage/lib
strip:
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
file: couldn't find any magic files!
Post by Paul de Vrieze
Completed installing into /var/tmp/portage/portage-2.0.40/image/
/usr/sbin/ebuild.sh: line 168: einfo: command not found
/usr/sbin/ebuild.sh: line 169: einfo: command not found
/usr/sbin/ebuild.sh: line 170: einfo: command not found

/usr/sbin/ebuild.sh: line 172: einfo: command not found
/usr/sbin/ebuild.sh: line 173: einfo: command not found
/usr/sbin/ebuild.sh: line 174: einfo: command not found
/usr/sbin/ebuild.sh: line 175: einfo: command not found
/usr/sbin/ebuild.sh: line 176: einfo: command not found
/usr/sbin/ebuild.sh: line 177: einfo: command not found


 ...done!
Post by Paul de Vrieze
emerge sys-apps/portage-2.0.40 to /
Merging sys-apps/portage-2.0.40 to /
--- /etc/
Post by Paul de Vrieze
/etc/._cfg0000_make.globals
/etc/._cfg0000_make.conf
--- /etc/etc-update.conf
--- /usr/
--- /usr/lib/
--- /usr/lib/python2.2/
--- /usr/lib/python2.2/site-packages/
Post by Paul de Vrieze
/usr/lib/python2.2/site-packages/missingos.so
/usr/lib/python2.2/site-packages/xpak.py
/usr/lib/python2.2/site-packages/portage.py
/usr/lib/python2.2/site-packages/output.py
--- /usr/lib/portage/
--- /usr/lib/portage/bin/
Post by Paul de Vrieze
/usr/lib/portage/bin/chkcontents
/usr/lib/portage/bin/db-update.py
/usr/lib/portage/bin/dobin
/usr/lib/portage/bin/dodir
/usr/lib/portage/bin/dodoc
/usr/lib/portage/bin/doexe
/usr/lib/portage/bin/dohard
/usr/lib/portage/bin/dohtml
/usr/lib/portage/bin/doinfo
/usr/lib/portage/bin/doins
/usr/lib/portage/bin/dojar
/usr/lib/portage/bin/dolib
/usr/lib/portage/bin/dolib.a
/usr/lib/portage/bin/dolib.so
/usr/lib/portage/bin/doman
/usr/lib/portage/bin/doman.old
/usr/lib/portage/bin/domo
/usr/lib/portage/bin/dopython
/usr/lib/portage/bin/dosbin
/usr/lib/portage/bin/dosed
/usr/lib/portage/bin/dosym
/usr/lib/portage/bin/ebuild
/usr/lib/portage/bin/ebuild.sh
/usr/lib/portage/bin/emake
/usr/lib/portage/bin/emerge
/usr/lib/portage/bin/env-update
/usr/lib/portage/bin/etc-update
/usr/lib/portage/bin/find-packages
/usr/lib/portage/bin/find-requires
/usr/lib/portage/bin/fowners
/usr/lib/portage/bin/fperms
/usr/lib/portage/bin/newbin
/usr/lib/portage/bin/newdoc
/usr/lib/portage/bin/newexe
/usr/lib/portage/bin/newins
/usr/lib/portage/bin/newlib.a
/usr/lib/portage/bin/newlib.so
/usr/lib/portage/bin/newman
/usr/lib/portage/bin/newsbin
/usr/lib/portage/bin/pdb
/usr/lib/portage/bin/pdb.cgi
/usr/lib/portage/bin/pkglist
/usr/lib/portage/bin/pkgmerge
/usr/lib/portage/bin/pkgmerge.new
/usr/lib/portage/bin/pkgname
/usr/lib/portage/bin/prepall
/usr/lib/portage/bin/prepalldocs
/usr/lib/portage/bin/prepallinfo
/usr/lib/portage/bin/prepallman
/usr/lib/portage/bin/prepallstrip
/usr/lib/portage/bin/prepinfo
/usr/lib/portage/bin/preplib
/usr/lib/portage/bin/preplib.so
/usr/lib/portage/bin/prepman
/usr/lib/portage/bin/prepstrip
/usr/lib/portage/bin/queryhost.sh
/usr/lib/portage/bin/quickpkg
/usr/lib/portage/bin/repoman
/usr/lib/portage/bin/testsandbox.sh
/usr/lib/portage/bin/xpak
/usr/lib/portage/bin/tbz2tool
/usr/lib/portage/bin/sandbox
--- /usr/lib/portage/lib/
Post by Paul de Vrieze
/usr/lib/portage/lib/sandbox.bashrc
--- /usr/bin/
--- /usr/sbin/
--- /usr/share/
--- /usr/share/man/
--- /usr/share/man/man1/
Post by Paul de Vrieze
/usr/share/man/man1/chkcontents.1.gz
/usr/share/man/man1/ebuild.1.gz
/usr/share/man/man1/emerge.1.gz
/usr/share/man/man1/etc-update.1.gz
/usr/share/man/man1/pkglist.1.gz
/usr/share/man/man1/pkgsearch.1.gz
--- /usr/share/man/man5/
Post by Paul de Vrieze
/usr/share/man/man5/ebuild.5.gz
/usr/share/man/man5/make.conf.5.gz
/usr/share/man/man5/make.defaults.5.gz
/usr/share/doc/
/usr/share/doc/portage-2.0.40/
/usr/share/doc/portage-2.0.40/ChangeLog.gz
--- /lib/
Post by Paul de Vrieze
/lib/libsandbox.so
--- /var/
--- /var/tmp/
Post by Paul de Vrieze
/var/tmp/.keep
/usr/lib/portage/bin/pmake -> emake
/usr/lib/portage/bin/donewins -> newins
/usr/bin/emerge -> ../lib/portage/bin/emerge
/usr/bin/xpak -> ../lib/portage/bin/xpak
/usr/bin/repoman -> ../lib/portage/bin/repoman
/usr/bin/tbz2tool -> ../lib/portage/bin/tbz2tool
/usr/sbin/pkgmerge -> ../lib/portage/bin/pkgmerge
/usr/sbin/ebuild -> ../lib/portage/bin/ebuild
/usr/sbin/ebuild.sh -> ../lib/portage/bin/ebuild.sh
/usr/sbin/etc-update -> ../lib/portage/bin/etc-update
/usr/sbin/env-update -> ../lib/portage/bin/env-update
Regenerating /etc/ld.so.cache...
sys-apps/portage-2.0.40 merged.
* GNU info directory index is up-to-date.
* IMPORTANT: 2 config files in /etc need updating.
* Type emerge --help config to learn how to update config files.
Paul de Vrieze
2002-10-22 13:09:41 UTC
Permalink
On Tuesday 22 October 2002 06:16, J. Scott Edwards wrote:
<cut>
Post by J. Scott Edwards
file: couldn't find any magic files!
<cut>
Post by J. Scott Edwards
/usr/lib/portage/bin/doexe: line 1: /usr/bin/basename: No such file or
<cut>
Post by J. Scott Edwards
/usr/sbin/ebuild.sh: line 177: einfo: command not found
Make sure that file is installed and working (the file error messages)
That /usr/bin/basename exists (and is in /usr/bin)

I don't know what the einfo error is about though. I guess my portage is too
new. basename comes from sh-utils. file from file.

Paul
--
Paul de Vrieze
Junior Researcher
Mail: ***@cs.kun.nl
Homepage: http://www.devrieze.net
J. Scott Edwards
2002-10-23 04:55:46 UTC
Permalink
Post by Paul de Vrieze
Make sure that file is installed and working (the file error messages)
That /usr/bin/basename exists (and is in /usr/bin)
I don't know what the einfo error is about though. I guess my portage is too
new. basename comes from sh-utils. file from file.
I was able to use emerge to download, compile and install sh-utils. I was
quite excited. However my luck was not as good with file. It boiled down
to doing it by hand, and I can't even get it to make. It gets the
following error:

cd . && aclocal
aclocal: configure.in: 3: macro `AM_INIT_AUTOMAKE' not found in library
aclocal: configure.in: 4: macro `AM_CONFIG_HEADER' not found in library
aclocal: configure.in: 49: macro `AM_CONDITIONAL' not found in library
make: *** [aclocal.m4] Error 1

So I thought perhaps if I installed autoconf it would help, so I ended up
installing libtool. Which wouldn't patch so I installed a new patch, but
it still sat there doing nothing so I installed libtool without the patch.
Then I installed m4 and autoconf, but it still does the same thing.

So I'm not sure where to go from here.

Thanks
-Scott
Paul de Vrieze
2002-10-23 10:52:14 UTC
Permalink
Post by J. Scott Edwards
Post by Paul de Vrieze
Make sure that file is installed and working (the file error messages)
That /usr/bin/basename exists (and is in /usr/bin)
I don't know what the einfo error is about though. I guess my portage is
too new. basename comes from sh-utils. file from file.
I was able to use emerge to download, compile and install sh-utils. I was
quite excited. However my luck was not as good with file. It boiled down
to doing it by hand, and I can't even get it to make. It gets the
cd . && aclocal
Don't aclocal, but immediately run ./configure (possibly without patches).
Post by J. Scott Edwards
So I thought perhaps if I installed autoconf it would help, so I ended up
installing libtool. Which wouldn't patch so I installed a new patch, but
it still sat there doing nothing so I installed libtool without the patch.
Then I installed m4 and autoconf, but it still does the same thing.
The best way is to get them from the original install if nescesarry.

Paul
--
Paul de Vrieze
Junior Researcher
Mail: ***@cs.kun.nl
Homepage: http://www.devrieze.net
J. Scott Edwards
2002-10-23 13:51:07 UTC
Permalink
Post by Paul de Vrieze
Post by J. Scott Edwards
Post by Paul de Vrieze
Make sure that file is installed and working (the file error messages)
That /usr/bin/basename exists (and is in /usr/bin)
I don't know what the einfo error is about though. I guess my portage is
too new. basename comes from sh-utils. file from file.
I was able to use emerge to download, compile and install sh-utils. I was
quite excited. However my luck was not as good with file. It boiled down
to doing it by hand, and I can't even get it to make. It gets the
cd . && aclocal
Don't aclocal, but immediately run ./configure (possibly without patches).
Sorry, I forgot to include my commands, what I did was:

bash2-2.04# ./configure --prefix=/usr --mandir=/usr/share/man \
--datadir=/usr/share/misc --host=mipsel-pc-linux-gnu
bash2-2.04# make

All of this stuff:

cd . && aclocal
aclocal: configure.in: 3: macro `AM_INIT_AUTOMAKE' not found in library
aclocal: configure.in: 4: macro `AM_CONFIG_HEADER' not found in library
aclocal: configure.in: 49: macro `AM_CONDITIONAL' not found in library
make: *** [aclocal.m4] Error 1

was what make spit out. I tried doing a "make file" but it did the same
thing as just "make". I looked through the Makefile to see if there was
someway to keep if from doing aclocal (I have no clue what that even is)
but there was way too much in there for me to figure it out.
Post by Paul de Vrieze
Post by J. Scott Edwards
So I thought perhaps if I installed autoconf it would help, so I ended up
installing libtool. Which wouldn't patch so I installed a new patch, but
it still sat there doing nothing so I installed libtool without the patch.
Then I installed m4 and autoconf, but it still does the same thing.
The best way is to get them from the original install if nescesarry.
I was just shooting in the dark, I thought maybe the original ones were
too out of date or something.
J. Scott Edwards
2002-10-24 14:40:59 UTC
Permalink
I deleted all of the stuff out of the Makefile that it didn't look like I
needed and finally it built. And that did the trick with emerge. I was
able to successfully run emerge portage and the only erros I got were the
"couldn't find einfo" ones, which I think are just from the printing of
warnings in the portage.ebuild file and I don't think will hurt anything.

Thanks
-Scott
Post by J. Scott Edwards
Post by Paul de Vrieze
Post by J. Scott Edwards
Post by Paul de Vrieze
Make sure that file is installed and working (the file error messages)
That /usr/bin/basename exists (and is in /usr/bin)
I don't know what the einfo error is about though. I guess my portage is
too new. basename comes from sh-utils. file from file.
I was able to use emerge to download, compile and install sh-utils. I was
quite excited. However my luck was not as good with file. It boiled down
to doing it by hand, and I can't even get it to make. It gets the
cd . && aclocal
Don't aclocal, but immediately run ./configure (possibly without patches).
bash2-2.04# ./configure --prefix=/usr --mandir=/usr/share/man \
--datadir=/usr/share/misc --host=mipsel-pc-linux-gnu
bash2-2.04# make
cd . && aclocal
aclocal: configure.in: 3: macro `AM_INIT_AUTOMAKE' not found in library
aclocal: configure.in: 4: macro `AM_CONFIG_HEADER' not found in library
aclocal: configure.in: 49: macro `AM_CONDITIONAL' not found in library
make: *** [aclocal.m4] Error 1
was what make spit out. I tried doing a "make file" but it did the same
thing as just "make". I looked through the Makefile to see if there was
someway to keep if from doing aclocal (I have no clue what that even is)
but there was way too much in there for me to figure it out.
Post by Paul de Vrieze
Post by J. Scott Edwards
So I thought perhaps if I installed autoconf it would help, so I ended up
installing libtool. Which wouldn't patch so I installed a new patch, but
it still sat there doing nothing so I installed libtool without the patch.
Then I installed m4 and autoconf, but it still does the same thing.
The best way is to get them from the original install if nescesarry.
I was just shooting in the dark, I thought maybe the original ones were
too out of date or something.
_______________________________________________
gentoo-user mailing list
http://lists.gentoo.org/mailman/listinfo/gentoo-user
J. Scott Edwards
2002-10-25 16:14:40 UTC
Permalink
When I try to emerge glibc (on the Playstation 2) I get a failure when
assembling syscalls.S. I don't believe that it has anything to do with
emerge, however, because if I run the make by hand (following the
./configure and make procedure in the glibc*.ebuild file) it fails in
exactly the same way. The bizarre thing is that if I run the assemble by
hand it works just fine.

Can anyone recommend somewhere I can go for help with it?

Thanks
-Scott
Post by J. Scott Edwards
I deleted all of the stuff out of the Makefile that it didn't look like I
needed and finally it built. And that did the trick with emerge. I was
able to successfully run emerge portage and the only erros I got were the
"couldn't find einfo" ones, which I think are just from the printing of
warnings in the portage.ebuild file and I don't think will hurt anything.
Thanks
-Scott
Paul de Vrieze
2002-10-26 08:53:05 UTC
Permalink
Post by J. Scott Edwards
When I try to emerge glibc (on the Playstation 2) I get a failure when
assembling syscalls.S. I don't believe that it has anything to do with
emerge, however, because if I run the make by hand (following the
./configure and make procedure in the glibc*.ebuild file) it fails in
exactly the same way. The bizarre thing is that if I run the assemble by
hand it works just fine.
Can anyone recommend somewhere I can go for help with it?
Try to get the sources for the original playstation linux version. Also try
google, to find people that are actively developing for playstation. Often
there are small incompatibilities between platforms, or broken compilers.
Simply put, playstation doesn't get as much users/testers as x86 does. So
you'll hit more bugs.

Paul
--
Paul de Vrieze
Junior Researcher
Mail: ***@cs.kun.nl
Homepage: http://www.devrieze.net
J. Scott Edwards
2002-10-27 17:19:36 UTC
Permalink
Post by Paul de Vrieze
Post by J. Scott Edwards
When I try to emerge glibc (on the Playstation 2) I get a failure when
assembling syscalls.S. I don't believe that it has anything to do with
emerge, however, because if I run the make by hand (following the
./configure and make procedure in the glibc*.ebuild file) it fails in
exactly the same way. The bizarre thing is that if I run the assemble by
hand it works just fine.
Can anyone recommend somewhere I can go for help with it?
Try to get the sources for the original playstation linux version. Also try
google, to find people that are actively developing for playstation. Often
there are small incompatibilities between platforms, or broken compilers.
Simply put, playstation doesn't get as much users/testers as x86 does. So
you'll hit more bugs.
Paul
I think you're pychic! ;-)

I found the problem with assembling syscalls.S and it was that
when I emerge 'linux-headers' it overwrites /usr/include/asm with files
for x86. If I copy the original Playstation /usr/include/asm directory
back it assembles syscalls.S ok. I need to find out how to fix the emerge
for linux-headers to get the correct /usr/include/asm files.

Then after that the emerge failed when compiling
sunrpc/rpcsvc/bootparam_prot.x, complaining that the kernel was too old
(the Playstation comes with kernel 2.2.1).

So I downloaded an 2.2.21_pre1 kernel from playstation2-linux.com which
was the newest that they have available. And it fails in the same spot
with a Segmentation Fault. I'm still trying to figure out what is going
on there.

Thanks
-Scott
J. Scott Edwards
2002-10-27 21:02:59 UTC
Permalink
Post by J. Scott Edwards
Then after that the emerge failed when compiling
sunrpc/rpcsvc/bootparam_prot.x, complaining that the kernel was too old
(the Playstation comes with kernel 2.2.1).
So I downloaded an 2.2.21_pre1 kernel from playstation2-linux.com which
was the newest that they have available. And it fails in the same spot
with a Segmentation Fault. I'm still trying to figure out what is going
on there.
Upon further investigation I don't think that the problem has anything to
do with sunrpc stuff. That is just the first time the ld.so program is
run and it seems to Seg Fault if it has any argument at all.

I'm trying to run it with gdb now to see if I can see what the problem is.

Thanks
-Scott

Thomas T. Veldhouse
2002-10-18 17:40:51 UTC
Permalink
Try building with --disable-nls.

Tom Veldhouse

----- Original Message -----
From: "J. Scott Edwards" <***@xmission.com>
To: "Thomas T. Veldhouse" <***@veldy.net>
Cc: <gentoo-***@devrieze.net>; <gentoo-***@gentoo.org>
Sent: Friday, October 18, 2002 12:36 PM
Subject: Re: [gentoo-user] Chicken and Egg? (was: How to build from scratch
w/o install disc)
Post by J. Scott Edwards
I tried to build a static bash, but my glibc apparently is dynamically
linked and it can't find many _nss_files_xxxx variables, which are
referenced from glibc. Is there some way to force it to use the static
library libnss_files.a? I haven't been able to figure out how to do that.
Thanks
-Scott
Post by Thomas T. Veldhouse
Why not buld a static bash?
Tom Veldhouse
----- Original Message -----
Sent: Friday, October 18, 2002 11:36 AM
Subject: [gentoo-user] Chicken and Egg? (was: How to build from scratch w/o
install disc)
Post by J. Scott Edwards
It sort of seems like I have a circular dependancy now and I'm not sure
where to break in? I have found that if I copy all oi the existing
libraries into the gentoo environment I can chroot into it. Is it
possible to build a new glibc that will statically link in that
environment and then use it to build a new bash?
Thanks
-Scott
_______________________________________________
gentoo-user mailing list
http://lists.gentoo.org/mailman/listinfo/gentoo-user
Thomas T. Veldhouse
2002-10-18 17:43:17 UTC
Permalink
more appropriately:

./configure --prefix=/usr/local
(wherever) --enable-static-link --with-curses

Tom Veldhouse

----- Original Message -----
From: "J. Scott Edwards" <***@xmission.com>
To: "Thomas T. Veldhouse" <***@veldy.net>
Cc: <gentoo-***@devrieze.net>; <gentoo-***@gentoo.org>
Sent: Friday, October 18, 2002 12:36 PM
Subject: Re: [gentoo-user] Chicken and Egg? (was: How to build from scratch
w/o install disc)
Post by J. Scott Edwards
I tried to build a static bash, but my glibc apparently is dynamically
linked and it can't find many _nss_files_xxxx variables, which are
referenced from glibc. Is there some way to force it to use the static
library libnss_files.a? I haven't been able to figure out how to do that.
Thanks
-Scott
Post by Thomas T. Veldhouse
Why not buld a static bash?
Tom Veldhouse
----- Original Message -----
Sent: Friday, October 18, 2002 11:36 AM
Subject: [gentoo-user] Chicken and Egg? (was: How to build from scratch w/o
install disc)
Post by J. Scott Edwards
It sort of seems like I have a circular dependancy now and I'm not sure
where to break in? I have found that if I copy all oi the existing
libraries into the gentoo environment I can chroot into it. Is it
possible to build a new glibc that will statically link in that
environment and then use it to build a new bash?
Thanks
-Scott
_______________________________________________
gentoo-user mailing list
http://lists.gentoo.org/mailman/listinfo/gentoo-user
J. Scott Edwards
2002-10-18 19:57:08 UTC
Permalink
That is exactly what I did (except I used --prefix=/lfs).

Thanks
-Scott
Post by Thomas T. Veldhouse
./configure --prefix=/usr/local
(wherever) --enable-static-link --with-curses
Tom Veldhouse
----- Original Message -----
Sent: Friday, October 18, 2002 12:36 PM
Subject: Re: [gentoo-user] Chicken and Egg? (was: How to build from scratch
w/o install disc)
Post by J. Scott Edwards
I tried to build a static bash, but my glibc apparently is dynamically
linked and it can't find many _nss_files_xxxx variables, which are
referenced from glibc. Is there some way to force it to use the static
library libnss_files.a? I haven't been able to figure out how to do that.
Thanks
-Scott
Post by Thomas T. Veldhouse
Why not buld a static bash?
Tom Veldhouse
----- Original Message -----
Sent: Friday, October 18, 2002 11:36 AM
Subject: [gentoo-user] Chicken and Egg? (was: How to build from scratch
w/o
Post by J. Scott Edwards
Post by Thomas T. Veldhouse
install disc)
Post by J. Scott Edwards
It sort of seems like I have a circular dependancy now and I'm not
sure
Post by J. Scott Edwards
Post by Thomas T. Veldhouse
Post by J. Scott Edwards
where to break in? I have found that if I copy all oi the existing
libraries into the gentoo environment I can chroot into it. Is it
possible to build a new glibc that will statically link in that
environment and then use it to build a new bash?
Thanks
-Scott
_______________________________________________
gentoo-user mailing list
http://lists.gentoo.org/mailman/listinfo/gentoo-user
Loading...