Запуск DDD в Mac OS X

Я попытался установить и запустить DDD, используя следующие команды:

brew install libtool
brew link lesstif
brew install ddd

И получил следующее сообщение об ошибке при попытке запустить DDD:

cd@new-host:~$ ddd
dyld: Library not loaded: /opt/X11/lib/libSM.6.dylib
Referenced from: /usr/local/lib/libXm.2.dylib
Reason: image not found
Trace/BPT trap: 5

Ниже приведен мой вывод из конфигурации brew:

HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: 7a427a6528c0aa123a43d3adf1c5944ab622c27e
Last commit: 2 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: dual-core 64-bit penryn
OS X: 10.7.5-i386
Xcode: 4.6.3
CLT: 4.6.0.0.1.1365549073
LLVM-GCC: build 2336
Clang: 4.2 build 425
X11: 2.6.5 => /usr/X11
System Ruby: 1.8.7-358
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

И ниже мой вывод от brew doctor:

Warning: Some directories in /usr/local/share/man aren't writable. This can happen if you "sudo make install" software that isn't managed by Homebrew. If a brew tries to add locale information to one of these directories, then the install will fail during the link step. You should probably chown them:

/usr/local/share/man/de
/usr/local/share/man/de/man1
/usr/local/share/man/mann

Warning: Unbrewed dylibs were found in /usr/local/lib. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:

/usr/local/lib/libtcl8.6.dylib
/usr/local/lib/libtk8.6.dylib

Warning: Unbrewed header files were found in /usr/local/include. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted.

Unexpected header files:

/usr/local/include/fakemysql.h
/usr/local/include/fakepq.h
/usr/local/include/fakesql.h
/usr/local/include/itcl.h
/usr/local/include/itcl2TclOO.h
/usr/local/include/itclDecls.h
/usr/local/include/itclInt.h
/usr/local/include/itclIntDecls.h
/usr/local/include/itclMigrate2TclCore.h
/usr/local/include/itclTclIntStubsFcn.h
/usr/local/include/mysqlStubs.h
/usr/local/include/odbcStubs.h
/usr/local/include/pqStubs.h
/usr/local/include/tcl.h
/usr/local/include/tclDecls.h
/usr/local/include/tclOO.h
/usr/local/include/tclOODecls.h
/usr/local/include/tclPlatDecls.h
/usr/local/include/tclThread.h
/usr/local/include/tclTomMath.h
/usr/local/include/tclTomMathDecls.h
/usr/local/include/tdbc.h
/usr/local/include/tdbcDecls.h
/usr/local/include/tdbcInt.h
/usr/local/include/tk.h
/usr/local/include/tkDecls.h
/usr/local/include/tkPlatDecls.h

Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted.

Unexpected .pc files:

/usr/local/lib/pkgconfig/tcl.pc
/usr/local/lib/pkgconfig/tk.pc

Warning: Unbrewed static libraries were found in /usr/local/lib. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted.

Unexpected static libraries:

/usr/local/lib/libtclstub8.6.a
/usr/local/lib/libtkstub8.6.a

Warning: /usr/bin occurs before /usr/local/bin This means that system-provided programs will be used instead of those provided by Homebrew. The following tools exist at both paths:

dot

Consider setting your PATH so that /usr/local/bin occurs before /usr/bin. Here is a one-liner:

echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile 

Я действительно должен попытаться исправить эти предупреждения доктора варева? Все мои другие установленные программы варева в порядке, поэтому немного не хочется начинать возиться с этими файлами. Благодарю вас!


Изменить: В macOS 10.14.4 я получаю эту ошибку:

Jamess-MacBook-Air:haskell-usaco james$ ddd
Error: Unresolved inheritance operation

Xt error (Unresolved inheritance operation).

Oops!  You have found a bug in DDD.

If you can reproduce this bug, please send a bug report
to <[email protected]>, giving a subject like

    DDD 3.3.12 (i386-apple-darwin18.0.0) gets Xt error

При запуске DDD с LLDB выводится следующее сообщение об ошибке:

XIO:  fatal IO error 35 (Resource temporarily unavailable) on X server "/private/tmp/com.apple.launchd.cxF3NWNYqR/org.macosforge.xquartz:0"
      after 5 requests (5 known processed) with 0 events remaining

X11 был установлен как с Homebrew, так и с веб-сайта XQuartz.


person BeginnersMindTruly    schedule 16.10.2014    source источник


Ответы (2)


Так что я думаю, что Mac OS X 10.7.5. поставляется с XQuartz (только 10.8 и более поздние версии не поставляются при установке).

Вот что в итоге сработало для меня:

Неразработанные dylibs, файлы заголовков, файлы .pc и статические библиотеки были помещены туда при недоморощенной установке R, поэтому я удалил R, используя следующие команды:

rm -rf /Library/Frameworks/R.framework /Applications/R.app \
/usr/bin/R /usr/bin/Rscript

Затем я удалил DDD, отвязал lesstif и удалил lesstif:

brew uninstall ddd
brew unlink lesstif
brew uninstall lesstif

Затем я установил tcl-tk:

brew tap homebrew/dupes
brew install tcl-tk

Затем я собрал lesstif из исходников с помощью brew install:

brew install --build-from-source lesstif

Я повторно связал lesstif:

brew unlink lesstif && brew link lesstif

Наконец, я установил ddd:

brew install ddd

И это сработало! Я не уверен, какой из этих шагов был ключевым, но я предполагаю, что это был:

brew install --build-from-source lesstif

Я до сих пор не уверен, что эти два делают по-разному:

brew install --build-from-source lesstif
brew install lesstif

Я также искал следующие каталоги и файлы:

/opt/X11/lib/libSM.6.dylib exist

но их не было на моем компе.

@new-host:~$ cd ~
@new-host:~$ cd /opt
-bash: cd: /opt: No such file or directory

Вместо этого я нашел файлы X11 здесь:

@new-host:/usr/X11$ cd ~
@new-host:~$ cd /usr/X11/lib
@new-host:/usr/X11/lib$ ls
...
libSM.6.dylib
...

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

Наконец, эти несваренные dylibs, файлы заголовков, файлы .pc и статические библиотеки были помещены туда при установке R, отличной от доморощенной. Но я не уверен, что на самом деле есть какой-либо способ безопасно удалить их, чтобы устранить brew предупреждения. (Возможно, мне придется жить с ними).

Установка R состояла из трех пакетов Apple:

org.r-project.R.x86_64.fw.pkg
org.r-project.R.x86_64.GUI.pkg
org.r-project.x86_64.tcltk.x11

Согласно веб-сайту R (http://cran.r-project.org/doc/manuals/r-release/R-admin.html#Uninstalling-under-OS-X): вы можете использовать pkgutil --unlink (не поддерживается Lion или более поздней версии ) для удаления их файлов или pkgutil --forget, если вы хотите, чтобы установщик Apple забыл о пакете, не удаляя его файлы (полезно для среды R при параллельной установке нескольких версий R), или после того, как вы удалили файлы

Удалить компонент Tcl/Tk (который установлен под /usr/local) непросто. Вы можете перечислить файлы, которые он установил в Терминале,

pkgutil --files org.r-project.x86_64.tcltk.x11

Слишком страшно для меня, чтобы заняться этим удалением, поэтому я буду жить с предупреждениями brew doctor. Просто рад, что ddd наконец сработало.

person BeginnersMindTruly    schedule 19.10.2014

Вам нужно установить XQuartz, чтобы получить эти X-библиотеки в /opt/lib.

http://xquartz.macosforge.org/landing/

person jrwren    schedule 17.10.2014