Comments (6)
It is strange. The function vrs_get() was added to verse in this commit: bdfec96 and it is not encapsulated with any #ifdef
.
I see one strange thing in your bug report. It seems that you use 64bit system, but verse.so for Python 3.4 is installed in directory /usr/lib/python3.4/site-packages/
and not to /usr/lib64/python3.4/site-packages/
.
I want to ask at several things: Do you have verse installed at more places (is there 32 bit variant)? Did you modify configuration of CMake using ccmake? What is output of ldd /usr/lib/python3.4/site-packages/verse.so
?
from verse.
I followed the instructions as posted, without any modification. I very likely do have an old version of verse on this machine, and that could be an issue. Not really sure how to test for that.
[alex@localhost build]$ ldd /usr/lib/python3.4/site-packages/verse.so
linux-vdso.so.1 (0x00007fffab3fe000)
libverse.so.0.1.0 => /usr/lib/libverse.so.0.1.0 (0x00007f837636a000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f837614e000)
libpython3.4m.so.1.0 => /usr/lib/libpython3.4m.so.1.0 (0x00007f8375cb7000)
libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0x00007f8375a47000)
libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0x00007f8375635000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f8375292000)
/usr/lib64/ld-linux-x86-64.so.2 (0x00007f83767f1000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f837508d000)
libutil.so.1 => /usr/lib/libutil.so.1 (0x00007f8374e8a000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f8374b85000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f837496e000)
Figured I'd remove "/usr/lib/python3.4/site-packages/verse.so" in case it was left over from a previous install. Doing that, and trying to import verse from python resulted in
ImportError: No module named 'verse'
As one would expect. Then I pulled
git pull
remote: Counting objects: 16, done.
[...]
From https://github.com/verse/verse
a8f2460..40f6a1d master -> origin/master
Updating a8f2460..40f6a1d
[...]
python/verse_module.c | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------
1 file changed, 130 insertions(+), 32 deletions(-)
and reran the build script.
rm build/ -r
mkdir ./build
cd ./build
cmake ../
[...]
make
[...]
sudo make install
[ 77%] Built target verse_shared_lib
[ 78%] Built target py2_verse
[ 79%] Built target py3_verse
[ 98%] Built target verse_server
[100%] Built target verse_client
Install the project...
-- Install configuration: "Release"
-- Up-to-date: /usr/local/include/verse.h
-- Skipping : /etc/verse/users.csv
-- Skipping : /etc/verse/server.ini
-- Installing: /usr/lib64/python2.7/site-packages/verse.so
-- Removed runtime path from "/usr/lib64/python2.7/site-packages/verse.so"
-- Installing: /usr/lib/python3.4/site-packages/verse.so
-- Removed runtime path from "/usr/lib/python3.4/site-packages/verse.so"
-- Installing: /usr/local/lib64/libverse.so.0.1
-- Up-to-date: /usr/local/lib64/libverse.so.0.1.0
-- Up-to-date: /usr/local/lib64/libverse.so
-- Installing: /usr/local/bin/verse_server
-- Removed runtime path from "/usr/local/bin/verse_server"
And it's still throwing that error.
Python 3.4.2 (default, Oct 8 2014, 13:44:52)
[GCC 4.9.1 20140903 (prerelease)] on linux
>>> import verse
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/lib/python3.4/site-packages/verse.so: undefined symbol: vrs_get
from verse.
I see problem in ldd /usr/lib/python3.4/site-packages/verse.so
. It uses:
libverse.so.0.1.0 => /usr/lib/libverse.so.0.1.0 (0x00007f837636a000)
and it is different library than library installed using make install
. You can try to get list of all functions in this library using following command:
nm -D /usr/lib/libverse.so.0.1
and compare it with:
nm -D /usr/local/lib64/libverse.so.0.1
(there should be vrs_get()
function)
I recomend to move /usr/lib/libverse* to some backup directory and try to reinstall verse.
from verse.
Right. The problem is that I haven't had a really good understanding of how shared libraries work until now.
Arch linux doesn't use /usr/local/ for libraries, so I'll have to change that in the arch package.
I think I understand enough to deal with this now. nm is a damn useful tool. Thanks for your help.
from verse.
For posterities sake.
cmake ../ -DPROJECT_BINARY_DIR:PATH=/
Thanks again for the help. I'm going to be adding that to the arch package, which shouldn't cause any problems.
Actually, that should probably be
cmake ../ -DPROJECT_BINARY_DIR:PATH=/usr/
from verse.
You are welcome. Every Linux distribution has IMHO different rules for installing libraries and there is no portable pure CMake solution.
from verse.
Related Issues (20)
- Deleting of nodes and trash node
- Support for sandboxed pypy HOT 7
- Verse server doesn't work at Mac OS X HOT 1
- Better support for two versions of Python
- Build Python module at Mac OS X
- make install doesn't place libverse.so files corectly at RHEL like systems HOT 2
- make install doesn't place verse.so Python module to right subdirectory
- Verse server crashes during start
- Sharing of UDP sockets at Verse server
- Verse installs to unused library path under arch linux HOT 7
- Javascript & Unittests & Travis CI & Coveralls HOT 1
- Support for Dynamic Firewall
- Better support for certificates at Verse server
- Add support for DNSSEC
- Callback Functions at Verse Server and Custom Commands HOT 3
- Make some releases! HOT 7
- Weird unicode issues HOT 5
- Better documentation for fundamental concepts. HOT 6
- QUIC as a transport layer for future Verse efforts?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from verse.