Проблема связывания Python при запуске Django на Apache с mod_wsgi: символ не найден __cg_jpeg_resync_to_restart - PullRequest
0 голосов
/ 25 июля 2011

Я получаю эту ошибку, когда пытаюсь запустить свой сайт django на apache.Сайт работает на сервере разработки:

ViewDoesNotExist at / 
Could not import myproject.modulename.views. Error was: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_tkinter.so, 2): Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /Applications/MAMP/Library/lib/libjpeg.8.dylib

Я не уверен, как решить проблему.Другие сайты django работают над этой установкой apache.Каталог находится по пути, указанному в моем файле apache.conf (см. Нижнюю часть сообщения).

Три файла, указанные в сообщении об ошибке, существуют в указанных местах.

  1. _tkinter.so - /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_tkinter.so

  2. ImageIO - /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO

  3. libjpeg.8.dylib - /Applications/MAMP/Library/lib/libjpeg.8.dylib

Я не уверен, что такое __cg_jpeg_resync_to_restart.

Ниже приведено исходное сообщение, которое я выложил, когда пытался выяснить, что означает сообщение об ошибке.Спасибо sacabuche за то, что он указал мне правильное направление.

Я пытаюсь заставить сайт Django работать на apache.Он работает на сервере разработки django, но я получаю эту ошибку, когда пытаюсь запустить его на apache с mod_wsgi.Я знаю, что mod_wsgi работает, потому что у меня был небольшой пробный сайт (это была уменьшенная версия этого стиля), работающая на моем сервере разработки mamp.Подвиг, которым я управлял с помощью других через этот пост: Django / mod_wsgi и PHP как виртуальные хосты на том же сервере Apache, используя MAMP

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

Вот код моего apache conf (примечание: сайт php работает, и если я перенаправлю WSGIDaemonProcess на старый сайт,загружается без проблем):

ServerName localhost UseCanonicalName Off DocumentRoot "/ Applications / MAMP / htdocs"

Alias /phpsite /Applications/MAMP/htdocs/phpsite
    <Directory "/Applications/MAMP/htdocs/phpsite">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

    WSGIDaemonProcess site1 display-name=%{GROUP}
    WSGIProcessGroup site1
    Alias /media/ /Applications/MAMP/htdocs/media/
    <Directory /Applications/MAMP/htdocs/media>
        Options ExecCGI 
        Order deny,allow
        Allow from all
    </Directory>
    WSGIScriptAlias / /Users/sequoia/djangoprojects/myproject/apache/django.wsgi
    <Directory /Users/sequoia/djangoprojects/myproject/apache>
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

Спасибо.

1 Ответ

0 голосов
/ 25 июля 2011

Что ж, похоже, что символическая ссылка не работает, поэтому я посмотрел и нашел что-то в этом форуме

удалил символические ссылки "libpng.dylib" и "libjpeg.dylib" в "<installation directory>/lib"

Создайте новые символические ссылки на нужные библиотеки.

ln -s /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPNG.dylib /Applications/MAMP/Library/lib/libPNG.dylib

ln -s /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib /Applications/MAMP/Library/lib/libJPEG.dylib

У меня здесь нет Mac Macthth, но сначала я бы подтвердил , что источник символической ссылки существуетНадеюсь, это решит вашу проблему.

...