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