parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

can't open the module $sqldriversdir/libparser3mysql.so

Constantine 10.08.2004 03:02 / 10.08.2004 03:08

_test.html выдаёт ошибку
    Работа с SQL

    ^int:sql{SELECT 2+2}: Что-то непонятное с SQL. Наверное не положены куда надо драйвера.
    Сообщение об ошибке:

    can't open the module
    $sqldriversdir/libparser3mysql.so 
При этом в начале того же самого _test.html написано:
    $SQL:
    mysql /usr/home/parser/cgi-bin/lib/libparser3mysql.so (90703 байт) /usr/local/lib/mysql/libmysqlclient.so (не найден)
Могу заметить, что libmysqlclient.so также существует:
# ll /usr/local/lib/mysql/libmysqlclient.so
lrwxrwxrwx 1 root wheel 20 21 May 00:50 /usr/local/lib/mysql/libmysqlclient.so -> libmysqlclient.so.12
Пробовал указывать полный путь к libparser3mysql.so, не помогает.

ПО:
FreeBSD 5.2.1
Apache 2.0.48
MySQL 4.0.16
Parser 3.1.3
GCC 3.3.3 [FreeBSD] 20031106


Команды, которые были использованы для установки libgc (make install выполнен из-под рута):
fetch http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.1.tar.gz
untar gc6.1.tar.gz
cd gc6.1
./configure --disable-threads
make
make install
Команды, которые были использованы для установки самого парсера (выполнены локальным пользователем parser):
cd cvs/release_3_1_3/
cvs -d :pserver:anonymous@cvs.parser.ru:/parser3project login
cvs -d :pserver:anonymous@cvs.parser.ru:/parser3project co -r release_3_1_3 parser3 sql/mysql
cd parser3/
./configure --prefix=$HOME/cgi-bin --with-shared-gc=/usr/local/lib
make
make install
cd ../sql/mysql/
./configure --prefix=$HOME/cgi-bin
make
make install
cd ~/cgi-bin/bin/
chmod u+s parser3
Вот содержание файла ~/cgi-bin/bin/auto.p:
#$Id: auto.p.dist.in,v 1.11 2004/02/13 13:59:51 paf Exp $

@conf[filespec]
$confdir[^file:dirname[$filespec]]
$charsetsdir[$confdir/../etc/parser3.charsets]
$sqldriversdir[$confdir/../lib]

$CHARSETS[
#    $.koi8-r[$charsetsdir/koi8-r.cfg]
#    $.windows-1250[$charsetsdir/windows-1250.cfg]
    $.windows-1251[$charsetsdir/windows-1251.cfg]
#    $.windows-1257[$charsetsdir/windows-1257.cfg]
]
#change your client libraries paths to those on your system
$SQL[
	$.drivers[^table::set{protocol	driver	client
#mysql	$sqldriversdir/libparser3mysql.so	/usr/local/lib/mysql/libmysqlclient.so
mysql	/usr/home/parser/cgi-bin/lib/libparser3mysql.so	/usr/local/lib/mysql/libmysqlclient.so
}]
]

#for ^file:load[name;user-name] mime-type autodetection
$MIME-TYPES[^table::set{ext	mime-type
zip	application/zip
doc	application/msword
xls	application/vnd.ms-excel
pdf	application/pdf
ppt	application/powerpoint
rtf	application/rtf
gif	image/gif
jpg	image/jpeg
jpeg	image/jpeg
png	image/png
tif	image/tiff
html	text/html
htm	text/html
txt	text/plain
xml	text/xml
mts	application/metastream
mid	audio/midi
midi	audio/midi
mp3	audio/mpeg
ram	audio/x-pn-realaudio
rpm	audio/x-pn-realaudio-plugin
ra	audio/x-realaudio
wav	audio/x-wav
au	audio/basic
mpg	video/mpeg
avi	video/x-msvideo
mov	video/quicktime
swf	application/x-shockwave-flash
}]

$LIMITS[
	$.post_max_size(10*0x400*0x400)
]	

#$MAIL[
#	$.sendmail[your sendmail command goes here]
#	these are tried when no 'sendmail' specified:
#	    /usr/sbin/sendmail -t -i -f postmaster
#	    /usr/lib/sendmail -t -i -f postmaster
#]

@fatal_error[title;subtitle;body]
$response:status(500)
$response:content-type[
        $.value[text/html]
        $.charset[$response:charset]
]
<html>
<head><title>$title</title></head>
<body>
<h1>^if(def $subtitle){$subtitle;$title}</h1>
$body
#for [x] MSIE friendly
^for[i](0;512/8){<!-- -->}
</body>
</html>

@unhandled_exception_debug[exception;stack]
^fatal_error[Unhandled Exception^if(def $exception.type){ ($exception.type)};$exception.source;
<pre>^untaint[html]{$exception.comment}</pre>
^if(def $exception.file){
^untaint[html]{<tt>$exception.file^(${exception.lineno}:$exception.colno^)</tt>}
}
^if($stack){
	<hr/>
	<table>
	^stack.menu{
		<tr><td>$stack.name</td><td><tt>$stack.file^(${stack.lineno}:$stack.colno^)</tt></td></tr>
	}
	</table>
}
]

@unhandled_exception_release[exception;stack]
^fatal_error[Unhandled Exception;;

<p>The server encountered an unhandled exception 
and was unable to complete your request.</p>
<p>Please contact the server administrator, $env:SERVER_ADMIN
and inform them of the time the error occurred, 
and anything you might have done that may have caused the error.</p>
<p>More information about this error may be available in the Parser error log
or in debug version of unhandled_exception.</p>

]

################################################################################

@unhandled_exception[exception;stack]
^if(
	("$exception.type" eq "file.missing") && 
	(def $exception.source) && 
	(^exception.source.match[$request:uri][] || ^exception.source.match[^request:uri.match[(.+)\x3f.*][]{$match.1}][])
){
	^unhandled_exception_404[]
}{
#	^unhandled_exception_release[$exception;$stack]
	^unhandled_exception_debug[$exception;$stack]
}

################################################################################

@unhandled_exception_404[]
^unhandled_exception_404_xhtml[]

################################################################################

@unhandled_exception_404_html[]
$response:Status[404 Not Found]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
#<h1>Not Found</h1>
<h1>Page Not Found</h1>
#The requested URL $env:REQUEST_URI was not found on this server.<p>
Sorry, but $env:REQUEST_URI doesn't exist on this website. <p>
<hr>
<a href='http://$env:SERVER_NAME/'>$env:SERVER_NAME</a><p>
#<hr>
#^untaint{$env:SERVER_SIGNATURE}
</body></html>

################################################################################

@unhandled_exception_404_xhtml[]
$response:Status[404 Not Found]
<?xml version="1.0" encoding="$response:charset"?>
<!-- $date_now[^date::now[]]^date_now.sql-string[] -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB" lang="en-GB">
  <head>
    <title>404 Not Found</title>
  </head>
  <body>
    <h1>Page Not Found</h1>
    <p>Sorry, but $env:REQUEST_URI doesn't exist on this website. </p>
#    <p>Try to visit our index page to locate the necessary information. </p>
    <hr/>
    <p><a href='http://$env:SERVER_NAME/'>http://$env:SERVER_NAME/</a></p>
  </body>
</html>

################################################################################

@auto[]
#source/client charsets
$request:charset[windows-1251]
$response:charset[windows-1251]

$response:content-type[
        $.value[text/html]
        $.charset[$response:charset]
]

$SQL.connect-string[mysql://root@127.0.0.1/p3?charset=cp1251_koi8]
Проблема возникает как на "рабочем" сервере FreeBSD 5.2.1 / Apache2 / mysql4 / gcc33, так и на "домашнем" FreeBSD 4.8 / Apache 1.3 / mysql 3.23.55 / gcc295.