Page 1 of 1

[SOLVED][gcc]configure: error: C compiler cannot create

Posted: Fri Jan 28, 2011 3:18 pm
by Jacekalex
Witam

Co to może być.
Od sierpnia zeszłego roku mam Gentoo ze stage hardened, na standardowym kernelu -wszystko działa podręcznikowo niemal.

Ale ponieważ wziąłem hardened, żeby poznać dokładnie najmocniejsze zabezpieczenia Linuxa, przyszedł czas, żeby poznać grsecurity i paxa.
Polityki ACL grsecurity jeszcze nie mam włączonej, dopiero uczę się ją projektować, żeby to miało ręce i nogi, bo z generowania Learning Mode wyszła niezła kaszana z toną błędów.

I od kiedy mam kernel z grsecurity, bardzo często widzę komunikat:

Code: Select all

configure: error: C compiler cannot create executables
Tutaj potrzebowałem php 5.2.17

Code: Select all

checking for i686-pc-linux-gnu-cc... no
checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
checking whether the C compiler works... no
configure: error: in `/var/tmp/portage/dev-lang/php-5.2.17/work/sapis-build/cli':
configure: error: C compiler cannot create executables
Co ciekawsze, nie ma na to reguły, np pół godziny temu miałem taki komunikat z php, teraz się kompiluje.
Logów kilka ton, ale ani śladu aktywności grsecurity lub paxa względem skryptów portage czy gcc.

Próbowałem postawić system serwerowy z chroota, na drugiej partycji, - logów było pełno, tam ten błąd występował, ale to mnie nie zdziwiło,skoro grsec ma pancerną ochronę chroota, dokładnie tego się spodziewałem.

Tylko że zaczął występować również w systemie głównym, w portage, a to już zbyt wesołe nie jest.

Co do grsec:

Code: Select all

16:16:05 /root 
root  # zegrep -i 'grkern|pax' /proc/config.gz 
CONFIG_GRKERNSEC=y
# CONFIG_GRKERNSEC_LOW is not set
# CONFIG_GRKERNSEC_MEDIUM is not set
# CONFIG_GRKERNSEC_HIGH is not set
CONFIG_GRKERNSEC_CUSTOM=y
CONFIG_GRKERNSEC_KMEM=y
CONFIG_GRKERNSEC_VM86=y
# CONFIG_GRKERNSEC_IO is not set
CONFIG_GRKERNSEC_PROC_MEMMAP=y
CONFIG_GRKERNSEC_BRUTE=y
CONFIG_GRKERNSEC_MODHARDEN=y
CONFIG_GRKERNSEC_HIDESYM=y
# CONFIG_GRKERNSEC_NO_RBAC is not set
CONFIG_GRKERNSEC_ACL_HIDEKERN=y
CONFIG_GRKERNSEC_ACL_MAXTRIES=3
CONFIG_GRKERNSEC_ACL_TIMEOUT=30
CONFIG_GRKERNSEC_PROC=y
# CONFIG_GRKERNSEC_PROC_USER is not set
CONFIG_GRKERNSEC_PROC_USERGROUP=y
CONFIG_GRKERNSEC_PROC_GID=100
CONFIG_GRKERNSEC_PROC_ADD=y
CONFIG_GRKERNSEC_LINK=y
CONFIG_GRKERNSEC_FIFO=y
CONFIG_GRKERNSEC_ROFS=y
CONFIG_GRKERNSEC_CHROOT=y
CONFIG_GRKERNSEC_CHROOT_MOUNT=y
CONFIG_GRKERNSEC_CHROOT_DOUBLE=y
CONFIG_GRKERNSEC_CHROOT_PIVOT=y
CONFIG_GRKERNSEC_CHROOT_CHDIR=y
CONFIG_GRKERNSEC_CHROOT_CHMOD=y
CONFIG_GRKERNSEC_CHROOT_FCHDIR=y
CONFIG_GRKERNSEC_CHROOT_MKNOD=y
CONFIG_GRKERNSEC_CHROOT_SHMAT=y
CONFIG_GRKERNSEC_CHROOT_UNIX=y
CONFIG_GRKERNSEC_CHROOT_FINDTASK=y
CONFIG_GRKERNSEC_CHROOT_NICE=y
CONFIG_GRKERNSEC_CHROOT_SYSCTL=y
CONFIG_GRKERNSEC_CHROOT_CAPS=y
CONFIG_GRKERNSEC_AUDIT_GROUP=y
CONFIG_GRKERNSEC_AUDIT_GID=1007
CONFIG_GRKERNSEC_EXECLOG=y
CONFIG_GRKERNSEC_RESLOG=y
CONFIG_GRKERNSEC_CHROOT_EXECLOG=y
CONFIG_GRKERNSEC_AUDIT_PTRACE=y
CONFIG_GRKERNSEC_AUDIT_CHDIR=y
CONFIG_GRKERNSEC_AUDIT_MOUNT=y
CONFIG_GRKERNSEC_SIGNAL=y
CONFIG_GRKERNSEC_FORKFAIL=y
CONFIG_GRKERNSEC_TIME=y
CONFIG_GRKERNSEC_PROC_IPADDR=y
CONFIG_GRKERNSEC_EXECVE=y
CONFIG_GRKERNSEC_DMESG=y
CONFIG_GRKERNSEC_HARDEN_PTRACE=y
CONFIG_GRKERNSEC_TPE=y
CONFIG_GRKERNSEC_TPE_ALL=y
CONFIG_GRKERNSEC_TPE_INVERT=y
CONFIG_GRKERNSEC_TPE_GID=100
CONFIG_GRKERNSEC_RANDNET=y
CONFIG_GRKERNSEC_BLACKHOLE=y
CONFIG_GRKERNSEC_SOCKET=y
CONFIG_GRKERNSEC_SOCKET_ALL=y
CONFIG_GRKERNSEC_SOCKET_ALL_GID=1204
CONFIG_GRKERNSEC_SOCKET_CLIENT=y
CONFIG_GRKERNSEC_SOCKET_CLIENT_GID=1203
CONFIG_GRKERNSEC_SOCKET_SERVER=y
CONFIG_GRKERNSEC_SOCKET_SERVER_GID=1202
CONFIG_GRKERNSEC_SYSCTL=y
CONFIG_GRKERNSEC_SYSCTL_ON=y
CONFIG_GRKERNSEC_FLOODTIME=10
CONFIG_GRKERNSEC_FLOODBURST=10
# PaX
CONFIG_PAX_ENABLE_PAE=y
CONFIG_PAX=y
# PaX Control
CONFIG_PAX_SOFTMODE=y
CONFIG_PAX_EI_PAX=y
CONFIG_PAX_PT_PAX_FLAGS=y
# CONFIG_PAX_NO_ACL_FLAGS is not set
CONFIG_PAX_HAVE_ACL_FLAGS=y
# CONFIG_PAX_HOOK_ACL_FLAGS is not set
# CONFIG_PAX_NOEXEC is not set
CONFIG_PAX_ASLR=y
CONFIG_PAX_RANDKSTACK=y
CONFIG_PAX_RANDUSTACK=y
CONFIG_PAX_RANDMMAP=y
CONFIG_PAX_MEMORY_SANITIZE=y
# CONFIG_PAX_MEMORY_UDEREF is not set
CONFIG_PAX_REFCOUNT=y
CONFIG_PAX_USERCOPY=y
A tutaj emerge-info.

Pozdrawiam
8)

Posted: Fri Jan 28, 2011 8:55 pm
by lsdudi
a właściwe masz gcc?

Code: Select all

gcc-config -l
aktywne masz z gwiazdką a jak nie masz to ustaw

Posted: Sat Jan 29, 2011 5:29 am
by Jacekalex
Wynik:
[1] i686-pc-linux-gnu-4.4.4
[2] i686-pc-linux-gnu-4.4.4-hardenednopie
[3] i686-pc-linux-gnu-4.4.4-hardenednopiessp
[4] i686-pc-linux-gnu-4.4.4-hardenednossp
[5] i686-pc-linux-gnu-4.4.4-vanilla
[6] i686-pc-linux-gnu-4.5.1 *
[7] i686-pc-linux-gnu-4.5.1-hardenednopie
[8] i686-pc-linux-gnu-4.5.1-hardenednopiessp
[9] i686-pc-linux-gnu-4.5.1-hardenednossp
[10] i686-pc-linux-gnu-4.5.1-vanilla
Komunikat pojawia się przy około 75% kompilacjach ręcznie wykonanych, i około 25 - 30 wykonywanych przez emergr, ebuild, itp.

Ręcznie kompiluje zazwyczaj exploity, które potem testuję.
Co ciekawe - pojedyncze pliki się kompilują zawsze

Code: Select all

cc plik.c -o plik
kłopot pojawia się, kiedy skrypt ./configure, make lub jakiś inny sprawdza zależności.

Code: Select all

cc -v
Using built-in specs.
COLLECT_GCC=/usr/i686-pc-linux-gnu/gcc-bin/4.5.1/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-linux-gnu/4.5.1/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.5.1-r1/work/gcc-4.5.1/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.5.1 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.1 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.1/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.1/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --disable-fixed-point --without-ppl --without-cloog --disable-lto --enable-nls --without-included-gettext --with-system-zlib --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --enable-esp --enable-libgomp --enable-cld --with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.5.1/python --enable-checking=release --disable-libgcj --with-arch=i686 --enable-languages=c,c++ --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo Hardened 4.5.1-r1 p1.4, pie-0.4.5'
Thread model: posix
gcc version 4.5.1 (Gentoo Hardened 4.5.1-r1 p1.4, pie-0.4.5) 
Na wersji:

Code: Select all

[1] i686-pc-linux-gnu-4.4.4
te same objawy.

EDYTA:
Od jakiegoś czasu problem nie występuje, zniknął samoistnie, dlaczego -pojęcia nie mam.

Pozdrawiam
8)