Re: lug-bg: малко помощ
- Subject: Re: lug-bg: малко помощ
- From: Viktor Vasilev <viktor@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Sun, 30 Nov 2003 21:11:25 +0100
- Mail-followup-to: lug-bg@xxxxxxxxxxxxxxxxxx
On Sun, Nov 30, 2003 at 04:29:12PM +0200, lazcorp@xxxxxxx wrote:
> Цитат на писмо от Viktor Vasilev <viktor@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>:
>
> | On Sun, Nov 30, 2003 at 04:56:41AM +0200, lazcorp@xxxxxxx wrote:
> | > При опит да компилирам файловете който се намира ето тук:
> | > http://irchelp.unibg.org/irchelp/Downloads/TCLs/mods/fbsql.zip
> | > получавам следната грешка
> | > ========
> | > cc -Wall -fPIC -I/usr/pkg/include/tcl8.0 -I/usr/include/mysql -c -o
> | fbsql.o
> | > fbsql.c
> | > fbsql.c: In function `fbsql_connect':
> | > fbsql.c:82: warning: implicit declaration of function `mysql_connect'
> | > fbsql.c: In function `Fbsql_Init':
> | > fbsql.c:588: warning: passing arg 3 of `Tcl_CreateCommand' from
> | incompatible
> | > pointer type
> | > fbsql.c:598: warning: passing arg 3 of `Tcl_CreateCommand' from
> | incompatible
> | > pointer type
> | > ld -o fbsql.so fbsql.o -Bshareable -lz -x /usr/lib/mysql/libmysqlclient.a
> | > =======
> | > След това при опит да заредя модула ми дава тази грешка:
> | > couldn't load file "*********fbsql.so": ******fbsql.so: undefined symbol:
> | > mysql_connect
> | >
> |
> | Може би при теб libmysqlclient.a не е в директория /usr/lib/mysql, или
> | липсва едно -lmysqlclient при извикването на ld. Каква дистрибуция
> | използваш и как инсталира MySQL?
>
> Пътя е точен, а дистрибуциятя ми е Slackware 9.1
> mysql-а си е инсталиран по default както си е
> Грешка която намерих е, че нямадиректория /usr/pkg/include/tcl8.0 , същестува
> /usr/lib/tcl8.4/ - замених ги вMakefile, но и така дава същата грешка.
>
Разгледах кода, извода ми е следния - използва се функция mysql_connect, която
според MySQL API е depricated. Решението е да промениш мъничко кода:
ред 82 на fbsql.c трябва да се промени от:
if (!(mysql_connect(&connection[sql_number].mysql,host,user,passwd))) {
на:
if (!(mysql_real_connect(&connection[sql_number].mysql,
host,user,passwd,NULL, 0, NULL, 0))) {
Тествах го само дали се зарежда, не дали функционира 8-)
$ cat blah.tcl
load /home/user/work/fbsql/fbsql.so
$ tclsh8.4 blah.tcl
$
А преди беше така:
$ tclsh8.4 blah.tcl
couldn't load file "/home/user/work/fbsql/fbsql.so":
/home/user/work/fbsql/fbsql.so: Undefined symbol "mysql_connect"
while executing
"load /home/user/work/fbsql/fbsql.so"
(file "blah.tcl" line 1)
Та не се оплаква вече. 8-)
Поздрави,
Виктор
--
Microsoft: Where do you want to go today?
Linux: Where do you want to go tomorrow?
BSD: Are you guys coming, or what?
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|