[MacPorts] #32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols"
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" ---------------------------------------------+------------------------------ Reporter: Peter_Dyballa@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: PPC Leopard "Undefined symbols" | Port: quartz-wm ---------------------------------------------+------------------------------ A few times during the build process GCC reports: {{{ frame.h:40:2: warning: #warning "Old libXplugin version detected. Some features may not be supported." }}} In the end the build fails with: {{{ OBJCLD quartz-wm Undefined symbols: "__dispatch_main_q", referenced from: __dispatch_main_q$non_lazy_ptr in dock-support.o "_dispatch_async", referenced from: _DockRestoreItemAsync in dock-support.o ___DockRestoreItemAsync_block_invoke_1 in dock-support.o "__NSConcreteStackBlock", referenced from: __NSConcreteStackBlock$non_lazy_ptr in dock-support.o "_dispatch_get_current_queue", referenced from: _dock_message_handler in dock-support.o "_dispatch_queue_create", referenced from: _DockInit in dock-support.o ld: symbol(s) not found }}} There are also a lot of messages about "shadowed declarations". -- Ticket URL: <https://trac.macports.org/ticket/32609> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" ---------------------------------------------+------------------------------ Reporter: Peter_Dyballa@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: PPC Leopard "Undefined symbols" | Port: quartz-wm ---------------------------------------------+------------------------------ Comment(by jeremyhu@…): Those should all be weak in dock-support.o -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" ---------------------------------------------+------------------------------ Reporter: Peter_Dyballa@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: PPC Leopard "Undefined symbols" | Port: quartz-wm ---------------------------------------------+------------------------------ Comment(by Peter_Dyballa@…): Replying to [comment:1 jeremyhu@…]:
Those should all be weak in dock-support.o
If you mean with "weak" weak binding, then this happens *after* link time, at run time of the linked object. When you mean with "weak" that the symbols do not need to be available at link time, then quartz-wm needs to be built using a two-level namespace. -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" ---------------------------------------------+------------------------------ Reporter: Peter_Dyballa@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: PPC Leopard "Undefined symbols" | Port: quartz-wm ---------------------------------------------+------------------------------ Comment(by Peter_Dyballa@…): Replying to [comment:1 jeremyhu@…]:
Those should all be weak in dock-support.o
Maybe this excerpt from ld man page helps to solve the problem: -undefined treatment Specifies how undefined symbols are to be treated. Options are: error, warning, suppress, or dynamic_lookup. The default is error. -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" ---------------------------------------------+------------------------------ Reporter: Peter_Dyballa@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: PPC Leopard "Undefined symbols" | Port: quartz-wm ---------------------------------------------+------------------------------ Comment(by jeremyhu@…): What I mean is that these symbols are weak linked and checked for at runtime. The symbols are annotated with the weak_import attribute, so their absence shouldn't be an issue at link time. -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" ---------------------------------------------+------------------------------ Reporter: Peter_Dyballa@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: PPC Leopard "Undefined symbols" | Port: quartz-wm ---------------------------------------------+------------------------------ Comment(by jeremyhu@…): Oh right, but they have to be there on the machine linking them... ugg... -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" ---------------------------------------------+------------------------------ Reporter: Peter_Dyballa@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: PPC Leopard "Undefined symbols" | Port: quartz-wm ---------------------------------------------+------------------------------ Comment(by jeremyhu@…): Yeah, I guess the best solution really is -undefined suppress ... sigh -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" ---------------------------------------------+------------------------------ Reporter: Peter_Dyballa@… | Owner: jeremyhu@… Type: defect | Status: assigned Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: PPC Leopard "Undefined symbols" | Port: quartz-wm ---------------------------------------------+------------------------------ Changes (by jeremyhu@…): * owner: macports-tickets@… => jeremyhu@… * status: new => assigned Comment: Actually, dynamic_lookup is probably better for the built on 10.5 running on 10.6 case -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" ---------------------------------------------+------------------------------ Reporter: Peter_Dyballa@… | Owner: jeremyhu@… Type: defect | Status: assigned Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: PPC Leopard "Undefined symbols" | Port: quartz-wm ---------------------------------------------+------------------------------ Comment(by jeremyhu@…): Can you please test this patch? -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" --------------------------------------+------------------------------------- Reporter: Peter_Dyballa@… | Owner: jeremyhu@… Type: defect | Status: assigned Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: powerpc leopard | Port: quartz-wm --------------------------------------+------------------------------------- Changes (by ryandesign@…): * cc: jeremyhu@… (removed) * keywords: PPC Leopard "Undefined symbols" => powerpc leopard -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:9> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" --------------------------------------+------------------------------------- Reporter: Peter_Dyballa@… | Owner: jeremyhu@… Type: defect | Status: assigned Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: powerpc leopard | Port: quartz-wm --------------------------------------+------------------------------------- Comment(by Peter_Dyballa@…): Replying to [comment:8 jeremyhu@…]:
Can you please test this patch?
It looks much better now! Package is built. (I modified Portfile that the patch gets applied.) -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:10> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" --------------------------------------+------------------------------------- Reporter: Peter_Dyballa@… | Owner: jeremyhu@… Type: defect | Status: assigned Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: powerpc leopard | Port: quartz-wm --------------------------------------+------------------------------------- Comment(by stephen@…): Replying to [comment:8 jeremyhu@…]:
Can you please test this patch?
The patch also allows "port upgrade quartz-wm" to succeed on Mac OS X 10.5.8 "Leopard" on a MacBook Pro Intel Core Duo machine. Before it failed with the same symptoms as above. However, I had to edit the patch to remove the leading "a/" and "b/". -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:11> MacPorts <http://www.macports.org/> Ports system for Mac OS
#32609: quartz-wm 1.2.1_0 does not build on PPC Leopard because of "Undefined symbols" ---------------------------------------+------------------------------------ Reporter: Peter_Dyballa@… | Owner: jeremyhu@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Resolution: fixed | Keywords: powerpc leopard Port: quartz-wm | ---------------------------------------+------------------------------------ Changes (by jeremyhu@…): * status: assigned => closed * resolution: => fixed Comment: Thanks. r88178 -- Ticket URL: <https://trac.macports.org/ticket/32609#comment:12> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts