статическое связывание в AIX с помощью pthread

Я уже пару дней читаю и исследую это и решил, что мне нужна помощь извне!

(и этот сайт выглядел как хорошее место, поэтому я подумал, что я опубликую свой вопрос здесь и посмотрю, как он работает)

наша маленькая компания не создавала наши приложения в AIX в течение нескольких лет, и мне было поручено это задание (хорошо, что мне нравится вызов).

проблему, которую я имею, легко описать, и я вижу, что другие люди также испытывают ее, хотя я не могу найти ответ.

если я связываю приложение «не статично», то есть я не использую «-static» в командах сборки, приложение отлично работает на компьютере разработчика, но не на другом компьютере AIX, который мы используем для тестирования.

[быстрые заметки на двух машинах;

Dev:

~$ uname -a
AIX aix3 2 5 000BA50D4C00

тестовое задание:

~$ uname -a
AIX aix4 1 5 002459A64C00

]

если я связываюсь с «-static», приложение «ломается» во время выполнения на компьютере разработчика, когда выдается исключение:

terminate called after throwing an instance of 'MyAppError'
Segmentation fault      (core dumped)

И (как будто этого было недостаточно), приложение все еще не работает на тестовой машине:

exec(): 0509-036 Cannot load program ./myapp because of the following errors:
        0509-130 Symbol resolution failed for myapp because:
        0509-136   Symbol _sigqueue (number 65) is not exported from
                   dependent module /unix.
        0509-136   Symbol ra_attachrset (number 95) is not exported from
                   dependent module /unix.
        0509-136   Symbol __rs_pickmcm (number 99) is not exported from
                   dependent module /unix.
        0509-136   Symbol _timer_create (number 122) is not exported from
                   dependent module /unix.
        0509-136   Symbol _timer_delete (number 123) is not exported from
                   dependent module /unix.
        0509-136   Symbol _timer_getoverrun (number 124) is not exported from
                   dependent module /unix.
        0509-136   Symbol _timer_gettime (number 125) is not exported from
                   dependent module /unix.
        0509-136   Symbol _timer_settime (number 126) is not exported from
                   dependent module /unix.
        0509-136   Symbol count_event_waiters (number 159) is not exported from
                   dependent module /unix.
        0509-192 Examine .loader section symbols with the
                 'dump -Tv' command.

Здесь я должен отметить, что мы ссылаемся на «-pthead», и я прочитал несколько статей, в которых говорится, что статически ссылаться при использовании pthread некорректно.

мой мозг болит.

Я был бы очень благодарен за любой вклад по этому вопросу.

13.12.2008 00:54:12
1 ОТВЕТ

Часть вашей проблемы в том, что вы работаете на AIX 5.2 и пытаетесь протестировать на AIX 5.1 ( uname -aинформация показывает, что - спасибо, что включили его). Обычно вы можете использовать более старую платформу и работать на более новой, но не наоборот. Итак, это начало ваших неприятностей.

AIX 5.1 и 5.2 длинные в зубе; вы должны быть как минимум на AIX 5.3 и, возможно, на AIX 6.x.

1
13.12.2008 03:20:46