https://bugzilla.redhat.com/show_bug.cgi?id=1847093
Bug ID: 1847093 Summary: antrl3 mock build requires antrl3-tools, which is built by... antlr3. Product: Fedora Version: 32 Status: NEW Component: antlr3 Severity: high Assignee: loganjerry@gmail.com Reporter: gilboad@gmail.com QA Contact: extras-qa@fedoraproject.org CC: dingyichen@gmail.com, java-sig-commits@lists.fedoraproject.org, loganjerry@gmail.com, mizdebsk@redhat.com, walters@redhat.com Target Milestone: --- Classification: Fedora
Description of problem: I'm trying to build antrl3 under CentOS 8. While trying to slowly build the dependency chain I noticed a BuildRequires: mvn(org.antlr:antlr3-maven-plugin) which is met by installing (under Fedora 32) antlr3-tools. Checking the source of antrl3-tools, I noticed its being built by antlr3.src.rpm.
BTW, the same issue can be found in stringtemplate4, which is required by antlr3 build, but itself requires antrl3-tools.
Version-Release number of selected component (if applicable): antlr3-3.5.2-25.fc32.src.rpm
How reproducible: Always.
Packages: A. antlr3: $ mock -r fedora-32-x86_64 antlr3-3.5.2-27.fc32.src.rpm ... Installing: ant noarch 1.10.8-1.fc32 updates 164 k <---------------------------------------------------------> antlr3-tool noarch 1:3.5.2-27.fc32 updates 1.1 M <---------------------------------------------------------> autoconf noarch 2.69-33.fc32 fedora 666 k automake noarch 1.16.1-14.fc32 fedora 665 k doxygen x86_64 1:1.8.17-2.fc32 fedora 4.8 M graphviz x86_64 2.42.4-1.fc32 fedora 3.4 M libtool x86_64 2.4.6-33.fc32 fedora 579 k maven-lib noarch 1:3.6.1-5.fc32 fedora 1.4 M maven-local noarch 5.3.0-9.fc32 fedora 8.7 k maven-plugin-bundle noarch 3.5.1-4.fc32 fedora 201 k maven-plugin-plugin noarch 3.5.1-7.fc32 fedora 61 k maven-project noarch 2.2.1-63.fc32 fedora 155 k plexus-compiler noarch 2.8.5-2.fc32 fedora 65 k sonatype-oss-parent noarch 7-19.fc32 fedora 13 k stringtemplate noarch 3.2.1-21.fc32 fedora 134 k <---------------------------------------------------------> stringtemplate4 noarch 4.3-2.fc32 fedora 247 k <---------------------------------------------------------> ... Wrote: /builddir/build/RPMS/antlr3-java-3.5.2-27.fc32.noarch.rpm Wrote: /builddir/build/RPMS/antlr3-C-3.4-3.5.2.27.fc32.x86_64.rpm Wrote: /builddir/build/RPMS/antlr3-javascript-3.1-3.5.2.27.fc32.noarch.rpm Wrote: /builddir/build/RPMS/antlr3-C-debuginfo-3.4-3.5.2.27.fc32.x86_64.rpm Wrote: /builddir/build/RPMS/antlr3-C++-devel-3.5.2-27.fc32.x86_64.rpm <---------------------------------------------------------> Wrote: /builddir/build/RPMS/antlr3-tool-3.5.2-27.fc32.noarch.rpm <---------------------------------------------------------> Wrote: /builddir/build/RPMS/antlr3-C-devel-3.4-3.5.2.27.fc32.x86_64.rpm Wrote: /builddir/build/RPMS/antlr3-debugsource-3.5.2-27.fc32.x86_64.rpm
B. stringtemplate4: $ mock -r fedora-32-x86_64 stringtemplate4-4.3-2.fc32.src.rpm ... Installing: antlr3-java noarch 1:3.5.2-27.fc32 updates 160 k <---------------------------------------------------------> antlr3-tool noarch 1:3.5.2-27.fc32 updates 1.1 M <---------------------------------------------------------> junit noarch 1:4.12-13.fc32 fedora 283 k maven-local noarch 5.3.0-9.fc32 fedora 8.7 k sonatype-oss-parent noarch 7-19.fc32 fedora 13 k xorg-x11-fonts-Type1 noarch 7.5-24.fc32 fedora 500 k xorg-x11-server-Xvfb x86_64 1.20.8-1.fc32 fedora 879 k ...
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
Gilboa Davara gilboad@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Doc Type|--- |If docs needed, set a value
--- Comment #1 from Gilboa Davara gilboad@gmail.com --- Adding BuildRequires: 'mvn(org.antlr:antlr)' (which again translates to antlr3-tool) to the list.
- Gilboa
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
Gilboa Davara gilboad@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|antrl3 mock build requires |antlr3 mock build requires |antrl3-tools, which is |antrl3-tools, which is |built by... antlr3. |built by... antlr3.
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
--- Comment #2 from Jerry James loganjerry@gmail.com --- Yes, antlr3 needs a previous version of itself to bootstrap. Antlr4 is the same; worse, actually, since it *also* requires antlr3.
I'm just keeping antlr3 on life support in Fedora because cvc4 and antlr4 both need it. I've asked cvc4 upstream to please move to antlr4. If they manage to do that, then it will be time to figure out how to remove the antlr3 requirement from antlr4. At that point, we can remove antlr3 from Fedora entirely. I'm not inclined to do much work on the antlr3 package, since upstream no longer supports version 3.
To fix your problem, I think you'll have to do a bootstrap build using upstream's jars, then build the CentOS 8 packages of antlr3 and stringtemplate4 from there.
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
--- Comment #3 from Gilboa Davara gilboad@gmail.com --- Thanks for the prompt reply. Looking at the logs, I see the the build is doesn't download the JAR files when it's in offline mode. Any idea how I can switch the build to on-line mode?
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
--- Comment #4 from Jerry James loganjerry@gmail.com --- I believe that the "BuildRequires: maven-local" gives you a version of maven that is in offline mode. I think if you change maven-local to maven that you'll get a version in online mode.
It may be more work than that. I have no idea what the %mvn_build macro expands to, for example.
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
--- Comment #5 from Gilboa Davara gilboad@gmail.com --- Hi,
Sadly enough maven-local doesn't solve the problem. My gut feeling is that %mvn_build is automatically sending the --offline command line parameters. ... But for the life of me I cannot seem to find documentation how to modify / control it.
- Gilboa
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
--- Comment #6 from Jerry James loganjerry@gmail.com --- Does "%mvn_build --bootstrap" help?
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
--- Comment #7 from Jerry James loganjerry@gmail.com --- That's just a guess. I'm looking at the output of "python3 /usr/share/java-utils/mvn_build.py --help".
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
Jerry James loganjerry@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(gilboad@gmail.com | |)
--- Comment #8 from Jerry James loganjerry@gmail.com --- Gilboa, have you solved your problem?
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
Gilboa Davara gilboad@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(gilboad@gmail.com | |) |
--- Comment #9 from Gilboa Davara gilboad@gmail.com --- Sadly enough, we couldn't get antlr built on EL8. In the end, we switched to a in-house solution.
- Gilboa
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
Jerry James loganjerry@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CLOSED Fixed In Version| |antlr3-3.5.2-32.fc35 Resolution|--- |RAWHIDE Last Closed| |2021-03-12 18:40:59
--- Comment #10 from Jerry James loganjerry@gmail.com --- Sorry to take so long with this, but today I added a --with bootstrap capability to the antlr3 spec file. If anybody wants to try again to get the ANTLR stack bootstrapped for EPEL, the procedure is:
1. Build antlr3 in bootstrap mode 2. Build stringtemplate 3. Build stringtemplate4 4. Build antlr3 in non-bootstrap mode
And if ANTLR 4.x is wanted: 5. Build antlr4-project in bootstrap mode 6. Build antlr4-project in non-bootstrap mode
I'm going to close this bug for now, since the self-dependency can be worked around. Please reopen (or file a new bug) if anything else needs to be done.
https://bugzilla.redhat.com/show_bug.cgi?id=1847093
--- Comment #11 from Gilboa Davara gilboad@gmail.com --- Many thanks!
java-sig-commits@lists.fedoraproject.org