On 64-bit systems, the talloc build system does not put talloc.so into the 64-bit arch-specific location. e.g. On Fedora 14 it would be: /usr/lib64/python2.7/site-packages/talloc.so It is instead put into /usr/lib/python2.7/site-packages/talloc.so The build system should be using the platform specific Python library as identified by distutils.sysconfig.get_python_lib(plat_specific=1) Steps to reproduce: 1) Create distribution tarball of talloc-2.0.5 2) Extract tarball, cd into it 3) ./autogen.sh 4) ./configure \ --build=x86_64-unknown-linux-gnu \ --host=x86_64-unknown-linux-gnu \ --target=x86_64-redhat-linux-gnu \ --program-prefix= \ --prefix=/usr \ --exec-prefix=/usr \ --bindir=/usr/bin \ --sbindir=/usr/sbin \ --sysconfdir=/etc \ --datadir=/usr/share \ --includedir=/usr/include \ --libdir=/usr/lib64 \ --libexecdir=/usr/libexec \ --localstatedir=/var \ --sharedstatedir=/var/lib \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --disable-rpath 5) make 6) make install
Created attachment 6196 [details] Patch to install python bindings into an arch-specific location
Thanks for this bug report! I've updated us to a newer version of waf-1.5, which has a PYTHONARCHDIR variable which does the right thing. I tested it on a x86_64 Fedora system. Patch is in autobuild now
Would you mind attaching the WAF patch to this ticket? I'd like to include that in my RPM builds for Fedora until a new version of libtalloc is released upstream.
Unfortunately the fix for this is incorrect in the general case, despite working for talloc and tdb etc. Samba4 now cannot install on any 64 bit system, because python does not read the lib64 directory once it finds the pure python parts under lib. We may need to install all our python scripts under lib64 to work around this issue. (it isn't a matter of the paths being wrong, I've already spent the day writing code to fix the sys.path to contain both lib and lib64).
All Samba components (binaries and scripts) are now installed in lib64 where that exists.