У меня возникла следующая ошибка при создании кода oracle_fdw-2.0.0 в AIX 7.1 с помощью команды: gmake
gcc -Wall -Wmissing-prototypes -Wpointer-arith -maix64 -I/app/oracle/112/oradata/sdk/include -I/app/oracle/112/oradata/oci/include -I/app/oracle/112/oradata/rdbms/public -I/usr/include/oracle/12.2/client -I/usr/include/oracle/12.2/client64 -I/usr/include/oracle/12.1/client -I/usr/include/oracle/12.1/client64 -I/usr/include/oracle/11.2/client -I/usr/include/oracle/11.2/client64 -I/usr/include/oracle/11.1/client -I/usr/include/oracle/11.1/client64 -I/usr/include/oracle/10.2.0.5/client -I/usr/include/oracle/10.2.0.5/client64 -I/usr/include/oracle/10.2.0.4/client -I/usr/include/oracle/10.2.0.4/client64 -I/usr/include/oracle/10.2.0.3/client -I/usr/include/oracle/10.2.0.3/client64 -I. -I./ -I/app/postgresql10ff/include/server -I/app/postgresql10ff/include/internal -I/opt/freeware/include -I/usr/include -c -o oracle_fdw.o oracle_fdw.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -maix64 -I/app/oracle/112/oradata/sdk/include -I/app/oracle/112/oradata/oci/include -I/app/oracle/112/oradata/rdbms/public -I/usr/include/oracle/12.2/client -I/usr/include/oracle/12.2/client64 -I/usr/include/oracle/12.1/client -I/usr/include/oracle/12.1/client64 -I/usr/include/oracle/11.2/client -I/usr/include/oracle/11.2/client64 -I/usr/include/oracle/11.1/client -I/usr/include/oracle/11.1/client64 -I/usr/include/oracle/10.2.0.5/client -I/usr/include/oracle/10.2.0.5/client64 -I/usr/include/oracle/10.2.0.4/client -I/usr/include/oracle/10.2.0.4/client64 -I/usr/include/oracle/10.2.0.3/client -I/usr/include/oracle/10.2.0.3/client64 -I. -I./ -I/app/postgresql10ff/include/server -I/app/postgresql10ff/include/internal -I/opt/freeware/include -I/usr/include -c -o oracle_utils.o oracle_utils.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -maix64 -I/app/oracle/112/oradata/sdk/include -I/app/oracle/112/oradata/oci/include -I/app/oracle/112/oradata/rdbms/public -I/usr/include/oracle/12.2/client -I/usr/include/oracle/12.2/client64 -I/usr/include/oracle/12.1/client -I/usr/include/oracle/12.1/client64 -I/usr/include/oracle/11.2/client -I/usr/include/oracle/11.2/client64 -I/usr/include/oracle/11.1/client -I/usr/include/oracle/11.1/client64 -I/usr/include/oracle/10.2.0.5/client -I/usr/include/oracle/10.2.0.5/client64 -I/usr/include/oracle/10.2.0.4/client -I/usr/include/oracle/10.2.0.4/client64 -I/usr/include/oracle/10.2.0.3/client -I/usr/include/oracle/10.2.0.3/client64 -I. -I./ -I/app/postgresql10ff/include/server -I/app/postgresql10ff/include/internal -I/opt/freeware/include -I/usr/include -c -o oracle_gis.o oracle_gis.c
rm -f liboracle_fdw.a
ar -X64 crs liboracle_fdw.a oracle_fdw.o oracle_utils.o oracle_gis.o
touch liboracle_fdw.a
/app/postgresql10ff/lib/pgxs/src/makefiles/../../src/backend/port/aix/mkldexport.sh liboracle_fdw.a oracle_fdw.so >liboracle_fdw.exp
gcc -Wall -Wmissing-prototypes -Wpointer-arith -maix64 -o oracle_fdw.so liboracle_fdw.a -Wl,-bE:liboracle_fdw.exp -L/app/postgresql10ff/lib -Wl,-bbigtoc,-lm -L/opt/freeware/lib64 -L/usr/lib64 -Wl,-blibpath:'/app/postgresql10ff/lib:/app/postgresql10ff/lib:/opt/freeware/lib64:/usr/lib64:/usr/lib:/lib' -Wl,-bnoentry -Wl,-H512 -Wl,-bM:SRE -L/app/oracle/112/oradata -L/app/oracle/112/oradata/bin -L/app/oracle/112/oradata/lib -lclntsh -L/usr/lib/oracle/12.2/client/lib -L/usr/lib/oracle/12.2/client64/lib -L/usr/lib/oracle/12.1/client/lib -L/usr/lib/oracle/12.1/client64/lib -L/usr/lib/oracle/11.2/client/lib -L/usr/lib/oracle/11.2/client64/lib -L/usr/lib/oracle/11.1/client/lib -L/usr/lib/oracle/11.1/client64/lib -L/usr/lib/oracle/10.2.0.5/client/lib -L/usr/lib/oracle/10.2.0.5/client64/lib -L/usr/lib/oracle/10.2.0.4/client/lib -L/usr/lib/oracle/10.2.0.4/client64/lib -L/usr/lib/oracle/10.2.0.3/client/lib -L/usr/lib/oracle/10.2.0.3/client64/lib -Wl,-bI:/app/postgresql10ff/lib/postgres.imp
ld: 0711-244 ERROR: No csects or exported symbols have been saved.
collect2: error: ld returned 8 exit status
/app/postgresql10ff/lib/pgxs/src/makefiles/../../src/Makefile.shlib:326: recipe for target 'oracle_fdw.so' failed
gmake: *** [oracle_fdw.so] Error 1
gmake: *** Deleting file 'oracle_fdw.so'
благодарим вас за поддержку в решении этой проблемы.
привет, содержимое файла: #! oracle_fdw.so и как я использую флаг -shared Я использовал переменную среды CFLAGS, но не повлиял на команду gmake
Файл экспорта не должен быть пустым; проверьте свой скрипт /app/postgresql10ff/lib/pgxs/backend/port/aix/mkldexport.sh ... Примечание: я написал несколько заметок об экспортных файлах: web.axelero.hu/lzsiga/aix-linking.html#Q0017
Я мог бы найти этот mkldexport.sh в сети (github.com/snaga/postgres95/blob/master/src/tools/mkldexpor t /…) - ну, у него слишком много проблем, чтобы перечислить их.
@LorinczyZsigmond Есть еще кое-что об этом в этом выпуске Github, и похоже, что в общем объекте не было глобальных символов. Но в источнике они заявлены как extern.
Вы, кажется, игнорируете ссылки, которые я предлагал :(





Я думаю, вам следует использовать gcc-option
-sharedпри создании общей библиотеки. Также вы должны проверить свой экспортный файл (liboracle_fdw.exp), пуст он или нет.