Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

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
============================================================================



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.