<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Perl+Sybase vs. Apache</title>
    <link>https://opennet.dev/openforum/vsluhforumID8/5711.html</link>
    <description>Здравствуйте уважаемые!&lt;br&gt;Никак не могу решить следующий затык:&lt;br&gt;&lt;br&gt;Есть скрипт на perl который обращается к БД (простой селект)&lt;br&gt;Если его запускать из консоли, то он нормально отрабатывает и получает данные.&lt;br&gt;Если пытаюсь запускать из Апача, то он вываливает в лог Апача:&lt;br&gt;/var/www/localhos: relocation error: /usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/Sybase/DBlib/DBlib.so: symbol dbopen, version FLSSL_1 not defined in file libsybdb.so with link time reference&lt;br&gt;&lt;br&gt;Причём &quot;/var/www/localhos:&quot; не хватает t и это не моя опечатка. Косяк конфига? какого? Апач перерыл...&lt;br&gt;&lt;br&gt;Просто мозг сломал, что это может быть?..&lt;br&gt;На всякий случай:&lt;br&gt;&lt;br&gt;#!/usr/bin/perl&lt;br&gt;print &quot;Content-type: text/html&#092;n&#092;n&quot;;&lt;br&gt;use Sybase::DBlib;&lt;br&gt;print &apos;test&apos;;&lt;br&gt;#exit();&lt;br&gt;$dbh = Sybase::DBlib-&amp;gt;new(&quot;login&quot;, &quot;passwd&quot;, &quot;1.1.1.1&quot;);&lt;br&gt;&lt;br&gt;$status = $dbh-&amp;gt;dbuse(&quot;db_name&quot;);&lt;br&gt;&lt;br&gt;$dbh-&amp;gt;dbcmd(&quot;EXEC xp_name 2,4596605,1,0,0,&apos;ss&apos;,1,10&quot;);&lt;br&gt;$dbh-&amp;gt;dbsqlexec;&lt;br&gt;while($dbh-&amp;gt;dbresults != NO_MORE_RESULTS) &#123;&lt;br&gt;    while(&#064;data = $dbh-&amp;gt;dbnextrow) &#123;&lt;br&gt;        print &quot;&#064;data&#092;n&quot;;&lt;br&gt;    </description>

<item>
    <title>Perl+Sybase vs. Apache (hexes)</title>
    <link>https://opennet.dev/openforum/vsluhforumID8/5711.html#5</link>
    <pubDate>Wed, 23 Apr 2008 04:06:26 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;/opt/sybase/OCS-15_0/lib/libsybdb.so &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;временно убрал из /usr/lib/, не помогло. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Зато апач стал по другому ругаться: &lt;br&gt;&amp;gt;Can&apos;t load &apos;/usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/Sybase/DBlib/DBlib.so&apos; for module Sybase::DBlib: libsybdb.so: cannot open shared object file: &lt;br&gt;&amp;gt;No such file or directory at /usr/lib/perl5/5.8.8/i686-linux/DynaLoader.pm line 230. &lt;br&gt;&amp;gt; at /var/www/localhost/perl/places.pl line 3 &lt;br&gt;&amp;gt;Compilation failed in require at /var/www/localhost/perl/places.pl line 3. &lt;br&gt;&amp;gt;BEGIN failed--compilation aborted at /var/www/localhost/perl/places.pl line 3. &lt;br&gt;&lt;br&gt;Вообщем что выясняется: /usr/lib/libsybdb.so вроде как используется РНР (потому как после его удаления Апач перестал загружаться), но в РНР из под Апача всё отлично работает!..&lt;br&gt;&lt;br&gt;Есть конечно ещё один вар-т - ход конём - который мне сильно упростит жизнь: научить РНР запускать хранимые процедуры Sybase...&lt;br&gt;</description>
</item>

<item>
    <title>Perl+Sybase vs. Apache (hexes)</title>
    <link>https://opennet.dev/openforum/vsluhforumID8/5711.html#4</link>
    <pubDate>Tue, 22 Apr 2008 13:25:19 GMT</pubDate>
    <description>&#064;INC из консоли:&lt;br&gt;/etc/perl&lt;br&gt;/usr/lib/perl5/vendor_perl/5.8.8/i686-linux&lt;br&gt;/usr/lib/perl5/vendor_perl/5.8.8&lt;br&gt;/usr/lib/perl5/vendor_perl&lt;br&gt;/usr/lib/perl5/site_perl/5.8.8/i686-linux&lt;br&gt;/usr/lib/perl5/site_perl/5.8.8&lt;br&gt;/usr/lib/perl5/site_perl&lt;br&gt;/usr/lib/perl5/5.8.8/i686-linux&lt;br&gt;/usr/lib/perl5/5.8.8&lt;br&gt;/usr/local/lib/site_perl&lt;br&gt;.&lt;br&gt;&lt;br&gt;из апача:&lt;br&gt;/home/httpd/perl          -такого пути вообще нет&lt;br&gt;/etc/perl&lt;br&gt;/usr/lib/perl5/vendor_perl/5.8.8/i686-linux&lt;br&gt;/usr/lib/perl5/vendor_perl/5.8.8&lt;br&gt;/usr/lib/perl5/vendor_perl&lt;br&gt;/usr/lib/perl5/site_perl/5.8.8/i686-linux&lt;br&gt;/usr/lib/perl5/site_perl/5.8.8&lt;br&gt;/usr/lib/perl5/site_perl&lt;br&gt;/usr/lib/perl5/5.8.8/i686-linux&lt;br&gt;/usr/lib/perl5/5.8.8&lt;br&gt;/usr/local/lib/site_perl&lt;br&gt;.&lt;br&gt;/usr/lib/apache2&lt;br&gt;&lt;br&gt;libsybdb.so лежит тут:&lt;br&gt;/usr/lib/libsybdb.so&lt;br&gt;/opt/sybase/OCS-15_0/devlib/libsybdb.so&lt;br&gt;/opt/sybase/OCS-15_0/lib/libsybdb.so&lt;br&gt;&lt;br&gt;временно убрал из /usr/lib/, не помогло.&lt;br&gt;&lt;br&gt;Зато апач стал по другому ругаться:&lt;br&gt;Can&apos;t load &apos;/usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/Sybase/DBlib/DBlib.so&apos; for module Sybase::DBlib: </description>
</item>

<item>
    <title>Perl+Sybase vs. Apache (angra)</title>
    <link>https://opennet.dev/openforum/vsluhforumID8/5711.html#3</link>
    <pubDate>Tue, 22 Apr 2008 07:19:35 GMT</pubDate>
    <description>Ошибка скорее всего из-за несоответствия версий библиотек. Убедись что система синхронизирована, что ничего не ставилось в обход менеджера пакетов, при необходимости сделай апдейт системе. Если что-то ставил напрямую с CPAN, то убедись что все используемое тоже стоит из CPAN, то есть нет ситуации что один модуль поставлен из репозитария дистрибутива, а другой из CPAN, возможно стоит переустановить проблемные модули. Ну и наконец если работает в консоли и не работает в апаче, то возможно установлены разные версии одной библиотеки в разные каталоги перла и поиск происходит в разном порядке. Поищи все места где стоит libsybdb.so, попробуй некоторые из них временно перенести(Ну или менять &#064;INC в скрипте, кстати стоит его вывести в обоих случаях и сравнить) дабы найти работающий вариант. &lt;br&gt;</description>
</item>

<item>
    <title>Perl+Sybase vs. Apache (hexes)</title>
    <link>https://opennet.dev/openforum/vsluhforumID8/5711.html#2</link>
    <pubDate>Tue, 22 Apr 2008 03:26:00 GMT</pubDate>
    <description>UPDATE: &lt;br&gt;куски strace&lt;br&gt;&lt;br&gt;strace ./script.pl&lt;br&gt;&lt;br&gt;open(&quot;/usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/Sybase/DBlib/DBlib.so&quot;, O_RDONLY) = 8&lt;br&gt;read(8, &quot;&#092;177ELF&#092;1&#092;1&#092;1&#092;0&#092;0&#092;0&#092;0&#092;0&#092;0&#092;0&#092;0&#092;0&#092;3&#092;0&#092;3&#092;0&#092;1&#092;0&#092;0&#092;0 Y&#092;0&#092;0004&#092;0&#092;0&#092;0&quot;..., 512) = 512&lt;br&gt;fstat64(8, &#123;st_mode=S_IFREG&amp;#124;0555, st_size=145879, ...&#125;) = 0&lt;br&gt;mmap2(NULL, 128488, PROT_READ&amp;#124;PROT_EXEC, MAP_PRIVATE&amp;#124;MAP_DENYWRITE, 8, 0) = 0xb7ba2000&lt;br&gt;mmap2(0xb7bc0000, 8192, PROT_READ&amp;#124;PROT_WRITE, MAP_PRIVATE&amp;#124;MAP_FIXED&amp;#124;MAP_DENYWRITE, 8, 0x1e) = 0xb7bc0000&lt;br&gt;close(8)                                = 0&lt;br&gt;open(&quot;/opt/sybase/DataAccess/ODBC/lib/libsybdb.so&quot;, O_RDONLY) = -1 ENOENT (No such file or directory)&lt;br&gt;open(&quot;/opt/sybase/OCS-15_0/lib/libsybdb.so&quot;, O_RDONLY) = 8&lt;br&gt;read(8, &quot;&#092;177ELF&#092;1&#092;1&#092;1&#092;0&#092;0&#092;0&#092;0&#092;0&#092;0&#092;0&#092;0&#092;0&#092;3&#092;0&#092;3&#092;0&#092;1&#092;0&#092;0&#092;0D&#092;321&#092;0&#092;0004&#092;0&#092;0&#092;0&quot;..., 512) = 512&lt;br&gt;fstat64(8, &#123;st_mode=S_IFREG&amp;#124;0755, st_size=791527, ...&#125;) = 0&lt;br&gt;mmap2(NULL, 679456, PROT_READ&amp;#124;PROT_EXEC, MAP_PRIVATE&amp;#124;MAP_DENYWRITE, 8, 0) = 0xb7afc000&lt;br&gt;mmap2(0xb7b8f000, 57344, PROT_READ&amp;#124;PROT_W</description>
</item>

<item>
    <title>Perl+Sybase vs. Apache (hexes)</title>
    <link>https://opennet.dev/openforum/vsluhforumID8/5711.html#1</link>
    <pubDate>Tue, 22 Apr 2008 02:43:57 GMT</pubDate>
    <description>UPDATE:&lt;br&gt;если попробовать запустить этот скрипт из под РНР&lt;br&gt;exec(&apos;script.pl&apos;);&lt;br&gt;получаю следующее:&lt;br&gt;/usr/bin/perl: relocation error: /usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/Sybase/DBlib/DBlib.so: symbol dbopen, version FLSSL_1 not defined in file libsybdb.so with link time reference&lt;br&gt;&lt;br&gt;Тоже самое получаю если из консоли пишу sudo ./script.pl&lt;br&gt;&lt;br&gt;/usr/bin/perl: relocation error: /usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/Sybase/DBlib/DBlib.so: symbol dbopen, version FLSSL_1 not defined in file libsybdb.so with link time reference&lt;br&gt;&lt;br&gt;Что с ним может быть???&lt;br&gt;Что мне приходит на ум - проблемы с правами. Только вот где и какими?..&lt;br&gt;</description>
</item>

</channel>
</rss>
