| |
Прежде, чем Вы будете ставить исходники, проверьте, может быть Вас устроит двоичный дистрибутив. Дело в том, что авторы пакета сильно постарались, чтобы их двоичные дистрибутивы для разных платформ были сформированы с самыми лучшими возможными параметрами.
Вы нуждаетесь в следующих инструментальных средствах, чтобы сформировать и установить MySQL из исходников:
gunzip
для расжатия дистрибутива.
tar
, чтобы распаковать дистрибутив.
GNU tar
, как известно, работает. Sun tar
имеет
проблемы с именами файлов.
gcc
>= 2.95.2, egcs
>= 1.0.2 или egcs 2.91.66
, SGI C++ и SunPro C++ это
некоторые из компиляторов, которые, как известно, работают.
libg++
не требуется при использовании gcc
.
gcc
2.7.x имеет ошибку, которая делает невозможным компиляцию
некоторых совершенно нормальных файлов C++, типа sql/sql_base.cc.
Если Вы имеете только gcc
2.7.x, Вы должны обновить компилятор,
чтобы быть способными компилировать MySQL. gcc
2.8.1, как
известно, имеет проблемы на некоторых платформах, так что этого нужно
избежать, если там существует новый компилятор для этой платформы.
gcc
>= 2.95.2 рекомендуется при компиляции MySQL 3.23.x.
make
. GNU make
всегда
рекомендуется и иногда требуется. Если Вы имеете проблемы, я рекомендую
попробовать GNU make
3.75 или более новую.Если Вы используете недавнюю версию gcc, проверьте
использование опции -fno-exceptions
. ОЧЕНЬ
ВАЖНО, чтобы Вы использовали ее. Иначе Вы можете компилировать
двоичный код, который беспорядочно терпит крах. Я также рекомендую, чтобы Вы
использовали -felide-contructors
и -fno-rtti
наряду
с -fno-exceptions
. Если сомневаетесь, сделайте следующее:
CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static
На большинстве систем это даст Вам быстрый и устойчивый двоичный код.
Если Вы сталкиваетесь с проблемами, ПОЖАЛУЙСТА ВСЕГДА ИСПОЛЬЗУЙТЕ
mysqlbug
при регистрации вопросов в
[email protected]. Даже если
проблема не является ошибкой, mysqlbug
собирает информацию
системы, которая поможет другим решить Вашу проблему. Не используя
mysqlbug
,Вы уменьшаете вероятность получения решения для Вашей
проблемы! Вы найдете mysqlbug
в каталоге scripts после
распаковки дистрибутива. Подробности в разделе
"1.4.1 Как сообщать об ошибках и проблемах
".
Базисные команды, которые Вы должны выполнить, чтобы установить исходники MySQL, выглядят так:
shell> groupadd mysql shell> useradd -g mysql mysql shell> gunzip < mysql-VERSION.tar.gz | tar -xvf - shell> cd mysql-VERSION shell> ./configure --prefix=/usr/local/mysql shell> make shell> make install shell> scripts/mysql_install_db shell> chown -R root /usr/local/mysql shell> chown -R mysql /usr/local/mysql/var shell> chgrp -R mysql /usr/local/mysql shell> cp support-files/my-medium.cnf /etc/my.cnf shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
Если Вы хотите иметь поддержку для таблиц InnoDB, Вы должны
отредактировать файл /etc/my.cnf
и удалить символ #
перед параметрами, которые начинаются с innodb_...
. Подробности
в разделе "4.1.2 Файл опций my.cnf" и в
разделе "7.6.2 Параметры запуска InnoDB
".
Вы можете добавлять новых пользователей, используя скрипт
bin/mysql_setpermission
, если Вы устанавливаете Perl-модули
DBI
и Msql-Mysql-modules
.
Чтобы устанавливать исходники, выполните приведенные ниже действия, а затем перейдите к разделу "2.4 Послеустановочная настройка и тестирование" для инициализации пост-установки и тестирования:
mysqld
:
shell> groupadd mysql shell> useradd -g mysql mysqlЭти команды добавляют группу
mysql
и пользователя
mysql
. Синтаксис для useradd
и
groupadd
может немного отличаться в различных версиях Unix. Они
также могут быть названы adduser
и addgroup
.
shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -Эта команда создает каталог, именованный mysql-VERSION. Дистрибутивы представляют собой сжатые архивы с именами вроде mysql-VERSION.tar.gz , где VERSION определяет версию дистрибутива.
shell> cd mysql-VERSIONОбратите внимание, что в настоящее время Вы должны конфигурировать и формировать MySQL из этого каталога. Вы не можете формировать его, находясь в каком-то ином каталоге.
shell> ./configure --prefix=/usr/local/mysql shell> makeКогда Вы выполняете
configure
, Вы можете определять некоторые
дополнительные параметры. Выполните ./configure --help
, чтобы
получить перечень опций. В разделе "
2.3.3 Типичные опции configure
" обсуждаются некоторые из
наиболее полезных параметров. Если происходит сбой скрипта
configure
, и Вы собираетесь посылать сообщение об этом на
[email protected], чтобы
попросить о помощи, пожалуйста, включите в письмо строки из файла
config.log, которые, как Вы думаете, могут помочь решить проблему.
Также включите последнюю тройку строк из вывода configure
, если
configure
прерывается. Регистрируйте отчет ошибки, используя
скрипт mysqlbug
. Подробности в разделе
"1.4.1 Как сообщать об ошибках и проблемах
". Если компиляция не проходит нормально, обратитесь к разделу
"2.3.5 Проблемы компиляции".
shell> make installСкорее всего, Вы должны выполнить эту команду как
root
.
shell> scripts/mysql_install_dbОбратите внимание, что версии MySQL старше, чем Version 3.22.10, запускали сервер MySQL, когда Вы выполняли скрипт
mysql_install_db
. Это
больше не так!
root
и задайте в
качестве владельца каталога данных пользователя, от имени которого будет
работать сервер mysqld
:
shell> chown -R root /usr/local/mysql shell> chown -R mysql /usr/local/mysql/var shell> chgrp -R mysql /usr/local/mysqlПервая команда изменяет атрибут владельца файлов (
owner
) на
пользователя root
, второй изменяет атрибут владельца каталога
данных на пользователя mysql
, а третий меняет атрибут группы
владельца каталога данных (group
) на группу mysql
.
support-files/mysql.server
в
место, где Ваша система имеет файлы запуска. Большее количество информации
может быть найдено непосредственно в скрипте
support-files/mysql.server
и в разделе
"2.4.3 Автозапуск и завершение MySQL
".После того, как все было установлено, Вы должны инициализировать и проверить Ваш дистрибутив:
shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
Если эта команда немедленно валится с диагностикой mysqld daemon
ended
, Вы можете найти некоторую информацию в файле
mysql-data-directory/'hostname'.err. Вероятная причина в том, что Вы
уже имеете запущенный сервер mysqld
. Подробности в разделе
"4.1.4 Запуск нескольких серверов
MySQL на одной машине".
Иногда заплаты появляются в списке рассылки или помещаются в области заплат сайта MySQL ( http://www.mysql.com/Downloads/Patches).
Чтобы применить заплату из списка рассылки, сохраните сообщение, в котором пришла заплата, перейдите в верхний каталог Вашего дерева исходников MySQL и введите оттуда команды:
shell> patch -p1 < patch-file-name shell> rm config.cache shell> make clean
Заплаты с FTP-сайта распространяются как простые текстовые файлы или как
файлы, сжатые gzip
. Примените простую заплату как показано выше
для заплат из списка рассылки. Чтобы применить сжатую заплату, из верхнего
каталога Вашего дерева исходников MySQL надо ввести следующее:
shell> gunzip < patch-file-name.gz | patch -p1 shell> rm config.cache shell> make clean
После применения патча, выполните команды по настройке, компиляции и
установке сервера. После make install
перезапустите сервер.
Вы должны завершить работу сервера перед выполнением make
install
. Для этого используйте команду mysqladmin
shutdown
. Некоторые системы не позволяют Вам устанавливать новую
версию программы, если она заменяет собой ту версию, которая в
настоящее время выполняется.
configure
Скрипт configure
дает Вам хороший контроль над тем, как Вы
конфигурируете свой дистрибутив MySQL. Чтобы получить список опций,
configure
, выполните команду:
shell> ./configure --help
Некоторые из наиболее часто используемых параметров configure
подробно описаны ниже:
--without-server
:
shell> ./configure --without-serverЕсли Вы не имеете компилятора C++,
mysql
не скомпилируется (есть
одна программа-клиент, которая требует наличия C++). В этом случае Вы можете
удалить код в выборе конфигурации, который проверяет наличие компилятора C++,
и снова выполнить ./configure
с опцией
--without-server
. Шаг компиляции все еще будет пробовать
формировать mysql
, но Вы можете игнорировать любые
предупреждения относительно mysql.cc. Если make
останавливается, попытайтесь применить make -k
, чтобы сообщить,
чтобы процесс продолжался, даже если происходят ошибки.
configure
в следующем виде:
shell> ./configure --prefix=/usr/local/mysql shell> ./configure --prefix=/usr/local \ --localstatedir=/usr/local/mysql/dataПервая команда изменяет префикс установки так, чтобы все было установлено под /usr/local/mysql, а не в /usr/local. Вторая команда сохраняет заданный по умолчанию префикс установки, но отменяет заданное по умолчанию расположение для каталогов баз данных (обычно /usr/local/var) и изменяет его на
/usr/local/mysql/data
.
configure
:
shell> ./configure \ --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sockОбратите внимание, что данный файл должен быть абсолютным именем! Вы можете также позже изменять расположение mysql.sock, используя файлы опций MySQL. Подробности в разделе "8.4.5 Как защищать или менять файл сокета MySQL /tmp/mysql.sock".
configure
примерно так:
shell> ./configure --with-client-ldflags=-all-static \ --with-mysqld-ldflags=-all-static
gcc
и не имеете установленных библиотек
libg++
или libstdc++
, Вы можете сообщить, чтобы
configure
использовал gcc
как Ваш компилятор C++:
shell> CC=gcc CXX=gcc ./configureКогда Вы используете
gcc
как Ваш компилятор C++, он не будет
пытаться компоновать с libg++
или libstdc++
.
Имеются некоторые общие системные переменные, которые надо установить в
зависимости от того компилятора, который Вы используете:
gcc 2.7.2.1 | CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors" |
egcs 1.0.3a | CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" |
gcc 2.95.2 | CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" |
pgcc 2.90.29 или более новый | CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -mstack-align-double -felide-constructors -fno-exceptions -fno-rtti" |
--prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-staticПолная строка выбора конфигурации была бы, другими словами, чем-то вроде следующего для всех недавних версий gcc:
CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -felide-constructors \ -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static
Все двоичные дистрибутивы с сайта MySQL ( http://www.mysql.com) компилируются с полной оптимизацией и должны быть пригодны для большинства пользователей.Подробности в разделе "2.2.6 Двоичные версии MySQL, скомпилированные MySQL AB". Имеются некоторые вещи, которые Вы можете подправить, чтобы сделать версию более быстрой, но это только для продвинутых пользователей. Подробности в разделе "5.5.3 Как компиляция и компоновка воздействует на быстродействие MySQL".
Если процесс построения кода валится с ошибкой создания разделяемой
библиотеки libmysqlclient.so.# (`#' представляет собой
код версии), Вы можете обойти эту проблему, задавая опцию
--disable-shared
в строке для вызова configure
. В
этом случае configure
не будет формировать общедоступную
библиотеку libmysqlclient.so.#
.
DEFAULT
для не пустых столбцов (то есть столбцов, которым не
позволяют иметь значение NULL
). Это заставляет инструкции
INSERT
генерировать ошибку, если Вы явно не определяете значения
для всех столбцов, которые требуют значения не-NULL
. Чтобы
подавить использование значений по умолчанию, выполните выбор
конфигурации подобно этому:
shell> CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure
--with-charset
:
shell> ./configure --with-charset=CHARSET
CHARSET
может быть одним из значений big5
,
cp1251
, cp1257
, czech
,
danish
, dec8
, dos
,
euc_kr
, gb2312
, gbk
,
german1
, hebrew
, hp8
,
hungarian
, koi8_ru
, koi8_ukr
,
latin1
, latin2
, sjis
,
swe7
, tis620
, ujis
, usa7
или win1251ukr
. Подробности в разделе
"4.6.1 Набор символов, используемый
для данных и сортировки". Если Вы хотите преобразовывать символы между
клиентом и сервером, Вы должны изучить команду SET OPTION CHARACTER
SET
. Подробности в разделе "5.5.6
Синтаксис SET
".
Предупреждение: Если Вы изменяете наборы символов, создав
любые таблицы, Вы должны выполнить на каждой таблице
myisamchk -r -q
. Иначе Ваши индексы могут сортироваться
неправильно. Это может случиться, если Вы устанавливаете MySQL, создаете
некоторые таблицы, затем реконфигурируете MySQL, чтобы использовать иной
набор символов, и повторно устанавливаете его. С опцией
--with-extra-charset=LIST
Вы можете определять, которые
дополнительные наборы символов должны быть скомпилированы в код сервера.
Здесь LIST
является или списком набора символов, разделяемых
пробелами с параметром complex
, чтобы включить все символы,
которые не могут быть динамически загружены, или all
, чтобы
включить все наборы символов.
--with-debug
:
shell> ./configure --with-debugЭто заставляет включить безопасный распределитель памяти, что может находить некоторые ошибки, и обеспечивает вывод относительно того, что происходит. Подробности в разделе " 6.1 Отладка сервера MySQL".
--enable-thread-safe-client
.
Это создаст библиотеку libmysqlclient_r
, с которой Вы должны
скомпоновать свои прикладные программы.
ПРЕДОСТЕРЕЖЕНИЕ: Вы должны читать этот раздел только, если Вы заинтересованы в помощи авторам и отладке кода. Если Вы только хотите получить MySQL и использовать его на своей системе, Вы должны использовать стандартный дистрибутив (двоичный или с исходниками).
Чтобы получить самое современное дерево источников разработок, используйте эти команды:
shell> bk clone bk://work.mysql.com:7000 mysql
Для получения кода версии 4.0, используйте такую команду:
shell> bk clone bk://work.mysql.com:7001 mysql-4.0
Начальная загрузка исходного дерева может требовать времени в зависимости от быстродействия Вашего подключения, будьте терпеливы.
autoconf
, automake
,
libtool
и макропроцессоре m4
, чтобы выполнить
следующий набор команд. Если Вы получаете некоторую странную ошибку в течение
этой стадии, проверьте, что Вы действительно имеете установленный
libtool
!
shell> cd mysql shell> bk -r edit shell> aclocal; autoheader; autoconf; automake; shell> ./configure # Add your favorite options here shell> make
Совокупность стандартных скриптов выбора конфигурации размещена в подкаталоге BUILD. В самом простом случае Вы можете использовать BUILD/compile-pentium-debug. Чтобы компилировать на различной архитектуре, измените скрипт, убрав из него параметры, которые являются специфическими для Pentium.
make install
. Будьте
внимательным с этим на промышленной машине: команда может записывать поверх
Вашей работающей установки. Если Вы имеете другую установку MySQL, задайте
для ./configure
другие значения для параметров
prefix
, tcp-port
и unix-socket-path
.
make
, но дистрибутив не
компилируется, пожалуйста, сообщите об этом на
[email protected]. Если Вы
установили последние версии требуемых инструментальных средств GNU, и они
разрушаются при попытке обработать наши файлы конфигурации, пожалуйста,
сообщите об этом. Однако, если Вы выполняете aclocal
и получаете
ошибку command not found
или подобную проблему, не сообщайте об
этом. Вместо этого, удостоверьтесь, что все необходимые инструментальные
средства установлены, и что Ваша переменная PATH
установлена
правильно, так что Ваша оболочка может находить их.
bk clone
получила
исходное дерево, Вы должны периодически выполнять bk pull
,
чтобы получать модификации.
bk sccstool
. Если Вы видите некоторый забавный diffs
или код, относительно которого есть вопросы, без колебаний посылайте запрос
на [email protected].
Также, если Вы думаете, что Вы имеете лучшую идею относительно того, как
что-то сделать, посылайте e-mail на тот же самый адрес с патчем. bk
diffs
произведет заплату для Вас после того, как Вы сделали изменения
для исходника. Если Вы не имеете времени на кодирование Вашей идеи, только
пошлите ее описание.
bk helptool
.Все программы MySQL компилируются чисто, без предупреждений, на Solaris с
применением gcc
. На других системах предупреждения могут
происходить из-за различий в системе и включаемых файлов. В разделе
"2.3.6 Замечания по MIT-pthreads" есть
подробности для предупреждений, которые могут происходить при использовании
MIT-pthreads. Для других проблем проверьте список ниже.
Решение для многих проблем включает повторное конфигурирование. Если Вы должны реконфигурировать пакет, примите во внимание следующее:
configure
выполнен после того, как он уже был
выполнен, это может использовать информацию, которая была собрана в течение
предыдущего обращения. Эта информация сохранена в файле
config.cache. Когда configure
запускается, он ищет этот
файл и читает его содержание, если файл существует, при условии, что
информация все еще правильна. При реконфигурировании это не так.
configure
, Вы должны снова
выполнить make
, чтобы перетранслировать пакет. Однако, Вы можете
удалять старые объектные файлы потому, что они компилировались, используя
иные параметры конфигурации.Чтобы избавиться от старой информации о конфигурации или объектных файлов,
выполните эти команды перед повторным запуском configure
:
shell> rm config.cache shell> make clean
Альтернативно, Вы можете выполнять make distclean
.
Список ниже описывает некоторые из проблем при компиляции MySQL, которые были найдены наиболее часто:
Internal compiler error: program cc1plus got fatal signal 11 или Out of virtual memory или Virtual memory exhaustedПроблема состоит в том, что
gcc
требует огромные объемы памяти
для компиляции sql_yacc.cc со встроенными функциями. Попробуйте
вызвать 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++ не работал! Чтобы обойти эти
проблемы, Вы можете использовать gcc
как компилятор C++.
Попробуйте устанавливать системную переменную CXX
в значение
"gcc -O3"
. Например, так:
shell> CXX="gcc -O3" ./configureЭто работает потому, что
gcc
компилирует исходники C++ также,
как g++
, но по умолчанию не выполняет компоновку с библиотеками
libg++
или libstdc++
. Другой способ решить эти
проблемы, конечно, состоит в том, чтобы установить g++
,
libg++
и libstdc++
.
make
до GNU make
:
making all in mit-pthreads make: Fatal error in reader: Makefile, line 18: Badly formed macro assignment или make: file `Makefile' line 18: Must be a separator (: или pthread.h: No such file or directorySolaris и FreeBSD, как известно, имеют ненадежные программы
make
. GNU make
Version 3.75 работает.
CFLAGS
и CXXFLAGS
. Вы можете также определять имена
трансляторов, используя переменные
CC
и CXX
. Например:
shell> CC=gcc shell> CFLAGS=-O3 shell> CXX=gcc shell> CXXFLAGS=-O3 shell> export CC CFLAGS CXX CXXFLAGSПодробности в разделе "2.2.6 Двоичные версии MySQL, скомпилированные MySQL AB", там есть список определений, которые были найдены полезными на различных системах.
gcc
:
client/libmysql.c:273: parse error before `__attribute__'
gcc
2.8.1, как известно, работает, но рекомендуется использовать
вместо него gcc
2.95.2 или egcs
1.0.3a.
mysqld
, стало быть скрипт configure
правильно не
обнаруживали тип последнего параметра для вызовов accept()
,
getsockname()
или getpeername()
:
cxx: Error: mysqld.cc, line 645: In this statement, the referenced type of the pointer value "&length" is "unsigned long", which is not compatible with "int". new_sock = accept(sock, (struct sockaddr *)&cAddr, &length);
Чтобы исправить это, отредактируйте файл config.h (который
сгенерирован configure
). Ищите эти строки:
/* Define as the base type of the last arg to accept */ #define SOCKET_SIZE_TYPE XXXСмените
XXX
на size_t
или int
, в
зависимости от Вашей операционной системы. Обратите внимание, что Вы должны
делать это, каждый раз, когда Вы выполняете configure
, поскольку
configure
всегда пересоздает файл config.h.
"sql_yacc.yy", line xxx fatal: default action causes potential...Это знак того, что Ваша версия
yacc
несовершенная. Вы, вероятно,
должны установить bison
(GNU-версия yacc
) и
использовать его вместо своей версии.
mysqld
или MySQL-клиента, запустите
configure
с опцией --with-debug
, это
перетранслирует и скомпонует Вашу клиентуру с новой библиотекой
пользователей. Подробности в разделе "
6.2 Отладка клиентов MySQL".Этот раздел описывает некоторые из проблем в использовании MIT-pthreads.
Обратите внимание, что в Linux Вы не должны использовать MIT-pthreads, а установить вместо него LinuxThreads! Подробности в разделе "2.6.1 Замечания по Linux (все версии Linux)".
Если Ваша система не обеспечивает местную поддержку потоков, Вы должны формировать MySQL с применением пакета MIT-pthreads. Это включает старые системы FreeBSD, SunOS 4.x, Solaris 2.4 и ранее и некоторые другие. Подробности в разделе "2.2.2 Операционные системы, поддерживаемые MySQL".
configure
с опцией
--with-mit-threads
:
shell> ./configure --with-mit-threads
Формирование дистрибутива не в каталоге исходников не поддержано при использовании MIT-pthreads, поскольку разработчикам MySQL лень править код.
--without-server
, чтобы формировать только код пользователя,
клиентура не будет знать, используется или нет MIT-pthreads, и по умолчанию
использует Unix-подключения через сокеты. Поскольку Unix-сокеты не работают
под MIT-pthreads, это означает, что Вы будете должны использовать параметры
-h
или --host
, когда Вы выполняете клиентов.
--use-locking
.
bind()
не может связаться с сокетом
без любых сообщений об ошибках (по крайней мере, на Solaris). Результат то,
что все подключения к серверу терпят неудачу. Например:
shell> mysqladmin version mysqladmin: connect to server at '' failed; error: 'Can't connect to mysql server on localhost (146)'Решение для этого состоит в том, чтобы перезапустить
mysqld
.
sleep()
не прерывается
сигналом SIGINT
(break). Это важно только, когда Вы выполняете
mysqladmin --sleep
. Вы должны ждать завершения обращения
sleep()
. Только после этого процесс наконец завершится.
ld: warning: symbol `_iob' has differing sizes: (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4; file /usr/lib/libc.so value=0x140); /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken ld: warning: symbol `__iob' has differing sizes: (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4; file /usr/lib/libc.so value=0x140); /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
implicit declaration of function `int strtoll(...)' implicit declaration of function `int strtoul(...)'
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |