pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/40347: sysutils/dbus compilation errros - NetBSD 4.0



The following reply was made to PR pkg/40347; it has been noted by GNATS.

From: Havard Eidnes <he%NetBSD.org@localhost>
To: gnats-bugs%NetBSD.org@localhost, hasso%estpak.ee@localhost
Cc: pkg-manager%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, 
pkgsrc-bugs%netbsd.org@localhost,
 kre%munnari.OZ.AU@localhost
Subject: Re: pkg/40347: sysutils/dbus compilation errros - NetBSD 4.0
Date: Fri, 09 Jan 2009 16:41:38 +0100 (CET)

 >  kre%munnari.OZ.AU@localhost wrote:
 >  > dbus-sysdeps-unix.c: In function '_dbus_read_credentials_socket':
 >  > dbus-sysdeps-unix.c:1213: error: invalid application of 'sizeof' to
 >  > incomplete type 'struct cmsgcred'
 >  > dbus-sysdeps-unix.c:1251: error: invalid application of 'sizeof' to
 >  > incomplete type 'struct cmsgcred'
 >  > gmake[3]: ***  
 >
 >  That's me who broke it. Sorry about that. Please try the patch from here:
 >  http://leaf.dragonflybsd.org/~hasso/pkgsrc-sysutils-dbus-borking.patch
 
 I see an additional problem on NetBSD/macppc 4.0: when trying to
 run dbus-daemon (without args it should just print the usage
 message), the run-time linker instead prints out:
 
   Unsupported relocation type 6 in non-PLT relocations
 
 and the program does not run.  This causes sysutils/dbus-glib to
 fail to build for NetBSD/macppc 4.0, because it tries to run the
 dbus-daemon executable which is part of the dbus package.
 
 It turns out that the origin of this problem is that the dbus
 configure script tests to see if gcc accepts the -fPIE and -pie
 compilation and linking flags, and gcc does.  However, that
 apparently doesn't mean that we universally supports running such
 executables on all our platforms.  Therefore, after getting some
 hints from some other developers, I've come to the conclusion
 that the following addition to the package's Makefile seems to be
 the right thing:
 
 # Package tries to use these if gcc accepts them, but that doesn't
 # mean that we universally can *run* the executables
 BUILDLINK_TRANSFORM+=  rm:-fPIE
 BUILDLINK_TRANSFORM+=  rm:-pie
 
 This will create a C compiler wrapper script which removes those
 options from the compilation before actually invoking the compiler.
 
 I added those lines right after the existing BUILDLINK_TRANSFORM
 setting.  With those lines in place, and the patch quoted above
 applied, the new dbus builds and I get the usage message instead
 of the above run-time linker error message when I start
 dbus-daemon.
 
 I've also applied a similar patch to a NetBSD/i386 4.0 system I
 have (on the older dbus version, the one in 2008Q4), and there
 doesn't appear to be any noticeable change introduced by the
 above addition; dbus-daemon still runs and prints the usage
 message if given no arguments.
 
 Best regards,
 
 - Havard
 


Home | Main Index | Thread Index | Old Index