Проблеми з /usr/lib/libcups.2.dylib. x86 програми не виконуватимуться


1

Я модернізував CUPS з 2.0.0 до 2.0.2 на OS X 10.10.4 Yosemite з міркувань безпеки за порадою сканування Nessus. Я вчинив кардинальний гріх - не створив резервну копію своєї ОС перед тим, як внести цю зміну. На жаль, у багатьох додатках x86 у моїй системі зараз з’являється ця фатальна помилка:

Тип винятку: EXC_BREAKPOINT (SIGTRAP) Коди виключень:
0x0000000000000002, 0x0000000000000000

Інформація про програму: dyld: запуск, завантаження залежних бібліотек

Повідомлення про помилку дилда: Бібліотека не завантажена: /usr/lib/libcups.2.dylib
Посилання з: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore Причина: ні знайдено відповідне зображення Знайшли: /usr/lib/libcups.2.dylib: mach-o, але неправильна архітектура /usr/lib/libcups.2.dylib: mach-o, але неправильна архітектура

Досить справедливо. Тому я вирішив запустити lipo -info у бібліотеці, де вона впливає, і в ній зазначено, що її архітектура - x86_64 ("Нежирний файл: /usr/lib/libcups.2.dylib - це архітектура: x86_64"). Я зробив висновок, що джерело CUPS потребував прапорців x86 (i386) після конфігурації після невеликих досліджень з цього питання. Отже, коли я запустив нову команду настройки:

sudo ./configure CFLAGS="-arch i386 -arch x86_64" CXXFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64"

Що було все добре і денді, але це було виконано з помилками. Я все-таки продовжував свою команду make і make install встановлювати добросовісно, ​​але виявив, що зараз постраждалі програми або взагалі не ініціюють, або все ще повертають фатальні помилки. Що я тут роблю неправильно? Я завантажив джерело безпосередньо з CUPS.org, якщо хтось цікавиться.


10.10.4 знаходиться в бета-версії, тому не можу сказати - як правило, я б запропонував перевстановити комбінований оновлення, щоб повернути файли Apple - в основному торкання файлів Apple порушить справи
Марк

Дійсно сказати, це насправді огидно. Я не можу повірити, що я не в змозі оновити системні компоненти як привілейований користувач, навіть якщо файли надходять із самого Apple.
shellcode

Також ви даєте всі деталі для виправленої справи, але не помилки, які насправді створюють проблеми, і файли не надходять від Apple, або, принаймні, ви не вказали, де саме.
Марк

Ось пастбін конфігурації, виготовлення та встановлення виводу cup.out
shellcode

Схоже, прапорці, які я використав, ігноруються, оскільки вони просто не сумісні з моєю архітектурою. Я думаю, що ти можеш мати рацію, і мені не залишиться іншого вибору, крім як перевстановити.
shellcode

Відповіді:


1

З файлу INSTALL.txt:

У рядках 101–104:

В OS X використовуйте параметр "--with-archflags" для створення з правильним набором архітектур:

./configure --with-archflags="-arch i386 -arch x86_64" ...

Просто введіть ці команди:

./configure --with-archflags="-arch i386 -arch x86_64"
make 
sudo make install
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.