Opened 10 years ago
Closed 10 years ago
#48563 closed defect (invalid)
qgis @2.10.1_0 +grass +postgresql93: fails to build
| Reported by: | MasakiOita | Owned by: | Veence (Vincent) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.3.3 |
| Keywords: | Cc: | petrrr, aaschwanden (Andy Aschwanden), manuel.deljesuspe@… | |
| Port: | qgis |
Description
qgis@2.10.1_0 fails to build, with the following errors:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync. macports.org_release_tarballs_ports_gis_qgis/qgis/work/qgis-2.10.1/src/providers /grass/qgsgrassdatafile.cpp:76:7: error: unknown type name 'fd_set' :info:build fd_set readFds; :info:build ^
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync. macports.org_release_tarballs_ports_gis_qgis/qgis/work/qgis-2.10.1/src/providers /grass/qgsgrassdatafile.cpp:78:22: error: variable has incomplete type 'struct t imeval' :info:build struct timeval tv; :info:build ^
Attachments (1)
Change History (10)
Changed 10 years ago by MasakiOita
comment:1 Changed 10 years ago by MasakiOita
comment:2 Changed 10 years ago by mf2k (Frank Schima)
| Owner: | changed from macports-tickets@… to vince@… |
|---|
In the future, please Cc the port maintainers (port info --maintainers qgis), if any.
comment:3 Changed 10 years ago by MasakiOita
Another issue happened.
Although the port qgis can be built successfully as I wrote above, I failed to install the binary, the rebuilding process failed 3 times because of broken files.
Based on the output below, I looked at the content of the following two files via 'lv' command:
- /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/grass/modules/qgis.r.in6
- /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/grass/modules/qgis.v.in6
I found that the locations of framework files qgis_core, qgis_gui, and qgisgrass6 are hard-corded as they were in ${worksrcpath}.
$ sudo port -sdy rev-upgrade
...
DEBUG: Ignoring loadcommand containing @executable_path in /Applications/MacPorts/QGIS.app/Contents/MacOS/QGIS
DEBUG: Ignoring loadcommand containing @executable_path in /Applications/MacPorts/QGIS.app/Contents/MacOS/QGIS
DEBUG: Ignoring loadcommand containing @executable_path in /Applications/MacPorts/QGIS.app/Contents/MacOS/QGIS
DEBUG: Ignoring loadcommand containing @executable_path in /Applications/MacPorts/QGIS.app/Contents/MacOS/bin/QGIS Browser.app/Contents/MacOS/QGIS Browser
DEBUG: Ignoring loadcommand containing @executable_path in /Applications/MacPorts/QGIS.app/Contents/MacOS/bin/QGIS Browser.app/Contents/MacOS/QGIS Browser
DEBUG: Ignoring loadcommand containing @executable_path in /Applications/MacPorts/QGIS.app/Contents/MacOS/bin/qgis_bench.app/Contents/MacOS/qgis_bench
DEBUG: Ignoring loadcommand containing @executable_path in /Applications/MacPorts/QGIS.app/Contents/MacOS/bin/qgis_help.app/Contents/MacOS/qgis_help
DEBUG: Ignoring loadcommand containing @executable_path in /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/crssync
Could not open /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis/qgis/work/qgis-2.10.1/build/output/lib/qgis_core.framework/Versions/2.10/qgis_core: Error opening or reading file (referenced from /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/grass/modules/qgis.r.in6)
DEBUG: Marking /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/grass/modules/qgis.r.in6 as broken
Could not open /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis/qgis/work/qgis-2.10.1/build/output/lib/qgis_gui.framework/Versions/2.10/qgis_gui: Error opening or reading file (referenced from /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/grass/modules/qgis.r.in6)
DEBUG: Marking /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/grass/modules/qgis.r.in6 as broken
Could not open /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_qgis/qgis/work/qgis-2.10.1/build/output/lib/qgisgrass6.framework/Versions/2.10/qgisgrass6: Error opening or reading file (referenced from /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/grass/modules/qgis.r.in6)
DEBUG: Marking /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/grass/modules/qgis.r.in6 as broken
DEBUG: Marking /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/grass/modules/qgis.v.in6 as broken
DEBUG: Marking /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/grass/modules/qgis.v.in6 as broken
DEBUG: Marking /Applications/MacPorts/QGIS.app/Contents/MacOS/lib/qgis/grass/modules/qgis.v.in6 as broken
---> Found 6 broken file(s), matching files to ports
---> Found 1 broken port(s), determining rebuild order
DEBUG: Broken: qgis
DEBUG: Processing port qgis @0:2.10.1_0 +grass+postgresql93
---> Rebuilding in order
qgis @2.10.1 +grass+postgresql93
...
comment:4 Changed 10 years ago by Veence (Vincent)
Hi! Thanks for reporting and tracing the bug. I’m on vacation until next Tuesday, but I’ll fix this as soon as I return to civilisation with a high-speed Internet access I lack here. Thanks for your patience!
comment:7 follow-up: 8 Changed 10 years ago by manuel.deljesuspe@…
| Cc: | manuel.deljesuspe@… added |
|---|
Cc Me!
comment:8 Changed 10 years ago by willic3@…
Replying to manuel.deljesuspe@…:
Cc Me!
Hi! I get the identical problem to epimetheus314 above (broken qgis), except that mine is the +grass+posgresql94 variant. Has there been any more progress on this? Thanks!
comment:9 Changed 10 years ago by Veence (Vincent)
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
Please retest with QGis 2.12 and open a new ticket if the problem persists.

I think I have found where the problem lies. The file qgsgrassdatafile.cpp contains the following conditional groups depending on Q_OS_UNIX:
#ifdef Q_OS_UNIX #include <sys/select.h> #endif ... qint64 QgsGrassDataFile::readData( char * data, qint64 len ) { ... #ifdef Q_OS_UNIX if ( read == 0 ) { fd_set readFds; FD_ZERO( &readFds ); struct timeval tv; ... } #endif } return readSoFar; }I don't know why but the first block seems to be ignored, while the second is to be compiled, which caused the errors. In fact, if I give the option '-D Q_OS_UNIX' from the command line, the file can be compiled successfully. So I decided to make the second block commented out, though I am not sure this is the right solution.