Сборка GIMP 2.10 из исходного кода на OSX не работает на "gimp-debug-tool-2.0" - PullRequest
0 голосов
/ 11 мая 2018

Я пытался собрать GIMP 2.10 на OSX уже неделю, но безуспешно. Большинство проблем были все разные зависимости и тому подобное. Хотя это заняло время, все это было решаемо, но теперь я думаю, что зашел в тупик. Я перешел к этапу, когда я смог наконец запустить «make», и через некоторое время создания разных вещей он выдает ошибку на «gimp-debug-tool-2.0». Вот выходной журнал:

Making all in app-tools
  CCLD     gimp-debug-tool-2.0
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_NSString", referenced from:
      objc-class-ref in libappwidgets.a(gimpcriticaldialog.o)
  "_OBJC_CLASS_$_NSWorkspace", referenced from:
      objc-class-ref in libappwidgets.a(gimpcriticaldialog.o)
  "_objc_autoreleasePoolPop", referenced from:
      _gimp_critical_dialog_response in libappwidgets.a(gimpcriticaldialog.o)
  "_objc_autoreleasePoolPush", referenced from:
      _gimp_critical_dialog_response in libappwidgets.a(gimpcriticaldialog.o)
  "_objc_msgSend", referenced from:
      _gimp_critical_dialog_response in libappwidgets.a(gimpcriticaldialog.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [gimp-debug-tool-2.0] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

У меня похожие ошибки при сборке приложений Qt, OpenCv. Проблема заключалась в том, что библиотеки отсутствовали, и я решил ее, указав пути к этим библиотекам. Но чего может не хватать при сборке gimp-debug-tool-2.0, который кажется внутренним инструментом.

Если бы кто-то имел подобный опыт или имел какие-либо подсказки / подсказки о том, как я мог решить эту проблему и мог указать мне правильное направление, это было бы очень признательно.

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Основная причина заключается в том, что gimp-debug-tool-2.0 - это новый модуль, который интегрируется с операционной системой OS X для отображения диалога в случае сбоя приложения.Он ссылается на классы NSString и NSWorkspace, которые являются частью OS X. Поэтому для разрешения символов необходимо использовать соответствующие структуры OS X.

К сожалению, автоматическая настройка запускается в началевашего цикла сборки ссылается на среду CoreFoundation, но это не то место, где фактически живут NSString или NSWorkspace.

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

-framework Foundation -framework AppKit

Это позволит правильно завершить сборку, но это своего рода обходной путь.Правильный подход состоит в том, чтобы исправить автоконфигурацию так, чтобы она сначала правильно ссылалась на эти платформы, но это сложнее, чем я могу управлять

0 голосов
/ 12 мая 2018

Оказывается, все должно было работать нормально, несмотря на этот инструмент отладки.Мне это на самом деле не нужно, поэтому я был рад пропустить его создание.Я запустил команду make с флагом -k, которая продолжает с ошибкой, к счастью, других ошибок не было.После сборки и установки он отлично работает на моем MacBook.

GIMP 2.10.1 на OSX

...