sbcl-1.0.31 relocation X86_64_32S

Я хочу установить sbcl-1.0.31 на мою Hardened Gentoo, но возникает странная проблема.

Т.к. sbcl-1.0.31 требует vanilla компилятора, то я сделал небольшой хак. Код ниже я поместил в файл:
/etc/portage/env/dev-lisp/sbcl

pre_pkg_setup () {
	gcc-config 3
	source /etc/profile
}

pre_src_compile () {
	local sbcl_bin="${WORKDIR}"/sbcl-binary/src/runtime/sbcl
	paxctl -c "${sbcl_bin}"
	paxctl -p -e -m -r -x -s "${sbcl_bin}"
}

post_pkg_postinst () {
	gcc-config 1
	source /etc/profile	
}

Запустив процесс установки

# emerge -av sbcl

я получаю ошибку:

/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/../../../../x86_64-pc-linux-gnu/bin/ld: x86-64-assem.o: relocation R_X86_64_32S against `all_threads' can not be used when making a shared object; recompile with -fPIC
x86-64-assem.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [sbcl] Error 1
make: Leaving directory `/var/tmp/portage/dev-lisp/sbcl-1.0.31/work/sbcl-1.0.31/src/runtime'

После жто пробую следующее:

# cd /var/tmp/portage/dev-lisp/sbcl-1.0.31/work/sbcl-1.0.31/
# source /etc/profile
# make -C src/runtime all

И компиляция проходит успешно.

Если использовать профиль hardenednopie, то компиляция успешна даже так:

# make -C /var/tmp/portage/dev-lisp/sbcl-1.0.31/work/sbcl-1.0.31/src/runtime all

Куда копать? Может какие-то переменные окружения отличаются во время emerge и вне emerge? Как это проверить?

pre_pkg_setup () {

pre_pkg_setup () {
        gcc-config 3
        source /etc/profile
}

pre_src_compile () {
        local sbcl_bin="${WORKDIR}"/sbcl-binary/src/runtime/sbcl
        paxctl -c "${sbcl_bin}"
        paxctl -p -e -m -r -x -s "${sbcl_bin}"
}

post_pkg_postinst () {
        gcc-config 1
        source /etc/profile     
}

Почему просто не переключить компилятор ?

И

can not be used when making a shared object; recompile with -fPIC

Не пробовали делать, алсо , не просто так оно просит ванилла.
Чего вы хотите добиться в результате ? , сборки с дефолтным (харденед ) спеком ?

Куда копать? Может какие-то переменные окружения отличаются во время emerge и вне emerge? Как это проверить?

лесс /var/db/pkg/<категория>/<пакет>/environment.bz

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а): Почему

slepnoga написал(а):
Почему просто не переключить компилятор ?

А я что делаю? Переключаю компилятор на vanilla и после установки пакета переключаю на hardened.

slepnoga написал(а):
can not be used when making a shared object; recompile with -fPIC
Не пробовали делать, алсо , не просто так оно просит ванилла.
Чего вы хотите добиться в результате ? , сборки с дефолтным (харденед ) спеком ?

Поробовал довавлять флаг для всего пакета - не помогло.

slepnoga написал(а):
лесс /var/db/pkg/<категория>/<пакет>/environment.bz

Посмотрю.

upd: По указанной ссылке environment установленных пакетов, а мне необходимо текущее окружение, чтобы понять почему вручную собирает (даже без -fPIC), а emerge не собирает

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".