[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, 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


Thanks,

Paul

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


Reply to: