Summary: | net-fs/samba-3.0.28a emake python_ext failed | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Alexey Charkov <alchark> |
Component: | Current packages | Assignee: | Gentoo's SAMBA Team <samba> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | amd64, holler.loudly |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Complete build log |
Description
Alexey Charkov
2008-04-28 16:32:19 UTC
Could you post more of the build log, please? Created attachment 151256 [details]
Complete build log
There are no errors before this one, however.
Sorry for my non-English locale setting. The lines in Russian right before the error occurs are only warnings, not errors. They complain about incompatible pointer types, python/py_spoolss_common.c:30 stating 'incompatible pointer type in assignment' and others simply 'incompatible pointer type'. For what's it worth I can reproduce this, haven't looked better yet.. The problem is that samba issues controversial command: gcc -pie -shared ... What this command is supposed to build? Executable (-pie == Position Independent Executable)? Shared library (-shared == shared library, please)? gcc before 4.3 interprets it as shared library, gcc 4.3 thinks it's asked to build position independent executable. Fixed this with dirty, dirty hack: --- Makefile.in 2008-05-07 14:03:20.000000000 +0400 +++ Makefile.in 2008-05-07 13:38:43.000000000 +0400 @@ -1668,7 +1668,7 @@ fi PYTHON_OBJS="$(PYTHON_OBJ)" \ PYTHON_CFLAGS="$(CFLAGS) $(CPPFLAGS) $(FLAGS)" \ - LIBS="$(LDFLAGS) $(LIBS) $(PASSDB_LIBS) $(IDMAP_LIBS) $(KRB5LIBS) $(LDAP_LIBS)" \ + LIBS="`echo $(LDFLAGS) $(LIBS) $(PASSDB_LIBS) $(IDMAP_LIBS) $(KRB5LIBS) $(LDAP_LIBS) | sed -e s'+-pie ++'`" \ $(PYTHON) python/setup.py build python_install: $(PYTHON_OBJ) Don't know what is the good solution... Thanks for the hint. ... and there is a nice way to solve it :-) (btw, your fix didn't work here since python seems to grab also the LDFLAGS env var which is being set by the Makefile) |