include problem building BDB 4.6.21 w/ /usr/local

Ryan Schmidt ryandesign at macports.org
Thu Oct 22 18:25:00 PDT 2009


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




More information about the macports-users mailing list