Re: Error running contrib tests
Yeah, i like that approach better. Will do. Erik
Re: Error running contrib tests
Yes, that was my thinking as well - something like configure does (autotools) where it will tell you some details after calling it (although in this case the output is after install). Sounds good! Patrick Mahadev Konar wrote: I would suggest adding it to the readme no? Modifying /etc files with sudo access could be dangerous and we might mess up somethings. Would it be good to add a print statement in the setup saying that you might need to do edit /etc/ld.so.conf and run /sbin/ldconfig in case of Fedora? So the users would see the statement after running setup.py? Thanks mahadev On 11/23/09 6:25 PM, Erik Holstad erikhols...@gmail.com wrote: Have been messing around to try to get it included in the setup.py script. But not sure if it is good to have it there since writing to /usr/ld.so.conf and reloading the /sbin/ldconfig requires sudo status. But on the other hand that is needed to install from the beginning. I could add something like this to the end of the setup file print Setting up dependencies try: f = open(/etc/ld.so.conf, 'r+') content = f.read() path = /usr/local/lib if content.find(path) == -1: f.write(path) except Exception, e: pass import subprocess subprocess.call(['sudo', '/sbin/ldconfig']) Erik
Re: Error running contrib tests
Sorry that it took so long, but I ran into trouble when trying out trunk instead of 3.2.1. It has nothing to do with the zookeeper code, I think, but more with my environment. After switching to trunk, I got back the original error and have been struggling with it since. I'm running on Fedora9. So, to make sure that it works the line /usr/local/lib/ needs to be in the /etc/ld.so.conf. If it is but it is still not working you have to run /sbin/ldconfig. What I previous wrote about the different versions of Python, doesn't seem to apply any more, works fine for python2,5. On my laptop where I run Ubuntu9.4 I don't have this problem. Regards Erik
Re: Error running contrib tests
Have been messing around to try to get it included in the setup.py script. But not sure if it is good to have it there since writing to /usr/ld.so.conf and reloading the /sbin/ldconfig requires sudo status. But on the other hand that is needed to install from the beginning. I could add something like this to the end of the setup file print Setting up dependencies try: f = open(/etc/ld.so.conf, 'r+') content = f.read() path = /usr/local/lib if content.find(path) == -1: f.write(path) except Exception, e: pass import subprocess subprocess.call(['sudo', '/sbin/ldconfig']) Erik
Re: Error running contrib tests
Hey! I have been working with the zkpython module for that last couple of weeks. After the initial problem with ImportError: libzookeeper_mt.so.2: cannot open shared object file: No such file or directory I just added LD_LIBRARY_PATH=/usr/local/lib to the .bashrc file and everything worked fine. For pydev I had to add it as an Environment variable, to make it work. But when moving away from raw python to to using it in a fcgi context I was not able to get it to work under any circumstances. We were running this using python 2.5, which seemed to be one of the problems, the other one that I've found was the build script in zookeeper_home/src/contrib/ zkpython. when running sudo ant install everyhing works fine but when trying to import it in python 2.6 I still got the same error. Changing the setup.py file to point to the correct libraries and running sudo python setup.py install everything works fine and no more errors. Just wanted to share this with the community since I've spend quite some time trying to ge this to work. Regards Erik
Re: Error running contrib tests
What version of ZooKeeper is this? If it's 3.2.1 take a look at this: binding fixes in 3.2.2 https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=truepid=12310801component=12312860fixfor=12314335resolution=1sorter/field=prioritysorter/order=DESC You might give the 3.2 branch (in svn) a try asap. Feel free to enter JIRAs if you notice issues, we'll be happy to address them. Patrick Erik Holstad wrote: Hey! I have been working with the zkpython module for that last couple of weeks. After the initial problem with ImportError: libzookeeper_mt.so.2: cannot open shared object file: No such file or directory I just added LD_LIBRARY_PATH=/usr/local/lib to the .bashrc file and everything worked fine. For pydev I had to add it as an Environment variable, to make it work. But when moving away from raw python to to using it in a fcgi context I was not able to get it to work under any circumstances. We were running this using python 2.5, which seemed to be one of the problems, the other one that I've found was the build script in zookeeper_home/src/contrib/ zkpython. when running sudo ant install everyhing works fine but when trying to import it in python 2.6 I still got the same error. Changing the setup.py file to point to the correct libraries and running sudo python setup.py install everything works fine and no more errors. Just wanted to share this with the community since I've spend quite some time trying to ge this to work. Regards Erik
Re: Error running contrib tests
Hi Erik - Notwithstanding the test issue (which, as Patrick says, is a bit tricky to get running and caused by a slightly different issue) - it seems that Python can't find the C ZooKeeper library which is a requirement for the Python module. If you compiled the C library as usual then then libzookeeper_mt.so.2 should be in /usr/local/lib. Can you check this? If not, we need to find out where it's getting put. It seems like it's not in the library path. Then try doing LD_LIBRARY_PATH=/path/to/libzookeeper_mt.so.2 python and trying the import zookeeper step again. Also, if you saw any errors when building the python module or C module, send them along. Let me know how you get on! Henry On Wed, Sep 23, 2009 at 12:07 AM, Patrick Hunt ph...@apache.org wrote: Erik, I think you ran into this: https://issues.apache.org/jira/browse/ZOOKEEPER-420 Henry Robinson from Cloudera (cc'd) created the zkpython contrib, ccing him if he has a better way, but here's how I am able to run the tests w/o installing: I get around it by compiling src/c and then changing src/contrib/zkpython/src/python/setup.py from: library_dirs=[/usr/local/lib] to: library_dirs=[path_to zk/src/c/.libs] then ant compile zkpython, move the zookeeper.so from build/contrib into zkpython/src/test, then I run the tests as: LD_LIBRARY_PATH=path_to_zk/src/c/.libs/. ant test There are a few issues pending with zkpython, I'm hoping Henry can get back and address these for the next release. (such as https://issues.apache.org/jira/browse/ZOOKEEPER-510) Regards, Patrick Erik Holstad wrote: Hi! I am trying out the python bindings and I followed the guide on http://www.cloudera.com/blog/2009/05/28/building-a-distributed-concurrent-queue-with-apache-zookeeper/ Everything worked fine until the last step: Python 2.5.1 (r251:54863, Jun 15 2008, 18:24:56) [GCC 4.3.0 20080428 (Red Hat 4.3.0-8)] on linux2 Type help, copyright, credits or license for more information. import zookeeper Traceback (most recent call last): File stdin, line 1, in module ImportError: libzookeeper_mt.so.2: cannot open shared object file: No such file or directory I figured that I did something wrong in my setup, so I tried to run the contrib test and got: python-test: [exec] Running src/test/clientid_test.py [exec] Traceback (most recent call last): [exec] File src/test/clientid_test.py, line 21, in module [exec] import zookeeper, zktestbase [exec] ImportError: libzookeeper_mt.so.2: cannot open shared object file: No such file or directory [exec] Running src/test/connection_test.py [exec] Traceback (most recent call last): [exec] File src/test/connection_test.py, line 21, in module [exec] import zookeeper, zktestbase [exec] ImportError: libzookeeper_mt.so.2: cannot open shared object file: No such file or directory [exec] Running src/test/create_test.py [exec] Traceback (most recent call last): [exec] File src/test/create_test.py, line 19, in module [exec] import zookeeper, zktestbase, unittest, threading [exec] ImportError: libzookeeper_mt.so.2: cannot open shared object file: No such file or directory [exec] Running src/test/delete_test.py [exec] Traceback (most recent call last): [exec] File src/test/delete_test.py, line 19, in module [exec] import zookeeper, zktestbase, unittest, threading [exec] ImportError: libzookeeper_mt.so.2: cannot open shared object file: No such file or directory [exec] Running src/test/exists_test.py [exec] Traceback (most recent call last): [exec] File src/test/exists_test.py, line 19, in module [exec] import zookeeper, zktestbase, unittest, threading [exec] ImportError: libzookeeper_mt.so.2: cannot open shared object file: No such file or directory [exec] Running src/test/get_set_test.py [exec] Traceback (most recent call last): [exec] File src/test/get_set_test.py, line 19, in module [exec] import zookeeper, zktestbase, unittest, threading [exec] ImportError: libzookeeper_mt.so.2: cannot open shared object file: No such file or directory BUILD FAILED /home/erik/src/zookeeper-3.2.1/src/contrib/build.xml:48: The following error occurred while executing this line: /home/erik/src/zookeeper-3.2.1/src/contrib/zkpython/build.xml:63: exec returned: 1 I ran this test from zookeeper/src/contrib with ant test Not sure if I'm doing something wrong or if this is a bug? Regards Erik