Справочное руководство по MySQL версии 4.1.1-alpha



красивые голые девушки казашки. | Bullet time аренда и еще. |

Глава 2.3.5 Проблемы с компиляцией? - часть 2


Проблема заключается в том, что для компиляции `sql_yacc.cc' со встраиваемыми функциями компилятору gcc требуется значительное количество памяти. Попробуйте произвести запуск configure с опцией --with-low-memory:

shell> ./configure --with-low-memory

Данная опция вызывает добавление -fno-inline к компилируемой строке для gcc и -O0 - при использовании какого-либо другого компилятора. Даже если у вас столько памяти и пространства для свопинга, что, по вашему мнению, невозможно выйти за их пределы, все же стоит попытаться использовать опцию with-low-memory. Эта проблема, по нашим наблюдениям, возникала даже на системах с аппаратными реализациями, обладающими широкими возможностями; обычно она устраняется с помощью опции --with-low-memory.

  • По умолчанию configure выбирает c++ как имя компилятора и GNU c++ линкуется с -lg++. При использовании gcc этот режим работы может вызывать такие проблемы в процессе конфигурации, как:

    configure: error: installation or configuration problem: C++ compiler cannot create executables.

    Во время компиляции могут также возникать проблемы, относящиеся к g++, libg++ или libstdc++. Одна из причин их возникновения заключается в том, что, возможно, у вас нет g++ или есть g++, но нет библиотеки libg++ или libstdc++. Следует изучить файл `config.log' - по нему вы должны точно определить причину, по которой не работал компилятор c++ ! Чтобы обойти эти проблемы, можно в качестве компилятора C++ использовать gcc. Попробуйте установить переменную окружения CXX в gcc -O3. Например:

    shell> CXX="gcc -O3" ./configure

    Эта команда работает, поскольку gcc компилирует исходные коды C++ так же хорошо, как и g++, но по умолчанию не линкует libg++ или libstdc++. Есть, конечно, и другая возможность устранения этих проблем, которая заключается в установке g++, libg++ и libstdc++. Однако мы не рекомендовали бы использовать libg++ или libstdc++ с MySQL, поскольку это только увеличит размер бинарного кода mysqld без предоставления каких-либо преимуществ. Некоторые версии этих библиотек в прошлом также вызывали непонятные проблемы у пользователей MySQL.




    Содержание  Назад  Вперед