Gentoo Archives: gentoo-alt

From: Fabian Groffen <grobian@g.o>
To: gentoo-alt@l.g.o
Subject: [gentoo-alt] [PREFIX] bootstrapping on Interix
Date: Sat, 03 May 2008 08:35:47
Message-Id: 20080503083656.GH979@gentoo.org
1 So, I spend some time with Interix again. (I fear I'll have to use
2 Windows not so long from now, so who knows it can save me...)
3
4 I managed to get at point 1.8 in
5 http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-solaris.xml
6
7 Of course the directions there don't entirely match, what I did is this:
8
9 export PATH="$EPREFIX/usr/bin:$EPREFIX/bin:$EPREFIX/tmp/usr/bin:$EPREFIX/tmp/bin:$PATH"
10 ./bootstrap-bash.sh $EPREFIX/tmp
11 (start just bootstrapped bash)
12 export PWD=`pwd` # this works around an annoying getcwd bug
13 ./bootstrap-prefix.sh $EPREFIX/tmp gzip
14 ./bootstrap-prefix.sh $EPREFIX/tmp tar
15 ./bootstrap-prefix.sh $EPREFIX/tmp wget
16 ./bootstrap-prefix.sh $EPREFIX/tmp bzip2
17 ./bootstrap-prefix.sh $EPREFIX/tmp sed
18 ./bootstrap-prefix.sh $EPREFIX tree
19 ./bootstrap-prefix.sh $EPREFIX/tmp coreutils6
20 ./bootstrap-prefix.sh $EPREFIX/tmp patch9
21 ./bootstrap-prefix.sh $EPREFIX/tmp grep
22 ./bootstrap-prefix.sh $EPREFIX/tmp gawk
23 ./bootstrap-prefix.sh $EPREFIX/tmp python
24 ./bootstrap-prefix.sh $EPREFIX/tmp findutils
25 ./bootstrap-prefix.sh $EPREFIX portage # this step isn't working, I need
26 to release a fixed portage for that, but I hacked around it for the
27 moment
28 export LDFLAGS="-L${EPREFIX}/usr/lib -rpath=${EPREFIX}/usr/lib -L${EPREFIX}/lib -rpath=${EPREFIX}/lib"
29 export CPPFLAGS="-I${EPREFIX}/usr/include"
30 emerge --oneshot sed # lots of getcwd errors, doesn't hurt, goes away
31 once bash is emerged
32 emerge --oneshot make
33 env USE="nocxx" emerge --oneshot "<bash-3.2_p33"
34 env USE="-ssl" emerge --oneshot --nodeps wget
35
36 This all takes a few ages to configure and compile, but goes fairly
37 smoothly. At this point we have a patched bash (thanks mduft!) which is
38 quiet, making Portage look good doing its thing.
39 $ emerge --version
40 Portage 2.2.00.9894-prefix (default-prefix/windows/interix/3.5/x86,
41 gcc-3.3, unavailable, 3.5 x86)
42
43 Continuing with step 1.8 where things go wrong:
44 $ emerge --oneshot "<m4-1.4.11"
45 $ emerge --oneshot --nodeps baselayout-prefix
46 $ emerge --oneshot --nodeps flex
47 $ emerge --oneshot --nodeps binutils-config
48 $ emerge --oneshot --nodeps binutils
49 $ emerge --oneshot --nodeps gcc-config
50 $ emerge --oneshot --nodeps gcc
51
52 gcc does not compile:
53 i586-pc-interix3.5-ar rc ./libiberty.a \
54 ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o ./alloca.o ./argv.o ./
55 choose-temp.o ./concat.o ./cp-demint.o ./dyn-string.o ./fdmatch.o ./fibheap.o ./
56 floatformat.o ./fnmatch.o ./fopen_unlocked.o ./getopt.o ./getopt1.o ./getpwd.o .
57 /getruntime.o ./hashtab.o ./hex.o ./lbasename.o ./lrealpath.o ./make-relative-pr
58 efix.o ./make-temp-file.o ./objalloc.o ./obstack.o ./partition.o ./pexecute.o ./
59 physmem.o ./pex-common.o ./pex-one.o ./pex-unix.o ./safe-ctype.o ./sort.o ./spac
60 es.o ./splay-tree.o ./strerror.o ./strsignal.o ./ternary.o ./unlink-if-ordinary.
61 o ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o ./xstrerror.o ./xstr
62 ndup.o ./asprintf.o ./insque.o ./mempcpy.o ./mkstemps.o ./stpcpy.o ./stpncpy.o
63 ./strndup.o ./strverscmp.o ./vasprintf.o
64 i586-pc-interix3.5-ar: error in loading shared libraries
65 libbfd-2.18.so: cannot open shared object file: No such file or directory
66 make[3]: *** [libiberty.a] Error 127
67 make[3]: Leaving directory `/dev/fs/C/GentooPrefixInterix3.5/var/tmp/portage/sys
68 -devel/gcc-4.2.3/work/build/libiberty'
69
70 Great, that also resembles an error I saw when configuring gcc, while
71 trying to run objdump:
72
73 bash-3.2$ objdump
74 objdump: error in loading shared libraries
75 libopcodes-2.18.so: cannot open shared object file: No such file or
76 directory
77
78 That just feels like rpath is messed up for binutils. Now it seems that
79 binutils on Interix doesn't build ld and as, but includes them from the
80 host. That explains why they do work, but fairly any other tool, and
81 libbfd are broken. I cannot find and tool like ldd on Interix, and I
82 haven't tried to compile scanelf, as I wonder if it's ELF at all
83 (binutils says something like: ELF-like)...
84
85 So, for those experts of you, wasn't it a good thing to install
86 binutils? Is there something missing? What is the reason ld and as
87 aren't compiled?
88
89
90 --
91 Fabian Groffen
92 Gentoo on a different level
93 --
94 gentoo-alt@l.g.o mailing list

Replies

Subject Author
RE: [gentoo-alt] [PREFIX] bootstrapping on Interix Duft Markus <Markus.Duft@×××××××.at>