LINUX.ORG.RU

Как собрать пакет типа mono, который пытается компилиться с ABI

 , , ,


0

1

MAKEOPTS="-j1" emerge -av =mono-4.8.0.524

USE=" -abi_x86_64 -abi_x86_32 -abi_x86_x32 "

COMMON_FLAGS="-O2 -pipe -march=i486"

если добавить: ABI_X86=" -64 -32 -x32 "

MAKEOPTS="-j1" emerge -av =mono-4.8.0.524

то появляются предупреждения:

Invalid '-' operator in non-incremental variable 'ABI_X86': '-64'
Invalid '-' operator in non-incremental variable 'ABI_X86': '-32'
Invalid '-' operator in non-incremental variable 'ABI_X86': '-x32'

These are the packages that would be merged, in order:

Calculating dependencies \Invalid '-' operator in non-incremental variable 'ABI_X86': '-64'
Invalid '-' operator in non-incremental variable 'ABI_X86': '-32'
Invalid '-' operator in non-incremental variable 'ABI_X86': '-x32'
Invalid '-' operator in non-incremental variable 'ABI_X86': '-64'
Invalid '-' operator in non-incremental variable 'ABI_X86': '-32'
Invalid '-' operator in non-incremental variable 'ABI_X86': '-x32'

Как отключить все эти ABI 32 x32 64 y64 z128 ? чтобы собиралось тупо, не зная, что amd64 вообще существует в природе.

Вот дальше в ошибках идут упоминания ABI, как-то бы отлючить/исключить из компилации этот код вообще нафик, так можно?

/usr/lib/gcc/i486-pc-linux-gnu/8.3.0/../../../../i486-pc-linux-gnu/bin/ld: ../../mono/metadata/.libs/libmonoruntime-static.a(libmonoruntime_static_la-threadpool-ms.o): in function `InterlockedRead64':
/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/metadata/../../mono/utils/atomic.h:343: undefined reference to `__sync_fetch_and_add_8'
/usr/lib/gcc/i486-pc-linux-gnu/8.3.0/../../../../i486-pc-linux-gnu/bin/ld: ../../mono/metadata/.libs/libmonoruntime-static.a(libmonoruntime_static_la-threadpool-ms.o): in function `InterlockedCompareExchange64':
/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/metadata/../../mono/utils/atomic.h:317: undefined reference to `__sync_val_compare_and_swap_8'
/usr/lib/gcc/i486-pc-linux-gnu/8.3.0/../../../../i486-pc-linux-gnu/bin/ld: ../../mono/metadata/.libs/libmonoruntime-static.a(libmonoruntime_static_la-threadpool-ms.o): in function `InterlockedRead64':
/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/metadata/../../mono/utils/atomic.h:343: undefined reference to `__sync_fetch_and_add_8'
/usr/lib/gcc/i486-pc-linux-gnu/8.3.0/../../../../i486-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/metadata/../../mono/utils/atomic.h:343: undefined reference to `__sync_fetch_and_add_8'
/usr/lib/gcc/i486-pc-linux-gnu/8.3.0/../../../../i486-pc-linux-gnu/bin/ld: ../../mono/metadata/.libs/libmonoruntime-static.a(libmonoruntime_static_la-threadpool-ms.o): in function `InterlockedCompareExchange64':
/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/metadata/../../mono/utils/atomic.h:317: undefined reference to `__sync_val_compare_and_swap_8'
/usr/lib/gcc/i486-pc-linux-gnu/8.3.0/../../../../i486-pc-linux-gnu/bin/ld: ../../mono/metadata/.libs/libmonoruntime-static.a(libmonoruntime_static_la-threadpool-ms.o): in function `InterlockedRead64':
/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/metadata/../../mono/utils/atomic.h:343: undefined reference to `__sync_fetch_and_add_8'
/usr/lib/gcc/i486-pc-linux-gnu/8.3.0/../../../../i486-pc-linux-gnu/bin/ld: ../../mono/metadata/.libs/libmonoruntime-static.a(libmonoruntime_static_la-threadpool-ms.o): in function `InterlockedCompareExchange64':
/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/metadata/../../mono/utils/atomic.h:317: undefined reference to `__sync_val_compare_and_swap_8'
/usr/lib/gcc/i486-pc-linux-gnu/8.3.0/../../../../i486-pc-linux-gnu/bin/ld: ../../mono/metadata/.libs/libmonoruntime-static.a(libmonoruntime_static_la-threadpool-ms.o): in function `InterlockedRead64':
/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/metadata/../../mono/utils/atomic.h:343: undefined reference to `__sync_fetch_and_add_8'
/usr/lib/gcc/i486-pc-linux-gnu/8.3.0/../../../../i486-pc-linux-gnu/bin/ld: ../../mono/metadata/.libs/libmonoruntime-static.a(libmonoruntime_static_la-threadpool-ms.o): in function `InterlockedCompareExchange64':
/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/metadata/../../mono/utils/atomic.h:317: undefined reference to `__sync_val_compare_and_swap_8'
/usr/lib/gcc/i486-pc-linux-gnu/8.3.0/../../../../i486-pc-linux-gnu/bin/ld: ../../mono/metadata/.libs/libmonoruntime-static.a(libmonoruntime_static_la-threadpool-ms.o): in function `InterlockedRead64':
/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/metadata/../../mono/utils/atomic.h:343: undefined reference to `__sync_fetch_and_add_8'
/usr/lib/gcc/i486-pc-linux-gnu/8.3.0/../../../../i486-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/metadata/../../mono/utils/atomic.h:343: undefined reference to `__sync_fetch_and_add_8'
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:1645: mono-boehm] Error 1
make[4]: Leaving directory '/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/mini'
make[3]: *** [Makefile:1474: all] Error 2
make[3]: Leaving directory '/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono/mini'
make[2]: *** [Makefile:455: all-recursive] Error 1
make[2]: Leaving directory '/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86/mono'
make[1]: *** [Makefile:535: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-lang/mono-4.8.0.524/work/mono-4.8.0-abi_x86_32.x86'
make: *** [Makefile:465: all] Error 2

Ты страдаешь хернёй. Верни флаги в ABI_X86 на место и не сношай людям мозги

XShell
()
Ответ на: комментарий от grem

Ничего не понятно. Чего ты хочешь добиться?

Мне кажется, что фрагменты кода с ABI мешают собрать mono под i486. Нельзя ли эти фрагменты каким-то образом отключить/исключить из сборки? Флагами/масками?

И зачем включаешь одно ядро?

Ошибка вываливает сразу в консоль, не надо ее искать в логах.

simoshina
() автор топика
Ответ на: комментарий от simoshina

Хм, забавно, даже grsec ядро собралось под i486 в отличии от mono.

simoshina
() автор топика

Никак. ABI - это базовое понятие, без него нельзя. Кури матчасть.

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.