#47459 closed defect (fixed)
geoclue: build failure with gpsd 3.14
Reported by: | dershow | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.3 |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt), Schamschula (Marius Schamschula), laughingtiger, basmac, majoc-at-astro (majoc-at-astro), jeremyhu (Jeremy Huddleston Sequoia), ma.fabbri@…, dbevans (David B. Evans) | |
Port: | geoclue |
Description
I have geoclue 0.12.99_4 installed. It depends on gpsd. I had gpsd 3.11_0 installed, but it just upgraded to 3.14_0. However, after that upgrade macports finds that geoclue is a broken port and attempts, but fails, to rebuild it:
---> Scanning binaries for linking errors ---> Found 1 broken file(s), matching files to ports ---> Found 1 broken port(s), determining rebuild order ---> Rebuilding in order geoclue @0.12.99 ---> Computing dependencies for geoclue ---> Cleaning geoclue ---> Scanning binaries for linking errors ---> Found 1 broken file(s), matching files to ports ---> Found 1 broken port(s), determining rebuild order ---> Rebuilding in order geoclue @0.12.99 ---> Computing dependencies for geoclue ---> Fetching distfiles for geoclue ---> Verifying checksums for geoclue ---> Extracting geoclue ---> Applying patches to geoclue ---> Configuring geoclue ---> Building geoclue Error: org.macports.build for port geoclue returned: command execution failed Please see the log file for port geoclue for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_geoclue/geoclue/main.log Error: Unable to upgrade port: 1 Error rebuilding geoclue while executing "error "Error rebuilding $portname"" (procedure "revupgrade_scanandrebuild" line 395) invoked from within "revupgrade_scanandrebuild broken_port_counts $opts" (procedure "macports::revupgrade" line 5) invoked from within "macports::revupgrade $opts" (procedure "action_revupgrade" line 2) invoked from within "action_revupgrade $action $portlist $opts" (procedure "action_target" line 96) invoked from within "$action_proc $action $portlist [array get global_options]" (procedure "process_cmd" line 103) invoked from within "process_cmd $remaining_args" invoked from within "if { [llength $remaining_args] > 0 } { # If there are remaining arguments, process those as a command set exit_status [process_cmd $remaining..." (file "/opt/local/bin/port" line 5268)
I have also attached the full log of the geoclue rebuild attempt.
Attachments (1)
Change History (20)
Changed 10 years ago by dershow
comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | geoclue broken port → geoclue: build failure with gpsd 3.14 |
---|
comment:4 Changed 10 years ago by dershow
It looks like someone (ryandesign?) just fixed this....almost. I just did a port sync. Now, it shows geoclue2 as outdated, with me having 2.1.10_0 and current is 2.2.0_0. I don't recall that I ever explicitly installed geoclue2. So, I'm guessing that this was a bump to the new API. I then did an upgrade, and it correctly built geoclue2. But, then gave the same error as before for geoclue. So, I just uninstalled geoclue.
comment:5 follow-up: 13 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
I didn't fix geoclue; I looked to see if there was a new version, and only found a new version for geoclue2, so I updated that.
geoclue was needed for old versions of webkit-gtk, which are still used on older systems, but if you have a newer system, then newer versions of webkit-gtk are used which use geoclue2. If you were able to uninstall geoclue without error, then nothing you had installed needed it.
We should still fix the problems.
comment:8 follow-up: 9 Changed 10 years ago by basmac
Fails in same way for me updating netpbm -
---> Cleaning geoclue ---> Scanning binaries for linking errors ---> Found 1 broken file(s), matching files to ports ---> Found 1 broken port(s), determining rebuild order ---> Rebuilding in order geoclue @0.12.99 ---> Computing dependencies for geoclue ---> Fetching distfiles for geoclue ---> Verifying checksums for geoclue ---> Extracting geoclue ---> Applying patches to geoclue ---> Configuring geoclue ---> Building geoclue Error: org.macports.build for port geoclue returned: command execution failed Please see the log file for port geoclue for details: /opt/local/var/macports/logs/_Volumes_Cluster_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_geoclue/geoclue/main.log Error: Unable to upgrade port: 1 Error rebuilding geoclue while executing "error "Error rebuilding $portname"" (procedure "revupgrade_scanandrebuild" line 395) invoked from within "revupgrade_scanandrebuild broken_port_counts $opts" (procedure "macports::revupgrade" line 5) invoked from within "macports::revupgrade $opts" (procedure "action_revupgrade" line 2) invoked from within "action_revupgrade $action $portlist $opts" (procedure "action_upgrade" line 25) invoked from within "$action_proc $action $portlist [array get global_options]" (procedure "process_cmd" line 103) invoked from within "process_cmd $remaining_args" invoked from within "if { [llength $remaining_args] > 0 } { # If there are remaining arguments, process those as a command set exit_status [process_cmd $remaining..." (file "/opt/local/bin/port" line 5268) bash-3.2#
comment:9 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to barry.j.mcinnes@…:
Fails in same way for me
Yes, geoclue will fail to build for all users at this time.
updating netpbm -
---> Cleaning geoclue ---> Scanning binaries for linking errors ---> Found 1 broken file(s), matching files to ports ---> Found 1 broken port(s), determining rebuild order ---> Rebuilding in order geoclue @0.12.99 ---> Computing dependencies for geoclue ---> Fetching distfiles for geoclue ---> Verifying checksums for geoclue ---> Extracting geoclue ---> Applying patches to geoclue ---> Configuring geoclue ---> Building geoclue Error: org.macports.build for port geoclue returned: command execution failed Please see the log file for port geoclue for details: /opt/local/var/macports/logs/_Volumes_Cluster_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_geoclue/geoclue/main.log Error: Unable to upgrade port: 1 Error rebuilding geoclue while executing "error "Error rebuilding $portname"" (procedure "revupgrade_scanandrebuild" line 395) invoked from within "revupgrade_scanandrebuild broken_port_counts $opts" (procedure "macports::revupgrade" line 5) invoked from within "macports::revupgrade $opts" (procedure "action_revupgrade" line 2) invoked from within "action_revupgrade $action $portlist $opts" (procedure "action_upgrade" line 25) invoked from within "$action_proc $action $portlist [array get global_options]" (procedure "process_cmd" line 103) invoked from within "process_cmd $remaining_args" invoked from within "if { [llength $remaining_args] > 0 } { # If there are remaining arguments, process those as a command set exit_status [process_cmd $remaining..." (file "/opt/local/bin/port" line 5268) bash-3.2#
Note that netpbm has nothing to do with this. netpbm does not require geoclue. However, after installing or upgrading any port, MacPorts checks if any ports are broken, and it found geoclue was broken, and tried to rebuild it, which will fail until we solve this problem somehow.
I expect this would also apply to the other ports that depend on gpsd: marble and viking.
comment:11 Changed 10 years ago by dbevans (David B. Evans)
Cc: | jeremyhu@… removed |
---|---|
Owner: | changed from macports-tickets@… to jeremyhu@… |
comment:12 Changed 10 years ago by ma.fabbri@…
I confirm the complitation failure on all Mac OS X platform tested:
10.5 Leopard 10.5 PPC/Intel
10.7 Lion
comment:13 follow-up: 17 Changed 10 years ago by ma.fabbri@…
Replying to ryandesign@…:
I didn't fix geoclue; I looked to see if there was a new version, and only found a new version for geoclue2, so I updated that.
geoclue was needed for old versions of webkit-gtk, which are still used on older systems, but if you have a newer system, then newer versions of webkit-gtk are used which use geoclue2. If you were able to uninstall geoclue without error, then nothing you had installed needed it.
We should still fix the problems.
Many ports require webkit-gtk3-2.0, and then geoclue, to work properly!
If these ports were going to ask webkit-gtk3, and then geoclue2, everything should work!
comment:14 Changed 10 years ago by basmac
We are in the same situation webkit-gtk3 cannot be removed (4+ other ports rely on it) and it needs geoclue.
comment:16 Changed 10 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | new → closed |
webkit-gtk-2.0 geolocation support using geoclue was made a non-default option in r135273. Use +geolocation to re-enable. This allows the default build to proceed without error.
geoclue gpsd support disabled in r135300. This old version of geoclue will not build with gpsd API 6.0+ (gpsd 3.12+). Current geoclue2 versions no longer support gpsd, so this makes the two behave in a similar fashion. This change allows the webkit-gtk-2.0 +geolocation option to build (without the gpsd suport) if desired.
These changes, of course, apply to subport webkit-gtk3-2.0 as well.
comment:17 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ma.fabbri@… added |
---|
Replying to ma.fabbri@…:
Many ports require webkit-gtk3-2.0, and then geoclue, to work properly!
If these ports were going to ask webkit-gtk3, and then geoclue2, everything should work!
webkit-gtk3-2.0 is used when your C++ library is libstdc++. Usually, this is the case on OS X 10.8 and earlier.
webkit-gtk3 is used when your C++ library is libc++. Usually, this is the case on OS X 10.9 and later.
That's what I meant when I said "webkit-gtk [is] still used on older systems, but if you have a newer system, then newer versions of webkit-gtk are used which use geoclue2".
comment:19 Changed 10 years ago by dbevans (David B. Evans)
jeremyhu dropped maintainership of geoclue in r135298.
Replying to dersh@…:
Oh dear. We are using a patch in the gpsd port to set the library's
install_name
but we're setting it to the same value as thecurrent_version
and thecompatibility_version
which is almost certainly wrong.Oh dear. That sounds like the API has changed between 3.11 and 3.14 which would be an unfortunate contravention of the usual meaning of the version numbering. The documentation still says "Your packet parser is also responsible for setting the
tag
field in thegps_data_t
structure" so if thetag
field has now been removed from thegps_data_t
structure then the documentation is also out of date.