[MacPorts] #50311: gmt5: build fails on Mavericks: error: conflicting types for 'dsyev_'

Joshua Root jmr at macports.org
Fri Mar 18 23:21:00 PDT 2016


On 2016-3-19 15:18 , Takeshi Enomoto wrote:
> Hi,
>
> I’m trying to fix the problem reported for gmt5.
>
> gmt5 fails due to the incompatibility of pointer type
> on a call to dsyev_ of CLPACK in Accelerate.
>
> The reporter runs Mavericks on an i386 machine
> (I didn’t know that i386 is supported).

I don't think it could be an i386 machine, since the kernel has been 
x86_64 only since 10.8. If you see "arch i386" in the platform 
identification line in the log, that just corresponds to the output from 
'uname -p'.

However the reporter is building with +universal, which you can see 
later in the log means x86_64 and i386.

> According to the error message in main.log, int * is passed to long *.
>
> incompatible pointer types passing 'int *' to parameter of type '__CLPK_integer *' (aka 'long *’)
>
> It should be int * because it is 4-byte integer of Fortran.
>
> I suspect the compiler doesn’t compile the source with __LP64__ symbol on i386.
> Perhaps is this a problem of Xcode clang?
> Would put this clang version to blacklist help?

All compilers will define __LP64__ if and only if compiling for a 64-bit 
target. This is correct.

- Josh


More information about the macports-dev mailing list