Opened 6 years ago

Closed 6 years ago

#55269 closed defect (fixed)

wxWidgets-3.0 @3.0.3.1: FTB on Undefined symbol ".objc_class_name_AVPlayerView"

Reported by: gthb (Gunnlaugur Thor Briem) Owned by: mojca (Mojca Miklavec)
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: wxWidgets-3.0

Description

wxWidgets-3.0 fails to build for me, upgrading from 3.0.3_0+universal to 3.0.3.1, with these salient bits in the log:

:info:build ccache /usr/bin/clang++ -dynamiclib -single_module -headerpad_max_install_names -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_wx
:info:build ld: warning: text-based stub file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox.tbd and library file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox are out of sync
[repeats 15 times]
:info:build ld: warning: ignoring file /System/Library/Frameworks//AVKit.framework/AVKit, file was built for x86_64 which is not the architecture being linked (i386): /System/Library/Frameworks//AVKit.framework
:info:build ld: warning: text-based stub file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox.tbd and library file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox are out of sync
[repeats 1 time]
:info:build Undefined symbols for architecture i386:
:info:build   ".objc_class_name_AVPlayerView", referenced from:
:info:build       .objc_class_name_wxAVPlayerView in mediadll_osx_cocoa_mediactrl.o
:info:build ld: symbol(s) not found for architecture i386
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make: *** [/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_wxWidgets-3.0/wxWidgets-3.0/work/wxWidgets-3.0.3.1/build/lib/libwx_osx_coc
:info:build make: *** Waiting for unfinished jobs....

File details of those out-of-sync AudioToolbox files:

$ ls -l /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox*
lrwxr-xr-x  1 root  wheel  29 18 okt  2016 /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox -> Versions/Current/AudioToolbox
lrwxr-xr-x  1 root  wheel  33 16 okt 22:34 /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox.tbd -> Versions/Current/AudioToolbox.tbd
$ ls -l /System/Library/Frameworks//AudioToolbox.framework/Versions/Current/AudioToolbox*
-rwxr-xr-x  1 root  wheel  6086320 26 okt 01:52 /System/Library/Frameworks//AudioToolbox.framework/Versions/Current/AudioToolbox
-rw-r--r--  1 root  wheel    41370 25 júl 18:52 /System/Library/Frameworks//AudioToolbox.framework/Versions/Current/AudioToolbox.tbd

... don't know how that out-of-sync-ness happened (also don't know for sure that it is related)

Attachments (3)

wxWidgets-ftb-main.log (877.9 KB) - added by gthb (Gunnlaugur Thor Briem) 6 years ago.
main.log from the failing build
Portfile.diff (300 bytes) - added by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) 6 years ago.
patch-avkit-no32bit.diff (479 bytes) - added by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) 6 years ago.

Download all attachments as: .zip

Change History (9)

Changed 6 years ago by gthb (Gunnlaugur Thor Briem)

Attachment: wxWidgets-ftb-main.log added

main.log from the failing build

comment:1 Changed 6 years ago by mf2k (Frank Schima)

Cc: mojca@… removed
Owner: set to mojca
Status: newassigned

comment:2 Changed 6 years ago by mojca (Mojca Miklavec)

Do you know how to roll back to 3.0.3, increase the revision by one and try to rebuild from source? It would be helpful to know if this is really specific to 3.0.3.1 or if it just happened now after something else has changed on your computer.

comment:3 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: MarcusCalhoun-Lopez added

Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Attachment: Portfile.diff added

Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Attachment: patch-avkit-no32bit.diff added

comment:4 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Keywords: haspatch added

I ran into this problem when trying to build 32/64-bit universal.
The problem seems to be that AVKit is 64-bit only.
Attached is a proposed solution.

comment:5 Changed 6 years ago by mojca (Mojca Miklavec)

Thanks, reported upstream: https://trac.wxwidgets.org/ticket/17991

Feel free to commit it (just include a reference to both tickets). There's no need to increase the revision.

comment:6 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: assignedclosed

In d8fd6077d3d3c2ca875b643d6cc6a859b0613e7a/macports-ports:

wxwidgets-3.0: fix build on 32-bit systems

When building for 32-bit systems, do not attempt to use
AVKit since it is 64-bit only.

Closes #55269
See https://trac.wxwidgets.org/ticket/17991

No revbump because the port builds correctly or not at all.

Note: See TracTickets for help on using tickets.