[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#656719: ln: failed to create symbolic link `build/dri/i386-linux-gnu/gallium/XvMCConfig': File exists



Am Samstag, den 23.06.2012, 14:58 +0200 schrieb Paul Menzel:
> Am Samstag, den 23.06.2012, 13:43 +0200 schrieb Paul Menzel:
> > Am Samstag, den 23.06.2012, 00:06 +0200 schrieb Paul Menzel:
> > > Am Freitag, den 22.06.2012, 23:52 +0200 schrieb Cyril Brulebois:
> > > > Paul Menzel <pm.debian@googlemail.com> (22/06/2012):
> > > > > So the build dependency should be on `llvm-dev` which pulls in `llvm`
> > > > > with `llvm-config` the configure script is looking for.
> > > > 
> > > > 13-llvm-config-pick-a-version.diff disagrees.
> > > 
> > > Interesting. `configure.ac` in my current build directory does not have
> > > that patch applied. So it could be a result of the option `-nc`
> > > 
> > >     $ dpkg-buildpackage -us -uc -B -j2 -nc
> > > 
> > > which does not clean the directory before the build again. But all
> > > patches from `debian/patches` should have been applied.
> > > 
> > > But I do not know and this is just a guess. I will try to reproduce the
> > > issue tomorrow and clean the working directory before. Using
> > > `llvm-2.9-dev` could also fix the build error I got.
> > 
> > Ok, although I always used `dpkg-buildpackage` with `-nc` something went
> > wrong.
> > 
> >         $ LANG= dpkg-buildpackage -us -uc -B -j2
> >         dpkg-buildpackage: source package mesa
> >         dpkg-buildpackage: source version 8.0.3-2
> >         dpkg-buildpackage: source changed by Timo <timo.jyrinki@iki.fi>
> >         dpkg-buildpackage: host architecture i386
> >          dpkg-source --before-build mesa
> >          fakeroot debian/rules clean
> >         QUILT_PATCHES=debian/patches \
> >         		quilt --quiltrc /dev/null pop -a -R || test $? = 2
> >         Patch 13-llvm-config-pick-a-version.diff does not remove cleanly (refresh it or enforce with -f)
> >         make: *** [unpatch] Error 1
> >         dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2
> > 
> > Thinking about it, I did `git reset --hard origin/debian-unstable`. That
> > probably reset the patched files too and `dpkg-buildpackage -n` does not
> > check that.
> > 
> > Manually fixing this by applying some patches manually,
> > 
> >     $ debian/rules clean
> > 
> > worked and I started the next try. Running
> > 
> >     $ dpkg-buildpackage -us -uc -B -j2
> > 
> > `configure.ac` was patched to pick up llvm-config-2.9 and the build
> > error, I reported, is gone now too, since llvm-2.9-dev is used instead
> > of llvm-3.1-dev.
> > 
> > I am still getting the following error. Hopefully resolving this, I will
> > get the packages.
> > 
> >         $ dpkg-buildpackage -us -uc -B -j2
> >         make[1]: Leaving directory `/opt/src/mesa/build/swx11+glu-i386-i686'
> >         >debian/stamp/i486-linux-gnu-build-swx11+glu-i386-i686
> >         >build-stamp
> >         # XvMCConfig configuration file:
> >         ln -s /etc/X11/XvMCConfig build/dri/i386-linux-gnu/gallium/XvMCConfig
> >          fakeroot debian/rules binary-arch
> >         # XvMCConfig configuration file:
> >         ln -s /etc/X11/XvMCConfig build/dri/i386-linux-gnu/gallium/XvMCConfig
> >         ln: failed to create symbolic link `build/dri/i386-linux-gnu/gallium/XvMCConfig': File exists
> >         make: *** [build] Error 1
> >         dpkg-buildpackage: error: fakeroot debian/rules binary-arch gave error exit status 2
> > 
> > Removing that file does not help.
> > 
> >         $ rm build/dri/i386-linux-gnu/gallium/XvMCConfig
> >         $ dpkg-buildpackage -us -uc -B -j2 -nc
> >         dpkg-buildpackage: source package mesa
> >         dpkg-buildpackage: source version 8.0.3-2
> >         dpkg-buildpackage: source changed by Timo <timo.jyrinki@iki.fi>
> >         dpkg-buildpackage: host architecture i386
> >          dpkg-source --before-build mesa
> >         dpkg-buildpackage: warning: debian/rules must be updated to support the 'build-arch' and 'build-indep' targets (at least 'build-arch' seems to be missing)
> >          debian/rules build
> >         # XvMCConfig configuration file:
> >         ln -s /etc/X11/XvMCConfig build/dri/i386-linux-gnu/gallium/XvMCConfig
> >          fakeroot debian/rules binary-arch
> >         # XvMCConfig configuration file:
> >         ln -s /etc/X11/XvMCConfig build/dri/i386-linux-gnu/gallium/XvMCConfig
> >         ln: failed to create symbolic link `build/dri/i386-linux-gnu/gallium/XvMCConfig': File exists
> >         make: *** [build] Error 1
> >         dpkg-buildpackage: error: fakeroot debian/rules binary-arch gave error exit status 2
> > 
> > Any ideas? It is strange that the same output is there twice. Maybe this
> > is due to `-j2`?
> 
> It is not that. Using `-j1` also fails.
> 
>         $ more debian/rules
>         […]
>         build: build-stamp
>                 # XvMCConfig configuration file:
>                 ln -s /etc/X11/XvMCConfig build/dri/$(DEB_HOST_MULTIARCH)/gallium/XvMCConfig
> 
> Removing that `ln -s` line makes this error go away. I do not understand
> how in the build `/etc/X11` of the build host seems to be used.
> Especially since this file is already available in package `libxvmc1`.
> 
>         $ dpkg -S /etc/X11/XvMCConfig
>         libxvmc1: /etc/X11/XvMCConfig
> 
> Any ideas what to do. Depend on `libxvmc1` and do not ship that file in
> `libg3dvl-mesa`?
> 
> Now I get the next error.
> 
>         dh_installexamples -s
>         # Classic DRI and Gallium DRI are mixed up together here
>         # Remove the whole tree to avoid false-positives in --list-missing, and
>         # install the right files manually.
>         rm -r debian/tmp/dri/usr/lib/i386-linux-gnu/dri
>         # Also get rid of other files which aren't installed. Do not
>         # use -f to ensure we notice disappearing files:
>         set -e; for file in dri/usr/include/GL/glu.h dri/usr/include/GL/glu_mangle.h dri/usr/include/GL/osmesa.h dri/usr/include/GL/vms_x_fix.h dri/usr/include/GL/wglext.h dri/usr/include/GL/wmesa.h dri/usr/lib/*/libGL.so dri/usr/lib/*/pkgconfig/gl.pc usr/include/GL/glext.h usr/include/GL/gl.h usr/include/GL/gl_mangle.h usr/include/GL/glxext.h usr/include/GL/glx.h usr/include/GL/glx_mangle.h usr/include/GL/vms_x_fix.h usr/include/GL/wglext.h usr/include/GL/wmesa.h dri/usr/lib/*/libXvMC* dri/usr/*/libXvMC* dri/usr/lib/*/vdpau/ usr/lib/*/i686/cmov/libGL.so usr/lib/*/i686/cmov/libGLU.so usr/lib/*/i686/cmov/libGLU.so.1 usr/lib/*/i686/cmov/libGLU.so.1.* usr/lib/*/i686/cmov/libOSMesa.so usr/lib/*/i686/cmov/libOSMesa.so.6 usr/lib/*/i686/cmov/libOSMesa.so.6.* usr/lib/*/i686/cmov/pkgconfig/glu.pc usr/lib/*/i686/cmov/pkgconfig/gl.pc usr/lib/*/i686/cmov/pkgconfig/osmesa.pc; do rm -r debian/tmp/$file; done
>         rm: cannot remove `debian/tmp/dri/usr/lib/*/libXvMC*': No such file or directory
>         make: *** [binary-arch] Error 1
>         dpkg-buildpackage: error: fakeroot debian/rules binary-arch gave error exit status 2

Ok, dropping 

    dri/usr/lib/*/libXvMC* \

from `debian/not_installed` made it work for me.

I will attach three patches for RFC. I would be grateful for any
comments.


Thanks,

Paul

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: