Opened 4 years ago
Closed 4 years ago
#60891 closed defect (fixed)
qgis3 @3.14.0_1: No rule to make target `.../resources/function_help/json/$$area'
Reported by: | gwright83 | Owned by: | Veence (Vincent) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.3 |
Keywords: | Cc: | Dave-Allured (Dave Allured) | |
Port: | qgis3 |
Description
The most recent version of qgis3, qgis3@3.14.0_1 fails to build on macOS 10.14.6. The problem persists even if the previous version is uninstalled. I built the port with
sudo port install qgis3 build.jobs=1
to avoid previously noted parallel build problems.
The error at the end of the log:
:info:build [ 0%] Generating flex_qgssqlstatementlexer.cpp :info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis3/qgis3/work/build/src/core && /usr/bin/flex -Psqlstatement_ -o/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis3/qgis3/work/build/src/core/flex_qgssqlstatementlexer.cpp /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis3/qgis3/work/QGIS-3_14_0/src/core/qgssqlstatementlexer.ll :info:build make[2]: *** No rule to make target `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis3/qgis3/work/QGIS-3_14_0/resources/function_help/json/$$area', needed by `src/core/qgsexpression_texts.cpp'. Stop. :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis3/qgis3/work/build' :info:build make[1]: *** [src/core/CMakeFiles/qgis_core_autogen.dir/all] Error 2 :info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis3/qgis3/work/build' :info:build make: *** [all] Error 2 :info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis3/qgis3/work/build' :info:build Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis3/qgis3/work/build" && /usr/bin/make -w all VERBOSE=ON :info:build Exit code: 2 :error:build Failed to build qgis3: command execution failed :debug:build Error code: CHILDSTATUS 42114 2 :debug:build Backtrace: command execution failed :debug:build while executing :debug:build "system {*}$notty {*}$nice $fullcmdstring" :debug:build invoked from within :debug:build "command_exec build" :debug:build (procedure "portbuild::build_main" line 8) :debug:build invoked from within :debug:build "$procedure $targetname" :error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis3/qgis3/main.log for details.
The proximate error seems to be the lack of a rule to build src/src/core/qgsexpression_texts.cpp
.
It may be relevant that I had done a port reclaim
before trying to upgrade from qgis@3.14.0_0 to qgis@3.14.0_1. The upgrade failed. I uninstalled the old version of the port and tried to reinstall the new version. This also failed. Running port clean
and then trying to install failed consistently three times with the same error message.
A complete log is attached.
Attachments (1)
Change History (8)
Changed 4 years ago by gwright83
comment:1 Changed 4 years ago by Dave-Allured (Dave Allured)
Cc: | Dave-Allured added |
---|
comment:2 Changed 4 years ago by reneeotten (Renee Otten)
Owner: | set to Veence |
---|---|
Status: | new → assigned |
comment:3 Changed 4 years ago by Veence (Vincent)
Yeah, I differed because I hoped the new 3.14.1 version would solve that issue, but alas, no. I’m going to forward that error upstream and see if we can come with a quick fix (if that fix isn't already published)
comment:4 Changed 4 years ago by gwright83
More information:
I misread the original error message. The error is
:info:build make[2]: *** No rule to make target `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis3/qgis3/work/QGIS-3_14_0/resources/function_help/json/$$area', needed by `src/core/qgsexpression_texts.cpp'. Stop.
The problem is not that there is no rule to make src/core/qgsexpression_texts.cpp
(as I originally said) but that there is no rule to make qgis3/QGIS-3_14_0/resources/function_help/json/$$area
.
The file qgis3/QGIS-3_14_0/resources/function_help/json/area
exists and seems to have reasonable content. It look like there are spurious dollar signs (perhaps from cmake?) that are confusing make.
comment:5 Changed 4 years ago by Veence (Vincent)
A further problem is that the file src/core/qgsexpression_texts.cpp
does not exist. I suppose generating this .cpp file entails building the $$area
file somehow. The expression parser seems to rely heavily on flex.
comment:6 Changed 4 years ago by Veence (Vincent)
Ok, I have a build:
Air > port installed | grep qgis3 qgis3 @3.14.1_0+grass+postgresql12+python38 (active)
The fix is very simple. I will commit a patch tomorrow, and simultaneously report the issue upstream. Stay tuned.
comment:7 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Summary: | qgis3 @3.14.0_1 fails to build → qgis3 @3.14.0_1: No rule to make target `.../resources/function_help/json/$$area' |
Vincent committed a fix in [f2ee9406fec1b81173f816a180167af810a5e173/macports-ports].
Vincent, remember to follow our commit guidelines by putting the line Closes: https://trac.macports.org/ticket/60891
in your commit message so that it is automatically cross-referenced in Trac and the ticket is automatically closed.
Also, I didn't see a URL to an upstream bug report in your commit. Please add one. If there isn't already an upstream bug report for this problem, please file one.
Build log