Opened 16 years ago

Closed 16 years ago

Last modified 15 years ago

#13072 closed defect (fixed)

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

Reported by: gallafent 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 (1)

foo (7.3 KB) - added by gallafent 16 years ago.
Build output

Download all attachments as: .zip

Change History (9)

Changed 16 years ago by gallafent

Attachment: foo added

Build output

comment:1 Changed 16 years ago by afb@…

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

comment:2 Changed 16 years ago by afb@…

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

Related to #13006 and #13094 et al.

comment:3 Changed 16 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 16 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 16 years ago by petr.snyder@…

The last comments should move to #13337.

comment:6 Changed 16 years ago by jmpp@…

Milestone: Port Bugs

comment:7 Changed 16 years ago by afb@…

Resolution: fixed
Status: newclosed

Fixed, r32469.

comment:8 Changed 15 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.