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 |