+ -
当前位置:首页 → 问答吧 → (已解决)威盛via c3处理器安装gentoo问题

(已解决)威盛via c3处理器安装gentoo问题

时间:2009-10-17

来源:互联网

最近弄了台低功耗的mini itx主机,处理器是威盛via c3 800采用samuel 2核心,属于586不支持i686发行版。下了gentoo最新minimal安装cd和i486的stage3安装成功,在gentoo系统下emerge安装软件出错无法完成编译,提示编译出错。尝试安装盘启动,chroot到新安装的gentoo下再emerge安装软件,也是一样的错误。不知何解?出错信息忘了保存。

之前安装了debian速度很慢,后来安装了slackware用huge.s内核速度还可以。

Safe Cflags
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=c3 -m3dnow -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

作者: hujy   发布时间: 2009-10-17

按http://en.gentoo-wiki.com/wiki/Safe_Cflags/Via, 楼主的是对的。但如果装的是i486, 改成上面的safe cflags后重新编译了系统没有? 如果没有会出错吧, 不可能用i486的瓶子装i586的酒.

$ sudo emerge -e system

作者: cliffordli   发布时间: 2009-10-17

分析的有道理,c3性能很低emerge -e system很费时间,抽空再试一次。

作者: hujy   发布时间: 2009-10-17

其实可以在快一点的机里面建个目录, chroot后装在这个目录里面。之后再tar 过去,又快又省事。

有一点要注意的是这个目录里面的/etc/make.conf要和目标机的写得一样。

作者: cliffordli   发布时间: 2009-10-18

在chroot环境emerge -e system
第一个portage很顺利,第二个zlib就出错了,问题还是一样。
出错信息见截图
上传的图像
error.JPG (41.4 KB, 12 次查看)

作者: hujy   发布时间: 2009-10-18

把布build.log 放出来.看看

建议这个机器还是玩debian把,cpu太低.emerge 太费劲了.折磨人.如果非要搞,就用虚拟机在性能好点机器上编译一套,然后每天rsync

作者: limutian   发布时间: 2009-10-18

因为性能差所以想装gentoo,整机功耗不到40w整晚开机编译用不了多少电。现在装了slackware 13,感觉还是慢,板载泰鼎显卡8M显存,接19寸宽屏lcd移动窗口都有些延迟。还是xp sp3下速度快些,但受限于显卡驱动上不了宽屏分辨率。看来只能用puppy等迷你发行版了。

作者: hujy   发布时间: 2009-10-18

zlib的build.log,好像是gcc版本缘故

>>> Unpacking source...
>>> Unpacking zlib-1.2.3.tar.bz2 to /var/tmp/portage/sys-libs/zlib-1.2.3-r1/work
[32;01m*[0m Applying zlib-1.2.3-build.patch ...
[A[120C [34;01m[ [32;01mok[34;01m ][0m
[32;01m*[0m Applying zlib-1.2.3-visibility-support.patch ...
[A[120C [34;01m[ [32;01mok[34;01m ][0m
[32;01m*[0m Applying zlib-1.2.1-glibc.patch ...
[A[120C [34;01m[ [32;01mok[34;01m ][0m
[32;01m*[0m Applying zlib-1.2.1-build-fPIC.patch ...
[A[120C [34;01m[ [32;01mok[34;01m ][0m
[32;01m*[0m Applying zlib-1.2.1-configure.patch ...
[A[120C [34;01m[ [32;01mok[34;01m ][0m
[32;01m*[0m Applying zlib-1.2.1-fPIC.patch ...
[A[120C [34;01m[ [32;01mok[34;01m ][0m
[32;01m*[0m Applying zlib-1.2.3-r1-bsd-soname.patch ...
[A[120C [34;01m[ [32;01mok[34;01m ][0m
[32;01m*[0m Applying zlib-1.2.3-LDFLAGS.patch ...
[A[120C [34;01m[ [32;01mok[34;01m ][0m
[32;01m*[0m Applying zlib-1.2.3-mingw-implib.patch ...
[A[120C [34;01m[ [32;01mok[34;01m ][0m
>>> Source unpacked in /var/tmp/portage/sys-libs/zlib-1.2.3-r1/work
>>> Compiling source in /var/tmp/portage/sys-libs/zlib-1.2.3-r1/work/zlib-1.2.3 ...
Checking for shared library support...
No shared library support; try without defining CC and CFLAGS
Building static library libz.a version 1.2.3 with i586-pc-linux-gnu-gcc.
Checking for unistd.h... No.
Checking for attribute(visibility) support... No.
Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()
Checking for snprintf() in stdio.h... No.
WARNING: snprintf() not found, falling back to sprintf(). zlib
can build but will be open to possible buffer-overflow security
vulnerabilities.
Checking for return value of sprintf()... No.
WARNING: apparently sprintf() does not return a value. zlib
can build but will be open to possible string-format security
vulnerabilities.
Checking for errno.h... No.
Checking for mmap support... No.
make -j2
i586-pc-linux-gnu-gcc -march=c3 -m3dnow -O2 -pipe -fomit-frame-pointer -DNO_snprintf -DHAS_sprintf_void -DNO_ERRNO_H -c -o example.o example.c
i586-pc-linux-gnu-gcc: No such file or directory
make: *** [example.o] Error 1
[31;01m*[0m
[31;01m*[0m ERROR: sys-libs/zlib-1.2.3-r1 failed.
[31;01m*[0m Call stack:
[31;01m*[0m ebuild.sh, line 49: Called src_compile
[31;01m*[0m environment, line 2546: Called die
[31;01m*[0m The specific snippet of code:
[31;01m*[0m emake || die
[31;01m*[0m The die message:
[31;01m*[0m (no error message)
[31;01m*[0m
[31;01m*[0m If you need support, post the topmost build error, and the call stack if relevant.
[31;01m*[0m A complete build log is located at '/var/tmp/portage/sys-libs/zlib-1.2.3-r1/temp/build.log'.
[31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/sys-libs/zlib-1.2.3-r1/temp/environment'.
[31;01m*[0m
上传的附件
build.log.txt (2.8 KB, 0 次查看)

作者: hujy   发布时间: 2009-10-18

找到问题所在了
# cd /usr/i486-pc-linux-gnu/gcc-bin/4.3.2
# ln -s i486-pc-linux-gnu-c++ i586-pc-linux-gnu-c++
# ln -s i486-pc-linux-gnu-cpp i586-pc-linux-gnu-cpp
# ln -s i486-pc-linux-gnu-g++ i586-pc-linux-gnu-g++
# ln -s i486-pc-linux-gnu-gcc i586-pc-linux-gnu-gcc
# ln -s i486-pc-linux-gnu-gcc i586-pc-linux-gnu-gcc-4.3.2
# ln -s i486-pc-linux-gnu-gfortran i586-pc-linux-gnu-gfortran
之后可以编译了

作者: hujy   发布时间: 2009-10-18