I am trying to build mesa-7.6-0.1.fc11.src
from source.
$ yumdownloader --source mesa
$ cd rpmbuild/SPECS
$ rpmbuild -ba mesa.spec
error: Failed build dependencies:
freeglut-devel is needed by mesa-7.6-0.1.fc11.src
No problem. I will download this dependency from source and build that first.
$ yumdownloader --source freeglut-devel
$ rpm -ivh freeglut-2.4.0-16.fc11.src.rpm
$ cd rpmbuild/SPECS
$ rpmbuild -ba freeglut.spec
error: Failed build dependencies:
libGLU-devel is needed by freeglut-2.4.0-16.fc11.src
It looks like I need another package. Let’s see which source RPM is needed to build it.
$ yumdownloader --source mesa-libGLU-devel
Loaded plugins: refresh-packagekit
mesa-7.6-0.1.fc11.src.rpm | 7.1 MB 00:00
Alright… so mesa
needs freeglut-devel
which needs libGLU-devel
which is built by mesa
. This is a circular dependency.
When considering only building from source and not installing a prebuild package, how can this circular build dependency be resolved? libGLU-devel
is only one of several RPMs that is built by mesa
. Is it possible to build only that one RPM instead of all of them to see if this avoids the dependency on freeglut
?
What is the correct way to resolve this circular build dependency?
For context, I am building packages from Fedora 11 from source for testing DRI drivers that only exist on very old kernels.