AKSW / OntoWiki

Semantic data wiki as well as Linked Data publishing engine
https://ontowiki.net
204 stars 51 forks source link

No tuples available at this result index #340

Closed fortnum closed 8 years ago

fortnum commented 8 years ago

Hello! The problem is in installation for windows, particularly I try to install on windows-10. I have installed (1) php, (2)virtuoso-opensource and (3) ontowiki. The odbctest.php work fine but ontowiki is not. I followed instructions for windows mainly on this page: https://github.com/AKSW/OntoWiki/wiki/Carrying-out-the-Installation

The first difference, as I understand, is that Apache msi files are no longer accessible. So I've got Apache 2.4.18 from Apache Lounge, more specifically httpd-2.4.18-win64-VC14.zip. It seems to work fine.

The next difference is that I've got newest PHP version from http://php.net/downloads.php. I've tried php-7.0.4-Win32-VC14-x64.zip and php-5.6.19-Win32-VC11-x64.zip No difference with regard to the problems I have. The only difference between them is that the line must be added extension=php_odbc.dll to php.ini for php-7.0.4. But as for php-5.6.19 it works as is.

I've got virtuoso-opensource-win-x64-20151210.zip pre-built binaries for Windows from the link in the instruction (http://www.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSDownload#Pre-built%20binaries%20for%20Windows). It work fine and after (1) unpacking, (2) creating and running windows service, (3) installing odbc driver, (4) configuring DSN, and (5) adding to DirsAllowed parameter of virtuoso.ini two pathes - php temporary directory (created it specially by hand) and ontowiki installation directory:

DirsAllowed = ., ../vad, c:/tmp,c:/Apache24/htdocs/ontowiki

odbctest.php gives the following:

The "http://www.w3.org/ns/ldp#" is excessive in relation to the instruction, but it seems to be no problem.

Then I install ontowiki from link in the instruction https://github.com/AKSW/OntoWiki/downloads. For now, it is ontowiki-0.9.6-21.7z. Have created environment variable %ONTOWIKI_HOME% with 'C:\Apache24\htdocs\ontowiki' as its value. Copied config.ini.dist to config.ini and changed store.backend parameter value to virtuoso. Added parameter debug = true right before the store.backend (first in the private section). Just in case, store.virtuoso.dsn = VOS, username = "dba", password = "dba". DSN is the same as that I created, and username/password are correct to login to virtuoso conductor http://localhost:8890/conductor.

Also I created directory C:\Apache24\htdocs\ontowiki\libraries\Erfurt\Erfurt\Logs.

Now, when I go to http://localhost/OntoWiki/index.php, I've got a lot of warnings like:

Notice: Array to string conversion in C:\Apache24\htdocs\ontowiki\libraries\Erfurt\Erfurt\Cache\Backend\QueryCache\Database.php on line 443
Warning: odbc_result(): No tuples available at this result index in C:\Apache24\htdocs\ontowiki\libraries\Erfurt\Erfurt\Store\Adapter\Virtuoso.php on line 160
Warning: odbc_result(): No tuples available at this result index in C:\Apache24\htdocs\ontowiki\libraries\Erfurt\Erfurt\Store\Adapter\Virtuoso.php on line 160
Warning: odbc_result(): No tuples available at this result index in C:\Apache24\htdocs\ontowiki\libraries\Erfurt\Erfurt\Store\Adapter\Virtuoso.php on line 345
Warning: odbc_result(): No tuples available at this result index in C:\Apache24\htdocs\ontowiki\libraries\Erfurt\Erfurt\Store\Adapter\Virtuoso.php on line 160
etc.

and red square in the end:

OntoWiki Error

Zend_Controller_Response_Exception: Cannot send headers; headers already sent in C:\Apache24\htdocs\ontowiki\libraries\Erfurt\Erfurt\Cache\Backend\QueryCache\Database.php, line 443
C:\Apache24\htdocs\ontowiki\libraries\Zend\Controller\Response\Abstract.php@323
Stacktrace:
#0 C:\Apache24\htdocs\ontowiki\libraries\Zend\Controller\Response\Abstract.php(115): Zend_Controller_Response_Abstract->canSendHeaders(true)
#1 C:\Apache24\htdocs\ontowiki\extensions\pingback\PingbackPlugin.php(40): Zend_Controller_Response_Abstract->setHeader('X-Pingback', 'http://localhos...', true)
#2 [internal function]: PingbackPlugin->onAfterInitController(Object(Erfurt_Event))
#3 C:\Apache24\htdocs\ontowiki\libraries\Erfurt\Erfurt\Event\Dispatcher.php(179): ReflectionMethod->invoke(Object(PingbackPlugin), Object(Erfurt_Event))
#4 C:\Apache24\htdocs\ontowiki\libraries\Erfurt\Erfurt\Event.php(178): Erfurt_Event_Dispatcher->trigger(Object(Erfurt_Event))
#5 C:\Apache24\htdocs\ontowiki\application\classes\OntoWiki\Controller\Base.php(165): Erfurt_Event->trigger()
#6 C:\Apache24\htdocs\ontowiki\libraries\Zend\Controller\Action.php(133): OntoWiki_Controller_Base->init()
#7 C:\Apache24\htdocs\ontowiki\libraries\Zend\Controller\Dispatcher\Standard.php(268): Zend_Controller_Action->__construct(Object(OntoWiki_Request), Object(Zend_Controller_Response_Http), Array)
#8 C:\Apache24\htdocs\ontowiki\libraries\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(OntoWiki_Request), Object(Zend_Controller_Response_Http))
#9 C:\Apache24\htdocs\ontowiki\libraries\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch()
#10 C:\Apache24\htdocs\ontowiki\libraries\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#11 C:\Apache24\htdocs\ontowiki\index.php(157): Zend_Application->run()
#12 {main} (0)

After refreshing I've got one warning:

Warning: odbc_result(): No tuples available at this result index in C:\Apache24\htdocs\ontowiki\libraries\Erfurt\Erfurt\Store\Adapter\Virtuoso.php on line 160

and red square with slightly different beginning:

OntoWiki Error

Zend_Controller_Response_Exception: Cannot send headers; headers already sent in C:\Apache24\htdocs\ontowiki\libraries\Erfurt\Erfurt\Store\Adapter\Virtuoso.php, line 160
C:\Apache24\htdocs\ontowiki\libraries\Zend\Controller\Response\Abstract.php@323
Stacktrace:
#0 C:\Apache24\htdocs\ontowiki\libraries\Zend\Controller\Response\Abstract.php(115): Zend_Controller_Response_Abstract->canSendHeaders(true)
...

I've tried to find the root of the cause but to no way. I've tried to search but only got some vague information as it can be some versions incompatibility or some directory unexistence or writeability problem. Have tried to create cache and uploads directories under ontowiki home, but problem still here.

Now I need your help.

white-gecko commented 8 years ago

What was your solution?

Am 23. März 2016 21:58:57 MEZ, schrieb fortnum notifications@github.com:

Closed #340.


You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/AKSW/OntoWiki/issues/340#event-600916643

Diese Nachricht wurde von meinem Mobiltelefon mit Linux Kernel und JVM Userland von K-9 Mail gesendet.

fortnum commented 8 years ago

Instead of ontowiki-0.9.6-21.7z from https://github.com/AKSW/OntoWiki/downloads I downloaded "Develop branch" as in this issue https://github.com/AKSW/OntoWiki/issues/316 (with the help of Download ZIP button at https://github.com/AKSW/OntoWiki). I thought that "make deploy" is linux-only way, but no, windows is suffice for this too. With the help of Gnu Make for Windows http://gnuwin32.sourceforge.net/packages/make.htm, then Gnu CoreUtils for Windows http://gnuwin32.sourceforge.net/packages/coreutils.htm and composer for PHP I installed separately from https://getcomposer.org/download/, then just copied composer.phar in ontowiki root directory. Didn't try 'make getcomposer' command. Reinstall virtuoso from clean and voila :) Thanks for your work! I anticipate to investigate it now.

white-gecko commented 8 years ago

Thank you for sharing this with us. Could you maybe also try, if make getcomposer also works? It should just do the same, what you did manually, when downloading the composer.phar.

fortnum commented 8 years ago

I have just tried 'make getcomposer' command, it works too.