include problem building BDB 4.6.21 w/ /usr/local

View: New views
10 Messages — Rating Filter:   Alert me  

include problem building BDB 4.6.21 w/ /usr/local

by Bayard Bell :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I've been looking through tickets, trying to figure out what's going  
wrong. There's an open ticket for this, 19918. As far as I can see,  
the immediate problem occurs when you've got db.h in /usr/local/
include. Renaming the file certainly fixes the problem. (Three cheers  
to dtruss for giving me a handle on this.)

What doesn't really make sense to me is why or how this is found in  
the first instance: I'd argue strongly that the pre-processor  
shouldn't be looking there by default, and it's not much evident to me  
that CPPFLAGS is being constructed to tell it to do so. Before digging  
around further, I thought I'd ask if anyone knew why this might be.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (Darwin)

iEYEARECAAYFAkrZFmkACgkQcZQHT1XL9xlvzgCfQNmRMPHVRBB+0KO1j4jKQXKh
1ucAoI+tHafj5UfgG/Vc6hOf3tpFGusV
=hh7t
-----END PGP SIGNATURE-----
_______________________________________________
macports-users mailing list
macports-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Re: include problem building BDB 4.6.21 w/ /usr/local

by Joshua Root-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-10-17 11:57, Bayard Bell wrote:

> I've been looking through tickets, trying to figure out what's going
> wrong. There's an open ticket for this, 19918. As far as I can see, the
> immediate problem occurs when you've got db.h in /usr/local/include.
> Renaming the file certainly fixes the problem. (Three cheers to dtruss
> for giving me a handle on this.)
>
> What doesn't really make sense to me is why or how this is found in the
> first instance: I'd argue strongly that the pre-processor shouldn't be
> looking there by default, and it's not much evident to me that CPPFLAGS
> is being constructed to tell it to do so. Before digging around further,
> I thought I'd ask if anyone knew why this might be.

We're not telling it to look there, it just does. The only way to avoid
this would be to use -nostdinc, but then you have to somehow reconstruct
the other default search paths and tell it to look in them.

So basically, there's not much we can do about it, and the place to
report the issue is <http://bugreport.apple.com/> and/or
<http://gcc.gnu.org/bugzilla/>. (Note that upstream changes to GCC at
this point will likely never be distributed by Apple, since they are
moving to LLVM.)

- Josh
_______________________________________________
macports-users mailing list
macports-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Re: include problem building BDB 4.6.21 w/ /usr/local

by Bayard Bell :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Did a bit more digging. The problem looks to be with Apple's build of  
make. Extracted from "make -dp" output:

# default
.INCLUDE_DIRS = /usr/include /usr/local/include /usr/include

Filing bug report now. Again dtruss gives me a clue to put it  
together. Looking at the top of the output, there's some other  
sloppiness in how Apple is maintaining their make port:

# GNU Make 3.81
# Copyright (C) 2006  Free Software Foundation, Inc.
# This is free software; see the source for copying conditions.
# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

# This program built for powerpc-apple-darwin9.0

Pretty sure it wasn't built for PPC, at least not PPC alone:

precious:Downloads bayard$ file -L /usr/bin/make
/usr/bin/make: Mach-O universal binary with 2 architectures
/usr/bin/make (for architecture i386):  Mach-O executable i386
/usr/bin/make (for architecture ppc7400):       Mach-O executable ppc

Am 17 Oct 2009 um 10:19 schrieb Joshua Root:

> On 2009-10-17 11:57, Bayard Bell wrote:
>> I've been looking through tickets, trying to figure out what's going
>> wrong. There's an open ticket for this, 19918. As far as I can see,  
>> the
>> immediate problem occurs when you've got db.h in /usr/local/include.
>> Renaming the file certainly fixes the problem. (Three cheers to  
>> dtruss
>> for giving me a handle on this.)
>>
>> What doesn't really make sense to me is why or how this is found in  
>> the
>> first instance: I'd argue strongly that the pre-processor shouldn't  
>> be
>> looking there by default, and it's not much evident to me that  
>> CPPFLAGS
>> is being constructed to tell it to do so. Before digging around  
>> further,
>> I thought I'd ask if anyone knew why this might be.
>
> We're not telling it to look there, it just does. The only way to  
> avoid
> this would be to use -nostdinc, but then you have to somehow  
> reconstruct
> the other default search paths and tell it to look in them.
>
> So basically, there's not much we can do about it, and the place to
> report the issue is <http://bugreport.apple.com/> and/or
> <http://gcc.gnu.org/bugzilla/>. (Note that upstream changes to GCC at
> this point will likely never be distributed by Apple, since they are
> moving to LLVM.)
>
> - Josh

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (Darwin)

iEYEARECAAYFAkrg890ACgkQcZQHT1XL9xllHwCgspk79GtWAk9lWbA0betUE3bZ
a5gAoLnPUcOoq1dqiwnRshfFhNYX9Ne3
=+00p
-----END PGP SIGNATURE-----
_______________________________________________
macports-users mailing list
macports-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Re: include problem building BDB 4.6.21 w/ /usr/local

by Ryan Schmidt-24 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Oct 22, 2009, at 19:07, Bayard Bell wrote:

> Did a bit more digging. The problem looks to be with Apple's build  
> of make. Extracted from "make -dp" output:
>
> # default
> .INCLUDE_DIRS = /usr/include /usr/local/include /usr/include
>
> Filing bug report now.

I guess they've fixed that already; this is what I get on Snow Leopard:


$ /usr/bin/make -dp | grep INCLUDE
make: *** No targets specified and no makefile found.  Stop.
.INCLUDE_DIRS = /usr/include /usr/include


> Again dtruss gives me a clue to put it together. Looking at the top  
> of the output, there's some other sloppiness in how Apple is  
> maintaining their make port:
>
> # GNU Make 3.81
> # Copyright (C) 2006  Free Software Foundation, Inc.
> # This is free software; see the source for copying conditions.
> # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
> # PARTICULAR PURPOSE.
>
> # This program built for powerpc-apple-darwin9.0
>
> Pretty sure it wasn't built for PPC, at least not PPC alone:
>
> precious:Downloads bayard$ file -L /usr/bin/make
> /usr/bin/make: Mach-O universal binary with 2 architectures
> /usr/bin/make (for architecture i386):  Mach-O executable i386
> /usr/bin/make (for architecture ppc7400):       Mach-O executable ppc

Doesn't look sloppy; looks like what is totally expected to happen if  
you build a program on PowerPC for multiple architectures. The build  
machine was powerpc-apple-darwin9.0 and it was told to build for both -
arch i386 and -arch ppc. It's the fault of the developers of make for  
assuming that printing the triple of the build machine in the version  
output would be useful for anything.

For comparison, on Snow Leopard, I get:


$ /usr/bin/make -v
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin10.0


And of course it contains not only i386 but also x86_64 code.


$ lipo -info /usr/bin/make
Architectures in the fat file: /usr/bin/make are: x86_64 i386


_______________________________________________
macports-users mailing list
macports-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Re: include problem building BDB 4.6.21 w/ /usr/local

by Chris Janton :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-10-22 , at 18:25 , Ryan Schmidt wrote:

> I guess they've fixed that already; this is what I get on Snow  
> Leopard:
>
>
> $ /usr/bin/make -dp | grep INCLUDE
> make: *** No targets specified and no makefile found.  Stop.
> .INCLUDE_DIRS = /usr/include /usr/include

Snow Leopard here. This is what I see

face@mac:~:124 $ /usr/bin/make -dp | grep INCLUDE
make: *** No targets specified and no makefile found.  Stop.
.INCLUDE_DIRS = /usr/include /usr/local/include /usr/include

The deal is - if /usr/local/include *exists* it will be included

mac:~ root# echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
mac:~ root# /usr/bin/make -dp | grep INCLUDE
make: *** No targets specified and no makefile found.  Stop.
.INCLUDE_DIRS = /usr/include /usr/local/include /usr/include
mac:~ root# mv /usr/local/include /usr/local/no-include
mac:~ root# /usr/bin/make -dp | grep INCLUDE
make: *** No targets specified and no makefile found.  Stop.
.INCLUDE_DIRS = /usr/include /usr/include
mac:~ root#

8)
----------------------------------
Chris Janton  - face at CentosPrime dot COM
Netminder for Opus1.COM


_______________________________________________
macports-users mailing list
macports-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Re: include problem building BDB 4.6.21 w/ /usr/local

by Bayard Bell :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

That makes sense of the dtruss output that showed the default paths  
being stat()'ed very early in starting make.

Am 23 Oct 2009 um 14:20 schrieb Chris Janton:

> On 2009-10-22 , at 18:25 , Ryan Schmidt wrote:
>
>> I guess they've fixed that already; this is what I get on Snow  
>> Leopard:
>>
>>
>> $ /usr/bin/make -dp | grep INCLUDE
>> make: *** No targets specified and no makefile found.  Stop.
>> .INCLUDE_DIRS = /usr/include /usr/include
>
> Snow Leopard here. This is what I see
>
> face@mac:~:124 $ /usr/bin/make -dp | grep INCLUDE
> make: *** No targets specified and no makefile found.  Stop.
> .INCLUDE_DIRS = /usr/include /usr/local/include /usr/include
>
> The deal is - if /usr/local/include *exists* it will be included
>
> mac:~ root# echo $PATH
> /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
> mac:~ root# /usr/bin/make -dp | grep INCLUDE
> make: *** No targets specified and no makefile found.  Stop.
> .INCLUDE_DIRS = /usr/include /usr/local/include /usr/include
> mac:~ root# mv /usr/local/include /usr/local/no-include
> mac:~ root# /usr/bin/make -dp | grep INCLUDE
> make: *** No targets specified and no makefile found.  Stop.
> .INCLUDE_DIRS = /usr/include /usr/include
> mac:~ root#
>
> 8)
> ----------------------------------
> Chris Janton  - face at CentosPrime dot COM
> Netminder for Opus1.COM
>
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (Darwin)

iEYEARECAAYFAkrhsFAACgkQcZQHT1XL9xmo0wCgqEXKuLej+ne/uE5/m1mwDmoQ
PlwAnjjJ52o8jOCFq/WZJ71JP95AuNzC
=Qfum
-----END PGP SIGNATURE-----
_______________________________________________
macports-users mailing list
macports-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Re: include problem building BDB 4.6.21 w/ /usr/local

by Joshua Root-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-10-23 11:07, Bayard Bell wrote:
> Did a bit more digging. The problem looks to be with Apple's build of
> make. Extracted from "make -dp" output:
>
> # default
> .INCLUDE_DIRS = /usr/include /usr/local/include /usr/include

>From the make manual:
.INCLUDE_DIRS
Expands to a list of directories that make searches for included makefiles

This does not affect the C preprocessor at all.

- Josh
_______________________________________________
macports-users mailing list
macports-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Re: include problem building BDB 4.6.21 w/ /usr/local

by Bayard Bell :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hmm. Digging will continue. I'll look into modifications to dtruss to  
capture more of the environment and args.

Am 23 Oct 2009 um 16:17 schrieb Joshua Root:

> On 2009-10-23 11:07, Bayard Bell wrote:
>> Did a bit more digging. The problem looks to be with Apple's build of
>> make. Extracted from "make -dp" output:
>>
>> # default
>> .INCLUDE_DIRS = /usr/include /usr/local/include /usr/include
>
> From the make manual:
> .INCLUDE_DIRS
> Expands to a list of directories that make searches for included  
> makefiles
>
> This does not affect the C preprocessor at all.
>
> - Josh

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (Darwin)

iEYEARECAAYFAkrhybgACgkQcZQHT1XL9xmFZQCeM4zqbeCn6xQzr3wOU5xlE2eD
j+sAoLzvo9XDL3omC8deJoviyMM8Jj91
=d1Q2
-----END PGP SIGNATURE-----
_______________________________________________
macports-users mailing list
macports-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Re: include problem building BDB 4.6.21 w/ /usr/local

by Joshua Root-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-10-24 02:20, Bayard Bell wrote:
> Hmm. Digging will continue. I'll look into modifications to dtruss to
> capture more of the environment and args.

Like I said, it's a gcc thing. The list of default include paths is
defined here:

<http://www.opensource.apple.com/source/gcc/gcc-5646/gcc/cppdefault.c>

As you can see, LOCAL_INCLUDE_DIR is in there, which is defined in:

<http://www.opensource.apple.com/source/gcc/gcc-5646/gcc/Makefile.in>

as '$(local_prefix)/include', where local_prefix comes from:

<http://www.opensource.apple.com/source/gcc/gcc-5646/gcc/configure>

and defaults to /usr/local.

- Josh
_______________________________________________
macports-users mailing list
macports-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Re: include problem building BDB 4.6.21 w/ /usr/local

by Bayard Bell :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Thanks, Josh. I was trying to confirm that all the reported details  
were supported in the bug report by using the dtruss output, which  
wasn't as clean as plain old truss. I was struggling with that, but  
this is exactly the information I needed to feel comfortable with the  
submission.

Am 23 Oct 2009 um 16:54 schrieb Joshua Root:

> On 2009-10-24 02:20, Bayard Bell wrote:
>> Hmm. Digging will continue. I'll look into modifications to dtruss to
>> capture more of the environment and args.
>
> Like I said, it's a gcc thing. The list of default include paths is
> defined here:
>
> <http://www.opensource.apple.com/source/gcc/gcc-5646/gcc/cppdefault.c>
>
> As you can see, LOCAL_INCLUDE_DIR is in there, which is defined in:
>
> <http://www.opensource.apple.com/source/gcc/gcc-5646/gcc/Makefile.in>
>
> as '$(local_prefix)/include', where local_prefix comes from:
>
> <http://www.opensource.apple.com/source/gcc/gcc-5646/gcc/configure>
>
> and defaults to /usr/local.
>
> - Josh

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (Darwin)

iEYEARECAAYFAkrh0ssACgkQcZQHT1XL9xlxnwCfQEwPSyTRhhVazwN40/F3Gtt+
fwkAniIFKyKfBccYhLBfPiWoSMK+qtUy
=Ev35
-----END PGP SIGNATURE-----
_______________________________________________
macports-users mailing list
macports-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users