Le 23.04.2006 15:21:00, Goswin von Brederlow a écrit :
"Jean-Luc Coulon (f5ibh)" <jean.luc.coulon@gmail.com> writes: > Hi, > > I'use to build debian packages from the svn releases of cinelerra and > several other ones. > > With debuild from devscripts 2.9.16 everything is fine but with 2.9.17 > I got the following error the traditionnal "recompile with -fPIC" > message: > /usr/bin/ld: .libs/libmpeg3.o: relocation R_X86_64_32 against `a local > symbol' can not be used when making a shared object; recompile with > -fPIC > .libs/libmpeg3.o: could not read symbols: Bad value > collect2: ld returned 1 exit status > > Having a look futher, I've seen that the DEB_HOST_ARCH variable is no > more set with this new version. > > Is it a bug or a feature? > > Regards > > Jean-Luc It was never set, at least not by all the other build tools. You have to use dpkg-architecture in debian/rules.
debuild normaly should take care of that. As dpkg-buildpackage does. I've opened a bug on the subject as the behaviour changed since 2.9.17. See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%23364256
This also have no effect on -fPIC. That MUST be set on all architectures for shared libraries. So any check of DEB_HOST_ARCH would be a bug.
Why a bug, I can set CFLAGS according to the architecture (what I do with cinelerra - and what is done with other packages):
ifeq ($(DEB_HOST_ARCH), amd64) CFLAGS += -march=k8 -fPIC CONFFLAGS += --enable-3dnow else .... Regards Jean-Luc
Attachment:
pgpkehDbkl0YW.pgp
Description: PGP signature