db46 compile failure on mavericks

Joshua Root jmr at macports.org
Wed Jan 1 23:21:53 PST 2014


On 2014-1-2 12:00 , Blair Zajac wrote:
> 
> On Jan 1, 2014, at 3:31 PM, Ryan Schmidt <ryandesign at macports.org> wrote:
> 
>>
>> On Jan 1, 2014, at 16:27, Blair Zajac wrote:
>>
>>> I guess a better way is to ensure the build doesn’t pick up stuff in $prefix/include.
>>
>> Does the patch from #40656 help?
> 
> No, it doesn’t.  Comparing the 'clang -E’ output between a good and a bad build, the good build is picking up /usr/include/db.h, which is where dbopen() is defined.  In this case, we want the tool to find the old db.h.
> 
> I tried adding -I/usr/include to the build:
> 
> DB185INC=       -c -pipe -Os -arch x86_64  -I/usr/include -I$(srcdir) -I/opt/local/include
> 
> but that didn’t work.
> 
> How to make sure that /usr/include is picked up first?
> 
> I even tried doing ‘ln -s /usr/include iii’ and adding -Iiii but clang ignores it also.

I don't think you can. The gcc man page says:

-I dir
     Add the directory dir to the list of directories to be searched for
     header files.  Directories named by -I are searched before the
     standard system include directories.  If the directory dir is a
     standard system include directory, the option is ignored to ensure
     that the default search order for system directories and the
     special treatment of system headers are not defeated .

You might need to put the desired header in the build dir, or make a
db185 (or just db185-headers) port.

- Josh


More information about the macports-dev mailing list