New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #13072 (closed defect: fixed)

Opened 6 years ago

Last modified 4 years ago

py25-gobject fails to build on 10.5 (extern inline)

Reported by: william@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.5.2
Keywords: Cc:
Port:

Description

I had the following build failure today while attempting a fresh install of kdepim3. The py25-gobject port fails to build, with the output which I will attach as a text file in a moment.

I have been seeing these "duplicate symbol _whatever" problems when attempting to build other programs too (in particular, carbon-xemacs), so I suspect they are a side-effect of some change in Apple's toolchain of XCode 3.0. I think they may well be to do with inline functions, which perhaps gain a callable instance in the object file which uses them (as well as being inlined). (Perhaps with the old apple toolchain (XCode 2.4.1) these instances were discarded).

Attachments

foo (7.3 KB) - added by william@… 6 years ago.
Build output

Change History

Changed 6 years ago by william@…

Build output

comment:1 Changed 6 years ago by afb@…

AFAIK, the duplicate symbols are from a compiler bug with extern inline (from glib2 headers)

comment:2 Changed 6 years ago by afb@…

  • Summary changed from py25-gobject fails to build on 10.5 to py25-gobject fails to build on 10.5 (extern inline)

Related to #13006 and #13094 et al.

comment:3 Changed 6 years ago by macports@…

I had the same issue, but now the compilation error has been fixed with the latest glib2.

However py25-gobject fails when used in python:

Python 2.5.1 (r251:54863, Oct 26 2007, 16:46:58) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import gobject
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_python_py25-gobject/work/destroot/opt/local/lib/python2.5/site-packages/gtk-2.0/gobject/__init__.py", line 30, in <module>
  File "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_python_py25-gobject/work/destroot/opt/local/lib/python2.5/site-packages/gtk-2.0/gobject/constants.py", line 22, in <module>
ImportError: dlopen(/opt/local/lib/python2.5/site-packages/gtk-2.0/gobject/_gobject.so, 2): Symbol not found: _PyGBoxed_Type
  Referenced from: /opt/local/lib/python2.5/site-packages/gtk-2.0/gobject/_gobject.so
  Expected in: flat namespace

>>>

comment:4 Changed 5 years ago by petr.snyder@…

Probably the very same issue here (PPC, Leopard, XCode3, macports 1.6.0), affects a build of gnucash, which has avahi somewhere in its dependency tree. Avahi's configure script stops to report that it cannot find py-gtk. The configure script runs a short python-script to check whether py-gtk is available:

26522 prog="
26523 import sys
26524 try:
26525         import gtk
26526 except ImportError:
26527         sys.exit(1)
26528 except:
26529         sys.exit(0)
26530 sys.exit(0)"

26531 if $PYTHON -c "$prog" 1>&5 2>&5
26532   then
26533     eval "py_cv_mod_$py_mod_var=yes"
26534   else
26535     eval "py_cv_mod_$py_mod_var=no"
26536   fi
26537
26538 fi

I run Python (the macport-installed one, /opt/local/bin/python2.5) in interactive mode and tried

Python 2.5.1 (r251:54863, Dec 21 2007, 17:37:02) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>>import sys
>>>import gtk

and got this:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_python_py25-gtk/work/destroot/opt/local/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py", line 38, in <module>
  File "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_python_py25-gobject/work/destroot/opt/local/lib/python2.5/site-packages/gtk-2.0/gobject/__init__.py", line 30, in <module>
  File "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_python_py25-gobject/work/destroot/opt/local/lib/python2.5/site-packages/gtk-2.0/gobject/constants.py", line 22, in <module>
ImportError: dlopen(/opt/local/lib/python2.5/site-packages/gtk-2.0/gobject/_gobject.so, 2): Symbol not found: _PyGBoxed_Type
  Referenced from: /opt/local/lib/python2.5/site-packages/gtk-2.0/gobject/_gobject.so
  Expected in: flat namespace

I think the defect module "py25-gobject" make the configure script fail, and "py25-gtk" and other python modules might be broken, too.

comment:5 Changed 5 years ago by petr.snyder@…

The last comments should move to #13337.

comment:6 Changed 5 years ago by jmpp@…

  • Milestone set to Port Bugs

comment:7 Changed 5 years ago by afb@…

  • Status changed from new to closed
  • Resolution set to fixed

Fixed, r32469.

comment:8 Changed 4 years ago by anonymous

  • Milestone Port Bugs deleted

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.