Я пытаюсь собрать g ccgo (9.2) в AIX и столкнулся с проблемой, которую не могу решить.
Машина: AIX 7.1, Тип процессора: PowerPC_POWER7, Тип процессора : 64-разрядный, тип ядра: 64-разрядный
Ошибка: «./sync/atomic.gox существует, но не содержит Go данных экспорта».
Итак, я посмотрел на atomi c .gox, и он пуст. (Все файлы .gox пусты). Итак, затем я посмотрел, как создается atomi c .gox. Файл создан objcopy -j .go_export sync/.libs/atomic.o
. Таким образом, раздел .go_export для atomi c .o используется для создания atomi c .gox. С objdump -s atomic.o
я понял, что у atomi c .o нет никакого раздела .go_export, только ".text, .data и .debug". Поэтому при создании файла .o обнаруживается неправильное поведение. Для создания файла atomi c .o я нашел следующую строку:
libtool: compile: / OS / COMPSRV / trunk / user1 / src / g ccgo - obj / ./ gcc / gccgo -B / OS / COMPSRV / trunk / user1 / src / g ccgo -obj / ./ gcc / -B / opt / freeware / gcc9 / powerp c -ibm- aix7.1.5.0 / bin / -B / opt / freeware / gcc9 / powerp c -ibm-aix7.1.5.0 / lib / -isystem / opt / freeware / gcc9 / powerp c -ibm-aix7. 1.5.0 / include -isystem /opt/freeware/gcc9/powerpc-ibm-aix7.1.5.0/sys-include -O2 -g -I. - c -f go -pkgpath = sync / atomi c ../.././../gccgo-src/libgo/go/sync/atomic/doc. go ../.././../gccgo-src/libgo/go/sync/atomic/value.go -fPI C -o синхронизация / .libs /atomic.o
Это мой параметр конфигурации:
languages = "- enable-languages = go, c, c ++"
options = "CC = / opt / freeware / bin / g cc --with-gnu-ar --without-gnu-as --with-gnu-ld --with-gmp-include = / usr / include / gmp --disable- bootstrap --with-gmp-lib = / usr / lib --with-mpfr-include = / usr / include / mpfr --with-mpfr-lib = / usr / lib --with-mpfr = / usr / include --with-mpc = / usr / include --disable-nls --disable-libquadmath --disable-libssp --disable-lto --disable-libgomp "
multilib = "- enable-multilib"
shared = "- enable-shared"
static = "- enable-stati c"
Дополнительная информация: я использую g cc 8,3
Редактировать:
Предлагаемые решения:
- Я добавил --enable-l ib go, но ошибка все еще существует