Hi,
I tried to build texlive-2013-0.1.20130608_r30832.fc19.src.rpm for EPEL, the build failed with the following error:
error: Failed build dependencies: harfbuzz-devel is needed by texlive-3:2013-0.1.20130608_r30832.el6.x86_64 graphite2-devel is needed by texlive-3:2013-0.1.20130608_r30832.el6.x86_64
So, I tried to build graphite2-1.2.2-2.fc19.src.rpm, the build failed with the following error:
error: Failed build dependencies: texlive-helvetic is needed by graphite2-1.2.2-2.el6.x86_64 texlive-sectsty is needed by graphite2-1.2.2-2.el6.x86_64 texlive-tocloft is needed by graphite2-1.2.2-2.el6.x86_64 texlive-xtab is needed by graphite2-1.2.2-2.el6.x86_64 texlive-multirow is needed by graphite2-1.2.2-2.el6.x86_64
All these dependencies are built in texlive-2013.
So, building texlive-2013 requires graphite2-devel, and building graphite2-devel requires texlive2013.
How can I do?
Does somebody succeed to open texlive.spec? When trying to browse this file, kwrite suddenly stops.
Regards, Alain
I tried to build texlive-2013-0.1.20130608_r30832.fc19.src.rpm for EPEL, the build failed with the following error:
error: Failed build dependencies: harfbuzz-devel is needed by texlive-3:2013-0.1.20130608_r30832.el6.x86_64 graphite2-devel is needed by texlive-3:2013-0.1.20130608_r30832.el6.x86_64
Notice that you are mixing .fc19 and .el6. This allows another place for things to go wrong.
So, building texlive-2013 requires graphite2-devel, and building graphite2-devel requires texlive2013.
Yes, but each dependency can be satisfied by installing a binary .rpm which is available. Building texlive-2013 from source cannot proceed unless the binary of graphite2-devel has been installed before the build starts. So "yum install graphite2-devel". Today this is not a circular dependency, although it may be impossible to rebuild the world from source only, without using some previous [or current] binary version of graphite2-devel. Once upon a time the dependencies were not as strict, or there was a bootstrapping stage that is not recorded in the .spec, or there was manual "cheating", etc.
Does somebody succeed to open texlive.spec? When trying to browse this file, kwrite suddenly stops.
I have no trouble. Check your download, disk space, etc. Here are my md5sum: 53c5ebfad7693a476417aa407d3688c8 texlive-2013-0.1.20130608_r30832.fc19.src.rpm d7fe656e5ec3727cc26dbcc216e3553f rpmbuild/SPECS/texlive.spec
texlinve.spec has 329,568 lines, 14,562,823 bytes. The texlive-2013 .fc19.src.rpm has 1,672,612,100 bytes.
Le jeudi 04 juillet 2013 19:44:04, John Reiser a écrit :
I tried to build texlive-2013-0.1.20130608_r30832.fc19.src.rpm for EPEL, the build failed with the following error:
error: Failed build dependencies: harfbuzz-devel is needed by texlive-3:2013-0.1.20130608_r30832.el6.x86_64 graphite2-devel is needed by texlive-3:2013-0.1.20130608_r30832.el6.x86_64
Notice that you are mixing .fc19 and .el6. This allows another place for things to go wrong.
There is no mix, I just try to build the package for el6 with the f19 srpm.
So, building texlive-2013 requires graphite2-devel, and building graphite2-devel requires texlive2013.
Yes, but each dependency can be satisfied by installing a binary .rpm which is available.
The packages are available for f19, not for el6.
Building texlive-2013 from source cannot proceed unless the binary of graphite2-devel has been installed before the build starts. So "yum install graphite2-devel".
No graphite2-devel package in el6. Of course, f19 packages can't be installed on el6.
Today this is not a circular dependency, although it may be impossible to rebuild the world from source only, without using some previous [or current] binary version of graphite2-devel. Once upon a time the dependencies were not as strict, or there was a bootstrapping stage that is not recorded in the .spec, or there was manual "cheating", etc.
This is clearly a circular dependency. I'm curious to know how koji do the job...
Does somebody succeed to open texlive.spec? When trying to browse this file, kwrite suddenly stops.
I have no trouble. Check your download, disk space, etc. Here are my md5sum: 53c5ebfad7693a476417aa407d3688c8 texlive-2013-0.1.20130608_r30832.fc19.src.rpm
78d97624782343909c2e757b0a3ff65d texlive-2013-0.1.20130608_r30832.fc19.src.rpm
d7fe656e5ec3727cc26dbcc216e3553f rpmbuild/SPECS/texlive.spec
d7fe656e5ec3727cc26dbcc216e3553f texlive.spec
texlinve.spec has 329,568 lines, 14,562,823 bytes.
14,562,823 texlive.spec
The texlive-2013 .fc19.src.rpm has 1,672,612,100 bytes.
1,672,610,996 texlive-2013-0.1.20130608_r30832.fc19.src.rpm
On Fri, 2013-07-05 at 12:45 +0200, Alain Portal wrote:
Le jeudi 04 juillet 2013 19:44:04, John Reiser a écrit :
Today this is not a circular dependency, although it may be impossible to rebuild the world from source only, without using some previous [or current] binary version of graphite2-devel. Once upon a time the dependencies were not as strict, or there was a bootstrapping stage that is not recorded in the .spec, or there was manual "cheating", etc.
This is clearly a circular dependency. I'm curious to know how koji do the job...
Both are available in Fedora 19, so any of them can be rebuilt and have its BuildRequires satisfied.
The question is how did it get built the first time. And John already responded to that in the part quoted above.
Note that circular build dependencies are in fact quite common, for example in Perl modules.
What happens is that you'll bootstrap it by first building A, without the BuildRequires on B (for example having B present in the buildroot is only needed for an optional feature in A, or for the unit tests,...).
Then you build B, with its build dependency on A.
And finally you rebuild A, this time with the build dependency on B.