Opened 9 years ago

Closed 8 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)

main.log (11.3 MB) - added by MasakiOita 9 years ago.

Change History (10)

Changed 9 years ago by MasakiOita

Attachment: main.log added

comment:1 Changed 9 years ago by MasakiOita

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.

comment:2 Changed 9 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 9 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 9 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:5 Changed 9 years ago by petrrr

Cc: petr@… added

Cc Me!

comment:6 Changed 9 years ago by aaschwanden (Andy Aschwanden)

Cc: andy.aschwanden@… added

Cc Me!

comment:7 Changed 9 years ago by manuel.deljesuspe@…

Cc: manuel.deljesuspe@… added

Cc Me!

comment:8 in reply to:  7 Changed 9 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 8 years ago by Veence (Vincent)

Resolution: invalid
Status: newclosed

Please retest with QGis 2.12 and open a new ticket if the problem persists.

Note: See TracTickets for help on using tickets.