Bug 242533 - devel/libgtop: error: no member named 'next' in 'struct vm_map_entry
Summary: devel/libgtop: error: no member named 'next' in 'struct vm_map_entry
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Koop Mast
URL: https://reviews.freebsd.org/D22929
Keywords: patch
Depends on:
Blocks:
 
Reported: 2019-12-09 23:16 UTC by Neel Chauhan
Modified: 2020-01-13 19:06 UTC (History)
8 users (show)

See Also:


Attachments
libgtop build error (3.41 KB, text/plain)
2019-12-09 23:16 UTC, Neel Chauhan
no flags Details
Patch: make devel/libgtop use left instead of next in struct vm_map_entry (2.61 KB, patch)
2019-12-10 14:32 UTC, Neel Chauhan
no flags Details | Diff
Patch: make devel/libgtop use right instead of next in struct vm_map_entry (2.62 KB, patch)
2019-12-15 00:23 UTC, Neel Chauhan
no flags Details | Diff
Patch: make devel/libgtop use right instead of next in struct vm_map_entry (Revision 3) (2.95 KB, patch)
2019-12-15 16:12 UTC, Neel Chauhan
no flags Details | Diff
Patch: make devel/libgtop use right instead of next in struct vm_map_entry (Revision 3) (3.96 KB, patch)
2019-12-17 16:03 UTC, Neel Chauhan
no flags Details | Diff
Patch: make devel/libgtop use right instead of next in struct vm_map_entry (4.00 KB, patch)
2019-12-17 18:38 UTC, Neel Chauhan
no flags Details | Diff
Patch: make devel/libgtop use right instead of next in struct vm_map_entry (Revision 6) (4.80 KB, patch)
2019-12-18 00:23 UTC, Neel Chauhan
no flags Details | Diff
Updated patch for r356432 and later (5.30 KB, patch)
2020-01-11 06:21 UTC, Tomoaki AOKI
no flags Details | Diff
Rebase patch after ports r522841 (2.66 KB, patch)
2020-01-13 01:09 UTC, Charlie Li
vishwin: maintainer-approval? (gnome)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Neel Chauhan freebsd_committer freebsd_triage 2019-12-09 23:16:07 UTC
Created attachment 209816 [details]
libgtop build error

This is necessary to build GNOME 3 on 13-CURRENT r355560

Error log attached.
Comment 1 Neel Chauhan freebsd_committer freebsd_triage 2019-12-10 14:08:18 UTC
I have a patch, but am still waiting for my laptop to recompile GNOME. Since I have a reasonably fast laptop, it should take about an hour or two (or less).
Comment 2 Neel Chauhan freebsd_committer freebsd_triage 2019-12-10 14:32:23 UTC
Created attachment 209828 [details]
Patch: make devel/libgtop use left instead of next in struct vm_map_entry

The issue started with commit r355491.

https://freshbsd.org/commit/freebsd/src/355491

libgtop hasn't compiled (yet) on my laptop while I'm building GNOME, but I will report when it does (or update the patch if it doesn't).

I don't know if this patch works on 11.x or 12.x.
Comment 3 Neel Chauhan freebsd_committer freebsd_triage 2019-12-10 16:59:38 UTC
This patch works, I can confirm it builds on my system.
Comment 4 Ting-Wei Lan 2019-12-14 16:08:58 UTC
(In reply to Neel Chauhan from comment #2)
The commit you mentioned replaces most 'next' with 'right'. I didn't carefully read the commit, but I doubt if replacing 'next' with 'left' is correct here.

Since the problem is very likely to exist the upstream project, it is recommended to report it to the upstream (https://gitlab.gnome.org/GNOME/libgtop) as well.
Comment 5 Neel Chauhan freebsd_committer freebsd_triage 2019-12-14 21:38:17 UTC
Good catch.

I have been using LXQt while GNOME was broken. I'm recompiling GNOME right now, with the new libgtop patch.
Comment 6 Neel Chauhan freebsd_committer freebsd_triage 2019-12-15 00:23:14 UTC
Created attachment 209957 [details]
Patch: make devel/libgtop use right instead of next in struct vm_map_entry

You're right.

I was able to get Gnome working.

Thanks!
Comment 7 Neel Chauhan freebsd_committer freebsd_triage 2019-12-15 16:12:50 UTC
Created attachment 209975 [details]
Patch: make devel/libgtop use right instead of next in struct vm_map_entry (Revision 3)

This also allows compatibility with FreeBSD 11.x and 12.x using the old syntax.
Comment 8 Neel Chauhan freebsd_committer freebsd_triage 2019-12-15 20:58:04 UTC
This patch was merged to the GNOME libgtop repo.

Also, thank you @Ting-Wei Lan for suggesting this.

Still no response from the Ports people.
Comment 10 Jan Beich freebsd_committer freebsd_triage 2019-12-16 23:36:37 UTC
Comment on attachment 209975 [details]
Patch: make devel/libgtop use right instead of next in struct vm_map_entry (Revision 3)

Why existing patch (from ports r422756) was clobbered? If no longer required it should be removed in a separate change after testing runtime.
Comment 11 Mikael Urankar freebsd_committer freebsd_triage 2019-12-17 12:50:16 UTC
See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242620#c5
Comment 12 Neel Chauhan freebsd_committer freebsd_triage 2019-12-17 16:03:50 UTC
Created attachment 210008 [details]
Patch: make devel/libgtop use right instead of next in struct vm_map_entry (Revision 3)

In https://reviews.freebsd.org/D21964, the Revision 3 logic is incorrect. I fixed this.
Comment 13 Neel Chauhan freebsd_committer freebsd_triage 2019-12-17 18:38:07 UTC
Created attachment 210013 [details]
Patch: make devel/libgtop use right instead of next in struct vm_map_entry
Comment 14 Neel Chauhan freebsd_committer freebsd_triage 2019-12-18 00:23:16 UTC
Created attachment 210019 [details]
Patch: make devel/libgtop use right instead of next in struct vm_map_entry (Revision 6)

This patch incorporates dougm@'s changes from here: https://reviews.freebsd.org/D21964/new/#500455

I abandoned my patch in favor of his.
Comment 15 Neel Chauhan freebsd_committer freebsd_triage 2019-12-26 21:46:51 UTC
An updated patch is available on Phabricator: https://reviews.freebsd.org/D22929
Comment 16 Tomoaki AOKI 2020-01-11 06:21:53 UTC
Created attachment 210610 [details]
Updated patch for r356432 and later

r356432 on head [1] broke this again by eliminating v_tag from struct vnode.
r356437 on head [2] fixes by replacing v_tag with v_lock.lock_object.lo_name.

Attached patch is the update for the one on phablicator D22929.
Unfortunately, I'm not enough familiar with phablicator to update diff there.

Beware! Not enogh confirmed whether additional __FreeBSD_version checking is required or not.

[1] https://lists.freebsd.org/pipermail/svn-src-head/2020-January/132472.html

[2] https://lists.freebsd.org/pipermail/svn-src-head/2020-January/132477.html
Comment 17 Charlie Li freebsd_committer freebsd_triage 2020-01-13 01:09:59 UTC
Created attachment 210676 [details]
Rebase patch after ports r522841

ports r522841 was committed in the meantime, so rebase attachment 210610 [details]. Builds and runs on base r356590.

__FreeBSD_version was bumped at base r356409 and base r356511, so checking that wouldn't work.
Comment 18 commit-hook freebsd_committer freebsd_triage 2020-01-13 19:03:03 UTC
A commit references this bug:

Author: kwm
Date: Mon Jan 13 19:02:55 UTC 2020
New revision: 522971
URL: https://svnweb.freebsd.org/changeset/ports/522971

Log:
  Commit the correct patch.

  PR:		242533
  Submitted by:	Neel Chauhan <neel AT neelc DOT org>
  Pointyhat to: 	kwm@

Changes:
  head/devel/libgtop/files/patch-sysdeps_freebsd_procmap.c
Comment 19 Koop Mast freebsd_committer freebsd_triage 2020-01-13 19:06:41 UTC
Thanks for everyone involved making this patch great.

Although I could have done without committing the old version..