Заставить clang/llvm использовать crle-пути в Solaris?
Я пытаюсь настроить машину для сборки OpenIndiana, и я новичок в (не очень) тонких различиях в том, как (Open)(Solaris|Indiana) относится к процессу сборки. Хотя теперь я понимаю, что в Solaris по умолчанию, даже при работе на 64-битном ядре, создаются приложения как m32, если только -m64
явно указано; Я не могу правильно настроить пути поиска по умолчанию для clang
, хоть gcc
работает просто отлично и денди.
Я установил оба llvm
а также gcc
с помощью pkg
ничего не нужно было компилировать вручную.
Компиляция основного файла C с gcc
отлично работает как по умолчанию (-m32
) и 64-битный -m64
конфигурации, правильно используя пути поиска, как установлено в crle
:
mqudsi@openindiana:~/random$ crle
Default configuration file (/var/ld/ld.config) not found
Platform: 32-bit LSB 80386
Default Library Path (ELF): /lib:/usr/lib (system default)
Trusted Directories (ELF): /lib/secure:/usr/lib/secure (system default)
mqudsi@openindiana:~/random$ crle -64
Default configuration file (/var/ld/64/ld.config) not found
Platform: 64-bit LSB AMD64
Default Library Path (ELF): /lib/64:/usr/lib/64 (system default)
Trusted Directories (ELF): /lib/secure/64:/usr/lib/secure/64 (system default)
Тем не мение, clang
кажется, не обращая внимания на конфигурацию системы, и требует от меня, чтобы вручную установить -L ....
при компиляции. Глобальная настройка LD_LIBRARY_PATH
терпит неудачу, потому что сам clang является 32-битным при попытке скомпилировать с ним 64-битный бинарный файл.
Как я могу заставить лязг уважать солярис crle
конфигурация таким же образом, что делает GCC?
1 ответ
Что ж, учитывая, что clang немного знает о Solaris в целом, к сожалению, ответ прост: кто-то должен реализовать поддержку crle в clang.