Bug 274329

Summary: x11-toolkits/libwnck3: fix warnings, and build with lld 17
Product: Ports & Packages Reporter: Dimitry Andric <dim>
Component: Individual Port(s)Assignee: freebsd-gnome (Nobody) <gnome>
Status: Closed FIXED    
Severity: Affects Some People Flags: bugzilla: maintainer-feedback? (gnome)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 273753    
Attachments:
Description Flags
x11-toolkits/libwnck3: fix warnings, and build with lld 17 none

Description Dimitry Andric freebsd_committer freebsd_triage 2023-10-07 14:03:07 UTC
Building x11-toolkits/libwnck3 with lld 17 results in the following link
errors:

  cc  -o libwnck/libwnck-3.so.0.3.0 libwnck/libwnck-3.so.0.3.0.p/meson-generated_.._wnck-enum-types.c.o libwnck/libwnck-3.so.0.3.0.p/meson-generated_.._libwnck-resources.c.o libwnck/libwnck-3.so.0.3.0.p/application.c.o libwnck/libwnck-3.so.0.3.0.p/class-group.c.o libwnck/libwnck-3.so.0.3.0.p/pager.c.o libwnck/libwnck-3.so.0.3.0.p/screen.c.o libwnck/libwnck-3.so.0.3.0.p/selector.c.o libwnck/libwnck-3.so.0.3.0.p/tasklist.c.o libwnck/libwnck-3.so.0.3.0.p/util.c.o libwnck/libwnck-3.so.0.3.0.p/window-action-menu.c.o libwnck/libwnck-3.so.0.3.0.p/window.c.o libwnck/libwnck-3.so.0.3.0.p/wnck-image-menu-item.c.o libwnck/libwnck-3.so.0.3.0.p/workspace.c.o libwnck/libwnck-3.so.0.3.0.p/xutils.c.o libwnck/libwnck-3.so.0.3.0.p/pager-accessible.c.o libwnck/libwnck-3.so.0.3.0.p/pager-accessible-factory.c.o libwnck/libwnck-3.so.0.3.0.p/workspace-accessible.c.o libwnck/libwnck-3.so.0.3.0.p/workspace-accessible-factory.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libwnck-3.so.0 -fstack-protector-strong -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -Wl,-rpath,/usr/local/lib -Wl,-rpath-link,/usr/local/lib -Wl,--version-script,/wrkdirs/share/dim/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/libwnck/libwnck-3.map -lm /usr/local/lib/libcairo.so /usr/local/lib/libXext.so /usr/local/lib/libXrender.so /usr/local/lib/libX11.so /usr/local/lib/libglib-2.0.so /usr/local/lib/libintl.so /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgtk-3.so /usr/local/lib/libgdk-3.so /usr/local/lib/libharfbuzz.so /usr/local/lib/libpangocairo-1.0.so /usr/local/lib/libpango-1.0.so /usr/local/lib/libatk-1.0.so /usr/local/lib/libcairo-gobject.so /usr/local/lib/libgdk_pixbuf-2.0.so /usr/local/lib/libgio-2.0.so /usr/local/lib/libstartup-notification-1.so /usr/local/lib/libXRes.so -Wl,--end-group
  ld: error: version script assignment of 'global' to symbol '__progname' failed: symbol not defined
  ld: error: version script assignment of 'global' to symbol 'environ' failed: symbol not defined
  cc: error: linker command failed with exit code 1 (use -v to see invocation)

Commit bf6718d6938e added patch-libwnck_libwnck-3.map a long time ago,
but it is unclear why. Remove the patch so the undefined symbols are no
longer referenced in the linker script.

While here, fix two warnings about incorrectly defined header guards:

  In file included from ../libwnck/pager-accessible-factory.c:20:
  ../libwnck/pager-accessible-factory.h:19:9: warning: '__WNCK_PAGER_ACCESSIBLE_FACTORY_H__' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
     19 | #ifndef __WNCK_PAGER_ACCESSIBLE_FACTORY_H__
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../libwnck/pager-accessible-factory.h:20:9: note: '__WBCK_PAGER_ACCESSIBLE_FACTORY_H__' is defined here; did you mean '__WNCK_PAGER_ACCESSIBLE_FACTORY_H__'?
     20 | #define __WBCK_PAGER_ACCESSIBLE_FACTORY_H__
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        |         __WNCK_PAGER_ACCESSIBLE_FACTORY_H__
  ../libwnck/workspace-accessible-factory.h:19:9: warning: '__WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
     19 | #ifndef __WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../libwnck/workspace-accessible-factory.h:20:9: note: '__WBCK_WORKSPACE_ACCESSIBLE_FACTORY_H__' is defined here; did you mean '__WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__'?
     20 | #define __WBCK_WORKSPACE_ACCESSIBLE_FACTORY_H__
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        |         __WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__
Comment 1 Dimitry Andric freebsd_committer freebsd_triage 2023-10-07 14:03:28 UTC
Created attachment 245481 [details]
x11-toolkits/libwnck3: fix warnings, and build with lld 17
Comment 2 commit-hook freebsd_committer freebsd_triage 2023-10-20 16:26:25 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=36a866dfc827e21e5230a9c2aeb4e8275198a028

commit 36a866dfc827e21e5230a9c2aeb4e8275198a028
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-10-07 13:57:20 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-10-20 16:25:47 +0000

    x11-toolkits/libwnck3: fix warnings, and build with lld 17

    Building x11-toolkits/libwnck3 with lld 17 results in the following link
    errors:

      cc  -o libwnck/libwnck-3.so.0.3.0 libwnck/libwnck-3.so.0.3.0.p/meson-generated_.._wnck-enum-types.c.o libwnck/libwnck-3.so.0.3.0.p/meson-generated_.._libwnck-resources.c.o libwnck/libwnck-3.so.0.3.0.p/application.c.o libwnck/libwnck-3.so.0.3.0.p/class-group.c.o libwnck/libwnck-3.so.0.3.0.p/pager.c.o libwnck/libwnck-3.so.0.3.0.p/screen.c.o libwnck/libwnck-3.so.0.3.0.p/selector.c.o libwnck/libwnck-3.so.0.3.0.p/tasklist.c.o libwnck/libwnck-3.so.0.3.0.p/util.c.o libwnck/libwnck-3.so.0.3.0.p/window-action-menu.c.o libwnck/libwnck-3.so.0.3.0.p/window.c.o libwnck/libwnck-3.so.0.3.0.p/wnck-image-menu-item.c.o libwnck/libwnck-3.so.0.3.0.p/workspace.c.o libwnck/libwnck-3.so.0.3.0.p/xutils.c.o libwnck/libwnck-3.so.0.3.0.p/pager-accessible.c.o libwnck/libwnck-3.so.0.3.0.p/pager-accessible-factory.c.o libwnck/libwnck-3.so.0.3.0.p/workspace-accessible.c.o libwnck/libwnck-3.so.0.3.0.p/workspace-accessible-factory.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -
 Wl,-soname,libwnck-3.so.0 -fstack-protector-strong -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -Wl,-rpath,/usr/local/lib -Wl,-rpath-link,/usr/local/lib -Wl,--version-script,/wrkdirs/share/dim/ports/x11-toolkits/libwnck3/work/libwnck-3.36.0/libwnck/libwnck-3.map -lm /usr/local/lib/libcairo.so /usr/local/lib/libXext.so /usr/local/lib/libXrender.so /usr/local/lib/libX11.so /usr/local/lib/libglib-2.0.so /usr/local/lib/libintl.so /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgtk-3.so /usr/local/lib/libgdk-3.so /usr/local/lib/libharfbuzz.so /usr/local/lib/libpangocairo-1.0.so /usr/local/lib/libpango-1.0.so /usr/local/lib/libatk-1.0.so /usr/local/lib/libcairo-gobject.so /usr/local/lib/libgdk_pixbuf-2.0.so /usr/local/lib/libgio-2.0.so /usr/local/lib/libstartup-notification-1.so /usr/local/lib/libXRes.so -Wl,--end-group
      ld: error: version script assignment of 'global' to symbol '__progname' failed: symbol not defined
      ld: error: version script assignment of 'global' to symbol 'environ' failed: symbol not defined
      cc: error: linker command failed with exit code 1 (use -v to see invocation)

    Commit bf6718d6938e added patch-libwnck_libwnck-3.map a long time ago,
    but it is unclear why. Remove the patch so the undefined symbols are no
    longer referenced in the linker script.

    While here, fix two warnings about incorrectly defined header guards:

      In file included from ../libwnck/pager-accessible-factory.c:20:
      ../libwnck/pager-accessible-factory.h:19:9: warning: '__WNCK_PAGER_ACCESSIBLE_FACTORY_H__' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
         19 | #ifndef __WNCK_PAGER_ACCESSIBLE_FACTORY_H__
            |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ../libwnck/pager-accessible-factory.h:20:9: note: '__WBCK_PAGER_ACCESSIBLE_FACTORY_H__' is defined here; did you mean '__WNCK_PAGER_ACCESSIBLE_FACTORY_H__'?
         20 | #define __WBCK_PAGER_ACCESSIBLE_FACTORY_H__
            |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |         __WNCK_PAGER_ACCESSIBLE_FACTORY_H__
      ../libwnck/workspace-accessible-factory.h:19:9: warning: '__WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
         19 | #ifndef __WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__
            |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ../libwnck/workspace-accessible-factory.h:20:9: note: '__WBCK_WORKSPACE_ACCESSIBLE_FACTORY_H__' is defined here; did you mean '__WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__'?
         20 | #define __WBCK_WORKSPACE_ACCESSIBLE_FACTORY_H__
            |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |         __WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__

    PR:             274329
    Approved by:    maintainer timeout (2 weeks)
    MFH:            2023Q4

 .../libwnck3/files/patch-libwnck_libwnck-3.map (gone)         | 11 -----------
 .../files/patch-libwnck_pager-accessible-factory.h (new)      | 11 +++++++++++
 .../files/patch-libwnck_workspace-accessible-factory.h (new)  | 11 +++++++++++
 3 files changed, 22 insertions(+), 11 deletions(-)