[sword-devel] cmake python bindings user location
Ben
cricketc at gmail.com
Thu Jun 20 06:04:41 MST 2013
On 06/19/2013 08:35 PM, Greg Hellings wrote:
>
>
>
> On Wed, Jun 19, 2013 at 7:18 PM, Ben <cricketc at gmail.com
> <mailto:cricketc at gmail.com>> wrote:
>
> On 06/19/2013 10:00 AM, Greg Hellings wrote:
>
>
>
>
> On Mon, Jun 17, 2013 at 6:14 AM, Ben <cricketc at gmail.com
> <mailto:cricketc at gmail.com>
> <mailto:cricketc at gmail.com <mailto:cricketc at gmail.com>>> wrote:
>
> On 06/16/2013 11:55 PM, Greg Hellings wrote:
>
>
>
>
> On Sun, Jun 16, 2013 at 9:22 PM, <cricketc at gmail.com
> <mailto:cricketc at gmail.com>
> <mailto:cricketc at gmail.com <mailto:cricketc at gmail.com>>
> <mailto:cricketc at gmail.com <mailto:cricketc at gmail.com>
> <mailto:cricketc at gmail.com <mailto:cricketc at gmail.com>>>> wrote:
>
> Hey Greg,
>
> I'm building the python bindings with cmake 2.6.4. I'm
> trying to
> specify a user location, but it doesn't work with
> current svn -
> SWORD_PYTHON_INSTALL_DIR is always just "OFF",
> even if I pass a
> value through the cmake command. If I pass "1" as the
> value, then
> SWORD_PYTHON_INSTALL_DIR gets set, but it's
> obviously not
> what I'm
> looking for.
>
> If I comment out the OPTION setting in
> cmake/options.cmake,
> it seems
> to work properly for me.
>
>
> What exact command line are you invoking CMake with?
> And are you
> doing
> it from a clean configuration directory (e.g. new dir
> or "rm -rf
> * .*"
> beforehand)? CMake is very unfriendly towards attempts to
> reconfigure a
> directory.
>
>
>
> cmake -DCMAKE_INSTALL_PREFIX="~/____sword-cmake-build/install"
> -DLIBSWORD_LIBRARY_TYPE="____Shared" -DSWORD_BUILD_TESTS=Yes
> -DSWORD_BINDINGS=Python
> -DSWORD_PYTHON_INSTALL_DIR=~/____sword-cmake-build/install
>
> -DSWORD_BUILD_EXAMPLES=Yes /path/to/svn/sword
>
> Yes, it's a clean directory.
>
> I output the value of SWORD_PYTHON_INSTALL_DIR, and it says the
> value is "OFF". Again, if I remove the OPTION command in
> options.cmake, then it takes the value that I pass in from the
> command line.
>
>
> -Ben
>
>
> I was misusing the CMake OPTION command. Turns out it only works for
> ON/OFF values and cannot handle arbitrary strings. I have
> updated the
> handling to hopefully work as intended. Can you give it a whirl
> and let
> me know if it is now working better for you?
>
>
> That part looks OK to me now, but I get a different error:
>
> -- Installing:
> /home/me/sword-cmake-build/__install/lib/sword/1.6.2_icu_/__translit_Latin_Ugaritic.res
> -- Installing:
> /home/me/sword-cmake-build/__install/lib/sword/1.6.2_icu_/__translit_swordindex.res
> running install
> running build
> running build_py
> running build_ext
> running install_lib
> creating /home/me/sword-cmake-build/__install/lib64
> creating /home/me/sword-cmake-build/__install/lib64/python
> copying build/lib.linux-x86_64-2.6/___Sword.so ->
> /home/me/sword-cmake-build/__install/lib64/python
> copying build/lib.linux-x86_64-2.6/__Sword.py ->
> /home/me/sword-cmake-build/__install/lib64/python
> byte-compiling
> /home/me/sword-cmake-build/__install/lib64/python/Sword.py to Sword.pyc
> running install_egg_info
> Writing
> /home/me/sword-cmake-build/__install/lib64/python/sword-1.__6.2-py2.6.egg-info
> -- Installing: /usr/local/bin/addld
> CMake Error at utilities/cmake_install.cmake:__41 (FILE):
> file INSTALL cannot copy file
> "/home/me/sword-cmake-build/__utilities/addld"
> to "/usr/local/bin/addld".
> Call Stack (most recent call first):
> cmake_install.cmake:275 (INCLUDE)
>
> I think maybe ${SWORD_INSTALL_DIR} should be changed to ${PREFIX} in
> utilities/CMakeLists.txt?
>
>
> Good catch - looks like I accidentally grep'd for the wrong string when
> I was making sure I had gotten them all. I have added the additional
> option of BINDIR that captures the appropriate value. You can try again
> now, if you'd like.
Looks good.
>
> Also, I'm not sure it's causing anything to fail, but the name of
> the icu directory seems to be missing something (1.6.2_icu_).
>
>
> Hmm, maybe. I'm very un-knowledgeable on what the ICU stuff all is
> supposed to be. That could explain the missing data warnings I see when
> I run the modules frequently. I'll look into that.
OK. I tried running make tests, but the osistest doesn't seem to be
included. It'd be nice to get the test suite passing.
As a start for fixing osistest, I added osistest to the list of test
programs in tests/CMakeLists.txt, and the following command to
tests/testsuite/CMakeLists.txt:
COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/*.xml ${CMAKE_CURRENT_BINARY_DIR}
osistest still fails for me, but I'm not sure it's related to cmake at
all. May not be worth holding up the release if the tests pass for others.
-Ben
More information about the sword-devel
mailing list