Panabit Support Board!

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10910|回复: 4

请教达人gcc4.2问题。

[复制链接]
发表于 2007-9-23 23:22:37 | 显示全部楼层 |阅读模式
我做panabit的机器同时想跑其他东西,因为感觉光跑这个太浪费了,平时cpu占用都非常低。

我在安装一些软件不成功看说明时,似乎软件不支持gcc 2.9了。
于是我在bsd 4.11下编译安装了gcc-4.2.2_20070905。请问我如何设置/etc/make.conf让gcc 4.2代替系统默认的gcc2.9编译安装ports软件?

在这里先谢谢个位热心的朋友:)
 楼主| 发表于 2007-9-23 23:26:31 | 显示全部楼层
root@pl /usr/local/bin#  /usr/local/bin/gcc42 -v
Using built-in specs.
Target: i386-portbld-freebsd4.11
Configured with: ./..//gcc-4.2-20070905/configure --disable-libgomp --disable-nls --with-system-zlib --with-libiconv-prefix=/usr/local --with-gmp=/usr/local --program-suffix=42 --libdir=/usr/local/lib/gcc-4.2.2 --with-gxx-include-dir=/usr/local/lib/gcc-4.2.2/include/c++/ --disable-libgcj --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc42 i386-portbld-freebsd4.11
Thread model: posix
gcc version 4.2.2 20070905 (prerelease)

我猜测在/etc/make.conf中改变 CC 等设置应该可以,但是不确定具体如何改。希望各位指点下。
 楼主| 发表于 2007-9-23 23:37:21 | 显示全部楼层
我 把 CC=/usr/local/bin/gcc42 CXX=/usr/local/bin/g++42 加到/etc/make.conf, 编译lighttpd时仍然出错误。



(cd .libs && rm -f mod_fastcgi.la && ln -s ../mod_fastcgi.la mod_fastcgi.la)
/bin/sh /usr/local/bin/libtool --tag=CC    --mode=compile /usr/local/bin/gcc42 -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/usr/local/lib/lighttpd\"" -DSBIN_DIR="\"/usr/local/sbin\"" -I. -I..    -D_REENTRANT -D__EXTENSIONS__ -I/usr/include -DOPENSSL_NO_KRB5 -I/usr/local/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES  -O -pipe -march=pentiumpro -I/usr/local/include -Wall -W -Wshadow -pedantic -std=gnu99 -MT mod_extforward.lo -MD -MP -MF .deps/mod_extforward.Tpo -c -o mod_extforward.lo mod_extforward.c
/usr/local/bin/gcc42 -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/usr/local/lib/lighttpd\" -DSBIN_DIR=\"/usr/local/sbin\" -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/usr/include -DOPENSSL_NO_KRB5 -I/usr/local/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -O -pipe -march=pentiumpro -I/usr/local/include -Wall -W -Wshadow -pedantic -std=gnu99 -MT mod_extforward.lo -MD -MP -MF .deps/mod_extforward.Tpo -c mod_extforward.c  -fPIC -DPIC -o .libs/mod_extforward.o
In file included from mod_extforward.c:9:
/usr/include/netinet/in.h:235: error: expected specifier-qualifier-list before 'in_addr_t'
/usr/include/netinet/in.h:287: error: expected specifier-qualifier-list before 'u_char'
In file included from /usr/include/netinet/in.h:493,
                 from mod_extforward.c:9:
/usr/include/netinet6/in6.h:122: error: expected specifier-qualifier-list before 'u_int8_t'
/usr/include/netinet6/in6.h:144: error: expected specifier-qualifier-list before 'u_int8_t'
/usr/include/netinet6/in6.h:612: error: expected ';', ',' or ')' before '*' token
/usr/include/netinet6/in6.h:614: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
/usr/include/netinet6/in6.h:615: error: expected declaration specifiers or '...' before 'u_int8_t'
/usr/include/netinet6/in6.h:616: error: expected declaration specifiers or '...' before 'u_int8_t'
/usr/include/netinet6/in6.h:631: error: expected declaration specifiers or '...' before 'u_int8_t'
/usr/include/netinet6/in6.h:631: error: expected declaration specifiers or '...' before 'u_int8_t'
/usr/include/netinet6/in6.h:636: error: expected declaration specifiers or '...' before 'u_int8_t'
/usr/include/netinet6/in6.h:638: error: expected declaration specifiers or '...' before 'u_int8_t'
mod_extforward.c: In function 'mod_extforward_uri_handler':
mod_extforward.c:354: error: 'struct sockaddr_in' has no member named 'sin_addr'
mod_extforward.c:404: error: 'struct sockaddr_in' has no member named 'sin_addr'
mod_extforward.c:405: error: 'struct sockaddr_in' has no member named 'sin_addr'
mod_extforward.c:383: warning: unused variable 'addrs_left'
*** Error code 1

Stop in /usr/ports/www/lighttpd/work/lighttpd-1.4.18/src.
*** Error code 1

Stop in /usr/ports/www/lighttpd/work/lighttpd-1.4.18.
*** Error code 1

Stop in /usr/ports/www/lighttpd/work/lighttpd-1.4.18.
*** Error code 1

Stop in /usr/ports/www/lighttpd.
*** Error code 1

Stop in /usr/ports/www/lighttpd.

请问各位有什么办法解决?
 楼主| 发表于 2007-9-23 23:48:21 | 显示全部楼层
Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  CXXCPP      C++ preprocessor
  F77         Fortran 77 compiler command
  FFLAGS      Fortran 77 compiler flags
  PKG_CONFIG  path to pkg-config utility
  FAM_CFLAGS  C compiler flags for FAM, overriding pkg-config
  FAM_LIBS    linker flags for FAM, overriding pkg-config
  XML_CFLAGS  C compiler flags for XML, overriding pkg-config
  XML_LIBS    linker flags for XML, overriding pkg-config
  SQLITE_CFLAGS
              C compiler flags for SQLITE, overriding pkg-config
  SQLITE_LIBS linker flags for SQLITE, overriding pkg-config
  LUA_CFLAGS  C compiler flags for LUA, overriding pkg-config
  LUA_LIBS    linker flags for LUA, overriding pkg-config

这个是 ./configure列出的帮助的一部分。

-r-xr-xr-x  4 root  wheel    171K Sep 24 00:12 c++42
-rwxr-xr-x  1 root  wheel    170K Sep 24 00:12 cpp42
-r-xr-xr-x  4 root  wheel    171K Sep 24 00:12 g++42
-r-xr-xr-x  3 root  wheel    169K Sep 24 00:12 gcc42
-r-xr-xr-x  1 root  wheel     15K Sep 24 00:12 gccbug42
-r-xr-xr-x  1 root  wheel     24K Sep 24 00:12 gcov42
-r-xr-xr-x  2 root  wheel    172K Sep 24 00:12 gfortran42
-r-xr-xr-x  4 root  wheel    171K Sep 24 00:12 i386-portbld-freebsd4.11-c++42
-r-xr-xr-x  4 root  wheel    171K Sep 24 00:12 i386-portbld-freebsd4.11-g++42
-r-xr-xr-x  3 root  wheel    169K Sep 24 00:12 i386-portbld-freebsd4.11-gcc42
-r-xr-xr-x  2 root  wheel    172K Sep 24 00:12 i386-portbld-freebsd4.11-gfortran42
这个是安装gcc42后的相关2进制文件。

似乎用到了  CC        C compiler command , CPP         C preprocessor, CXX         C++ compiler command, CXXCPP      C++ preprocessor,  F77         Fortran 77 compiler command。 不知道都对应那些文件?
发表于 2007-9-24 10:27:26 | 显示全部楼层
原帖由 hurd 于 2007-9-23 23:48 发表
Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L if you have libraries in a
              nonstandar ...

你的这个问题到www.freebsdchina.org里估计会更好一些,这里可能没有人熟悉。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|北京派网软件有限公司 ( ICP备案序号:京ICP备14008283号 )

GMT+8, 2024-11-23 18:27 , Processed in 0.071282 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表