Bugzilla – Bug 391831
python-zypp and perl-zypp are missing in Factory
Last modified: 2008-07-31 16:38:01 UTC
I cannot find python bindings for libzypp in Factory.
I realized that {python,perl,ruby} bindings are in libzypp-bindings package, however only ruby bindings are enabled. Why is that?
how is that critical?
I thought this was not intentional and some zypp utilities depend on these bindings.
removing needinfo
I did some research and the main problem is with variable collisions. I added some rename rules for SWIG, so SWIG does now generate code for python and perl (it didn't before). But now it fails to compile. I'm attaching the patch against libzypp-bindings in Factory and build failure logs for python-zypp and perl-zypp.
Created attachment 216493 [details] patch to enable code generation
Created attachment 216494 [details] build failure logs for python-zypp and perl-zypp
Re-enabled the binding in libzypp-bindings-0.4.6.
Bindings are not build because they require libzypp-devel >= 5.2.1 and this version of libzypp is not built in Factory because of error described below - I suggest trying to update also libsatsolver from SVN. [ 88%] Building CXX object zypp/CMakeFiles/zypp.dir/sat/detail/PoolImpl.cc.o cd /usr/src/packages/BUILD/libzypp-5.3.0/build/zypp && /usr/bin/c++ -D_FILE_OFFSET_BITS=64 -DVERSION=\"5.3.0\" -DLOCALEDIR=\"/usr/share/locale\" -DTEXTDOMAIN=\"zypp\" -Dzypp_EXPORTS -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -O2 -g -Wall -Woverloaded-virtual -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -O2 -g -Wall -Woverloaded-virtual -O3 -fPIC -I/usr/src/packages/BUILD/libzypp-5.3.0 -I/usr/src/packages/BUILD/libzypp-5.3.0/build -I/usr/include/rpm -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/src/packages/BUILD/libzypp-5.3.0/build/zypp -DZYPP_BASE_LOGGER_LOGGROUP=\"zypp\" -o CMakeFiles/zypp.dir/sat/detail/PoolImpl.cc.o -c /usr/src/packages/BUILD/libzypp-5.3.0/zypp/sat/detail/PoolImpl.cc /usr/src/packages/BUILD/libzypp-5.3.0/zypp/sat/detail/PoolImpl.cc:379:2: warning: #warning immediately build LocaleSet as soon as Loale is an Id based type /usr/src/packages/BUILD/libzypp-5.3.0/zypp/sat/detail/PoolImpl.cc:56: error: no matching function for call to 'assertion_failed(mpl_::failed************ mpl_::assert_relation<equal, 15l, 16l>::************)' /usr/src/packages/BUILD/libzypp-5.3.0/zypp/sat/detail/PoolImpl.cc:57: error: no matching function for call to 'assertion_failed(mpl_::failed************ mpl_::assert_relation<equal, 16l, 17l>::************)' make[2]: *** [zypp/CMakeFiles/zypp.dir/sat/detail/PoolImpl.cc.o] Error 1 make[2]: Leaving directory `/usr/src/packages/BUILD/libzypp-5.3.0/build' make[1]: *** [zypp/CMakeFiles/zypp.dir/all] Error 2 make[1]: Leaving directory `/usr/src/packages/BUILD/libzypp-5.3.0/build' make: *** [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.73994 (%build)
Fixed by last commit from mls.
I installed python-zypp and all of its dependencies from Factory: boost-1.34.1-53.x86_64 gd-2.0.36.RC1-27.x86_64 graphviz-2.20.2-8.x86_64 graphviz-gd-2.20.2-8.x86_64 graphviz-gnome-2.20.2-8.x86_64 libqdialogsolver1-1.2.0-17.x86_64 libzypp-5.3.0-2.x86_64 python-zypp-0.4.6-9.x86_64 satsolver-tools-0.10.2-2.x86_64 yast2-ncurses-2.17.3-6.x86_64 yast2-ncurses-pkg-2.17.5-5.x86_64 yast2-pkg-bindings-2.17.2-5.x86_64 yast2-qt-pkg-2.17.3-5.x86_64 zypper-0.12.0-12.x86_64 and now I get: $ echo 'import zypp;' | python Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python2.5/site-packages/zypp.py", line 7, in <module> import _zypp ImportError: /usr/lib64/python2.5/site-packages/_zypp.so: undefined symbol: _ZN4zypp8RepoInfo14defaultPrioityEv Clearly something went wrong during update (I believe that packages are built correctly), but I can not figure what and how.
This symbol is indeed an undefined static method due to a typo (defaultPrio(R)ity). Ruby didn't mind this. (we urgently need time and testcases for the bindings) Fixed in libzypp-bindings-0.4.7.