Из man gcc
я вижу, что -W
имеет какое-то отношение к предупреждениям, но я не могу точно определить, что будет делать -W1
.Я строю, используя следующий мой Makefile.am:
lib_mysqludf_ssdeep_la_LDFLAGS = -module -avoid-version -no-undefined -rpath @MYSQL_PLUGINDIR@ @SSDEEP_LIBDIR@ @SSDEEP_LIBS@
Отлично в Ubuntu, но RedHat (RHEL) выбрасывает «пути должны быть абсолютной ошибкой», поэтому после нахождения сообщения вСписок рассылки GTK Я пытался:
lib_mysqludf_ssdeep_la_LDFLAGS = -module -avoid-version -no-undefined -W1,--rpath -W1,@MYSQL_PLUGINDIR@ @SSDEEP_LIBDIR@ @SSDEEP_LIBS@
Что работает, но я не понимаю, почему, и я хотел бы выяснить, прежде чем полагаться на это в качестве исправления для моей проблемы сборки Redhat.
Обновление Похоже, что redhat не указывает путь к @ MYSQL_PLUGINDIR @ и, следовательно, -rpath не работает.