[Cubicweb] Fwd: Re: Compiling RQL on Windows

Dr.Leo stefan.pankoke at googlemail.com
Sun Sep 12 10:47:00 CEST 2010



thanks.

As I have no idea how to compile rql without gecode (using logilab
constraing instead), I have decided to go with gecode. So I have
downloaded the windows installer of gecode-3.3.1. This was not so easy
as the download page features only the recent version 3.4.0. Having
adjusted the include and lib paths in setup.cfg, rql was successfully
compiled. You may wish to build a package with pre-compiled .pyd This
would make RQL ip-installable as well; I understand that pip cannot
handee Windows installers.

However, there are two issues:
1. a minor one: even on Windows, the setup script tries to invoke g++
which naturally failes.

2. Having compiled RQL, the setup script seems to require a package
called yapps. There are now eggs for RQL-0.26.5 (186k) and yapps-2.1.1
(32k) in my site-packages dir; however, there are no package dirs. I
therefore do not understand the error in the last line of the log. Any
ideas? Have I succeeded?

Leo



C:\Dokumente und Einstellungen\stefan\Eigene Dateien\dev\rql>python
setup.py ins
tall
Der Befehl "g++" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
running install
running bdist_egg
running egg_info
writing requirements to rql.egg-info\requires.txt
writing rql.egg-info\PKG-INFO
writing top-level names to rql.egg-info\top_level.txt
writing dependency_links to rql.egg-info\dependency_links.txt
writing requirements to rql.egg-info\requires.txt
writing rql.egg-info\PKG-INFO
writing top-level names to rql.egg-info\top_level.txt
writing dependency_links to rql.egg-info\dependency_links.txt
package init file '.\test\__init__.py' not found (or not a regular file)
reading manifest file 'rql.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'rql.egg-info\SOURCES.txt'
installing library code to build\bdist.win32\egg
running install_lib
running build_py
running build_ext
building 'rql_solve' extension
C:\Programme\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox
/MD /W3 /G
S- /DNDEBUG -Ic:/programme/gecode/include/ -IC:\Python26\include
-IC:\Python26\P
C /Tpgecode_solver.cpp /Fobuild\temp.win32-2.6\Release\gecode_solver.obj
/DGE_VE
RSION=197377 /EHsc
gecode_solver.cpp
c:/programme/gecode/include/gecode/search.hh(286) : warning C4251:
'Gecode::Sear
ch::TimeStop::t': class 'Gecode::Support::Timer' erfordert eine
DLL-Schnittstell
e, die von Clients von class 'Gecode::Search::TimeStop' verwendet wird
         c:/programme/gecode/include/gecode/support/timer.hpp(55): Siehe
Deklarat
ion von 'Gecode::Support::Timer'
gecode_solver.cpp(152) : warning C4355: this': wird in
Initialisierungslisten fü
r Basisklasse verwendet
gecode_solver.cpp(514) : warning C4101: 'e': Unreferenzierte lokale Variable
c:/programme/gecode/include/gecode/support/heap.hpp(351) : warning
C4345: Verhal
tensänderung: Ein Objekt des POD-Typs, der mit der Initialisierung des
Formulars
  '()' erstellt wurde, wird mit 'default' initialisiert
         c:/programme/gecode/include/gecode/support/heap.hpp(369): Siehe
Verweis
auf die Instanziierung der gerade kompilierten Funktions-template "T
*Gecode::He
ap::alloc<Gecode::DFA::Transition>(unsigned long)".
         with
         [
             T=Gecode::DFA::Transition
         ]
         c:/programme/gecode/include/gecode/int/extensional/dfa.hpp(87):
Siehe Ve
rweis auf die Instanziierung der gerade kompilierten Funktions-template
"T *Geco
de::Heap::alloc<Gecode::DFA::Transition>(int)".
         with
         [
             T=Gecode::DFA::Transition
         ]
C:\Programme\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo
/INCREMENT
AL:NO /LIBPATH:c:/programme/gecode/lib/ /LIBPATH:C:\Python26\libs
/LIBPATH:C:\Py
thon26\PCbuild GecodeInt-3-3-1-r-x86.lib GecodeKernel-3-3-1-r-x86.lib
GecodeSear
ch-3-3-1-r-x86.lib GecodeSupport-3-3-1-r-x86.lib /EXPORT:initrql_solve
build\tem
p.win32-2.6\Release\gecode_solver.obj
/OUT:build\lib.win32-2.6\rql_solve.pyd /IM
PLIB:build\temp.win32-2.6\Release\rql_solve.lib
/MANIFESTFILE:build\temp.win32-2
.6\Release\rql_solve.pyd.manifest
    Bibliothek "build\temp.win32-2.6\Release\rql_solve.lib" und Objekt
"build\tem
p.win32-2.6\Release\rql_solve.exp" werden erstellt.
C:\Programme\Microsoft SDKs\Windows\v6.0A\bin\mt.exe -nologo -manifest
build\tem
p.win32-2.6\Release\rql_solve.pyd.manifest
-outputresource:build\lib.win32-2.6\r
ql_solve.pyd;2
creating build\bdist.win32
creating build\bdist.win32\egg
creating build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\analyze.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\base.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\compare.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\editextensions.py ->
build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\interfaces.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\nodes.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\parser.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\parser_main.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\rqlgen.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\stcheck.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\stmts.py ->  build\bdist.win32\egg\rql
creating build\bdist.win32\egg\rql\test
copying build\lib.win32-2.6\rql\test\unittest_analyze.py ->
build\bdist.win32\eg
g\rql\test
copying build\lib.win32-2.6\rql\test\unittest_compare.py ->
build\bdist.win32\eg
g\rql\test
copying build\lib.win32-2.6\rql\test\unittest_editextensions.py ->
build\bdist.w
in32\egg\rql\test
copying build\lib.win32-2.6\rql\test\unittest_nodes.py ->
build\bdist.win32\egg\
rql\test
copying build\lib.win32-2.6\rql\test\unittest_parser.py ->
build\bdist.win32\egg
\rql\test
copying build\lib.win32-2.6\rql\test\unittest_rqlgen.py ->
build\bdist.win32\egg
\rql\test
copying build\lib.win32-2.6\rql\test\unittest_stcheck.py ->
build\bdist.win32\eg
g\rql\test
copying build\lib.win32-2.6\rql\test\unittest_utils.py ->
build\bdist.win32\egg\
rql\test
copying build\lib.win32-2.6\rql\undo.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\utils.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\_exceptions.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\__init__.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql\__pkginfo__.py ->  build\bdist.win32\egg\rql
copying build\lib.win32-2.6\rql_solve.pyd ->  build\bdist.win32\egg
byte-compiling build\bdist.win32\egg\rql\analyze.py to analyze.pyc
byte-compiling build\bdist.win32\egg\rql\base.py to base.pyc
byte-compiling build\bdist.win32\egg\rql\compare.py to compare.pyc
byte-compiling build\bdist.win32\egg\rql\editextensions.py to
editextensions.pyc

byte-compiling build\bdist.win32\egg\rql\interfaces.py to interfaces.pyc
byte-compiling build\bdist.win32\egg\rql\nodes.py to nodes.pyc
byte-compiling build\bdist.win32\egg\rql\parser.py to parser.pyc
byte-compiling build\bdist.win32\egg\rql\parser_main.py to parser_main.pyc
byte-compiling build\bdist.win32\egg\rql\rqlgen.py to rqlgen.pyc
byte-compiling build\bdist.win32\egg\rql\stcheck.py to stcheck.pyc
byte-compiling build\bdist.win32\egg\rql\stmts.py to stmts.pyc
byte-compiling build\bdist.win32\egg\rql\test\unittest_analyze.py to
unittest_an
alyze.pyc
byte-compiling build\bdist.win32\egg\rql\test\unittest_compare.py to
unittest_co
mpare.pyc
byte-compiling build\bdist.win32\egg\rql\test\unittest_editextensions.py
to unit
test_editextensions.pyc
byte-compiling build\bdist.win32\egg\rql\test\unittest_nodes.py to
unittest_node
s.pyc
byte-compiling build\bdist.win32\egg\rql\test\unittest_parser.py to
unittest_par
ser.pyc
byte-compiling build\bdist.win32\egg\rql\test\unittest_rqlgen.py to
unittest_rql
gen.pyc
byte-compiling build\bdist.win32\egg\rql\test\unittest_stcheck.py to
unittest_st
check.pyc
byte-compiling build\bdist.win32\egg\rql\test\unittest_utils.py to
unittest_util
s.pyc
byte-compiling build\bdist.win32\egg\rql\undo.py to undo.pyc
byte-compiling build\bdist.win32\egg\rql\utils.py to utils.pyc
byte-compiling build\bdist.win32\egg\rql\_exceptions.py to _exceptions.pyc
byte-compiling build\bdist.win32\egg\rql\__init__.py to __init__.pyc
byte-compiling build\bdist.win32\egg\rql\__pkginfo__.py to __pkginfo__.pyc
creating stub loader for rql_solve.pyd
Creating missing __init__.py for rql.test
byte-compiling build\bdist.win32\egg\rql_solve.py to rql_solve.pyc
byte-compiling build\bdist.win32\egg\rql\test\__init__.py to __init__.pyc
creating build\bdist.win32\egg\EGG-INFO
copying rql.egg-info\PKG-INFO ->  build\bdist.win32\egg\EGG-INFO
copying rql.egg-info\SOURCES.txt ->  build\bdist.win32\egg\EGG-INFO
copying rql.egg-info\dependency_links.txt ->  build\bdist.win32\egg\EGG-INFO
copying rql.egg-info\requires.txt ->  build\bdist.win32\egg\EGG-INFO
copying rql.egg-info\top_level.txt ->  build\bdist.win32\egg\EGG-INFO
writing build\bdist.win32\egg\EGG-INFO\native_libs.txt
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist\rql-0.26.5-py2.6-win32.egg' and adding
'build\bdist.win32\egg' to
  it
removing 'build\bdist.win32\egg' (and everything under it)
Processing rql-0.26.5-py2.6-win32.egg
Copying rql-0.26.5-py2.6-win32.egg to c:\python26\lib\site-packages
Adding rql 0.26.5 to easy-install.pth file

Installed c:\python26\lib\site-packages\rql-0.26.5-py2.6-win32.egg
Processing dependencies for rql==0.26.5
Searching for yapps2>=2.1.1
Best match: yapps2 2.1.1
Downloading
http://ftp.logilab.org/pub/yapps/yapps2-2.1.1.zip#egg=yapps2-2.1.1
Processing yapps2-2.1.1.zip
Running setup.py -q bdist_egg --dist-dir
c:\dokume~1\stefan\lokale~1\temp\easy_i
nstall-pdy4tt\egg-dist-tmp-frbnhk
zip_safe flag not set; analyzing archive contents...
Adding yapps 2.1.1 to easy-install.pth file

Installed c:\python26\lib\site-packages\yapps-2.1.1-py2.6.egg
error: Could not find required distribution yapps2>=2.1.1

C:\Dokumente und Einstellungen\stefan\Eigene Dateien\dev\rql>


Am 11.09.2010 22:19, schrieb Alexandre Fayolle:
>  On Saturday 11 September 2010 21:12:39 Nicolas Chauvat wrote:
>>  Hi,
>>
>>  On Sat, Sep 11, 2010 at 07:09:54PM +0200, Dr.Leo wrote:
>>>  here is the newbie again, this time trying to compile RQL on Windows
>>>  ...
>>>  as without it I cannot use cubicweb either...
>>  Ok, seems we need to fix the install of that package too. :/
>>
>>>  Any ideas where to go from here?
>>  http://hg.logilab.org/rql/file/7a1df18b3a3e/analyze.py#l31  says that
>>  if gecode can not be imported, logilab-constraint will be used
>>  instead. It will be slower, but it will work. And logilab-constraint
>>  should be a no-brainer to install since it is a pure-python package.
>  Side note:http://ftp.logilab.org/pub/rql/  has windows installers for RQL
>  built with Gecode 3.3.1 (afair) and Python 2.5. Not sure which version
>  precisely is needed for the version of CW you are targetting, but we certainly
>  can add a more recent version if required.
>
>  If you have visual studio installed on your machine, compiling RQL from source
>  is a no brainer (using setup.py install should work out of the box with gecode
>  3.3.1).
>




More information about the Cubicweb mailing list