Jun 26, 2011 17:57
Когда-то, месяца 2 назад поставил на свою домашнюю FreeBSD xrdp чтоб наши бд-разработчик и пхп-разработчик имели комфортный доступ там где есть винда, но недоступен Putty.
И тогда попросил много уважаемый дб-разраб поставить mysql-query-browser.
Не долго думая, полез искать в портах. Нету.
Послез искать в гугле. Был, но не собирался и уже года 3 как нету.
Ищу дальше: есть, но в составе порта mysql-gui-tools. Ставим - не ставится.
Гугль по выскочивашей у меня ошибке ведёт на FreeBSD форум, но человеку у которого не собирается этот порт утверждают что он сам дурак, что у всех работает.
Вобщем эти два месяца я пытался поставить более старую версию порта или собрать из исходников с офф сайта - не получалось. И руки кривые и лень в исходники лезть и вообще.
Сегодня же вынужденный остаться дома и решил всё же заглянуть где ошибку выбивает инсталляция mysql-gui-tools из портов. Оказалось что в библиотеке
./work/mysql-gui-tools-5.0r14/common/library/utilities/include/myx_util_functions.h
в районе 100й строки переобъявляются типы. Они уже раньше объявлены в глобальной библиотеке
my_global.h
оставить нужно только 2 строки обявления функций (на сколько я понял):
/*#if defined(__WIN__) || defined(_WIN32) || defined(_WIN64)^M
typedef unsigned int uint; ^M
typedef unsigned char uint8;^M
typedef unsigned char uchar;^M
typedef signed char int8; ^M
typedef unsigned short uint16; ^M
typedef short int16; ^M
typedef unsigned long uint32; ^M
typedef long int32; ^M
typedef unsigned long ulong;^M
typedef __int64 longlong;^M
typedef unsigned __int64 ulonglong;^M
#else^M*/
# define min(a,b) ((a)<(b)?(a):(b))^M
# define max(a,b) ((a)>(b)?(a):(b))^M
/*^M
typedef unsigned char uint8;^M
typedef unsigned char uchar;^M
typedef signed char int8; ^M
typedef unsigned short uint16;^M
typedef short int16; ^M
typedef unsigned long uint32; ^M
typedef long int32;^M
#ifndef __GLIBC__^M
typedef unsigned long ulong;^M
#endif^M
typedef long long longlong;^M
typedef unsigned long long ulonglong;^M
#endif^M*/
По скольку объявление типов мы закомментировали, потом в файле
./work/mysql-gui-tools-5.0r14/common/library/base-library/source/myx_shell.c
необходимо добавить строку:
typedef unsigned long long ulonglong;^M
После этого порт собирается и с MySQL-Administrator и MySQL-Query-Browser
PROFIT...
it,
Никсы,
freebsd