Opened 14 years ago

Closed 13 years ago

#25439 closed defect (fixed)

libffi@3.0.9_0+universal installes an invalid ffitarget.h

Reported by: yugui@… Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 1.9.1
Keywords: muniversal Cc:
Port: libffi

Description

I installed libffi@3.0.9_0 with +universal variant on MacOS X 10.5, and I got an invalid /opt/local/lib/libffi-3.0.9/include/ffitarget.h .

I did as the following:

% uname -a
Darwin yugui-macbookpro.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 
% port version
Version: 1.9.1
% sudo port install libffi +universal universal_archs="i386 ppc x86_64"

After installation succeeded, I got the attached ffitarget.h as /opt/local/lib/libffi-3.0.9/include/ffitarget.h. This file is not valid for C preprocessor, So preprocessing for the following C source fails.

conftest.c:

#include <ffi.h>
int main(void){ return 0; }

preprocessing:

% /usr/bin/gcc -E -I/opt/local/include -I/opt/local/lib/libffi-3.0.9/include -o conftest.i conftest.c
In file included from /opt/local/lib/libffi-3.0.9/include/ffi.h:68,
                 from conftest.c:1:
/opt/local/lib/libffi-3.0.9/include/ffitarget.h:10:2: error: #endif without #if
/opt/local/lib/libffi-3.0.9/include/ffitarget.h:200:2: error: #else after #else
/opt/local/lib/libffi-3.0.9/include/ffitarget.h:197:1: error: the conditional began here
/opt/local/lib/libffi-3.0.9/include/ffitarget.h:202:2: error: #else after #else
/opt/local/lib/libffi-3.0.9/include/ffitarget.h:197:1: error: the conditional began here
/opt/local/lib/libffi-3.0.9/include/ffitarget.h:192:1: error: unterminated #else
/opt/local/lib/libffi-3.0.9/include/ffitarget.h:191:1: error: unterminated #if
/opt/local/lib/libffi-3.0.9/include/ffitarget.h:83:1: error: unterminated #if
/opt/local/lib/libffi-3.0.9/include/ffitarget.h:62:1: error: unterminated #ifndef
/opt/local/lib/libffi-3.0.9/include/ffitarget.h:39:1: error: unterminated #if
/opt/local/lib/libffi-3.0.9/include/ffitarget.h:34:1: error: unterminated #ifndef

It seems to have tried merging src/x86/ffitarget.h and src/powerpc/ffitarget.h and to have generates a wrong ffitarget.h.

Attachments (1)

ffitarget.h (7.1 KB) - added by yugui@… 14 years ago.
generated ffitarget.h

Download all attachments as: .zip

Change History (4)

Changed 14 years ago by yugui@…

Attachment: ffitarget.h added

generated ffitarget.h

comment:1 Changed 14 years ago by jmroot (Joshua Root)

Port: libffi added

Please remember to fill in the Port field.

comment:2 Changed 14 years ago by jmroot (Joshua Root)

Keywords: muniversal added
Owner: changed from macports-tickets@… to mcalhoun@…

comment:3 Changed 13 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.