[MacPorts] #51216: Libemf @1.0.8 does not build on PPC Leopard (Mac OS X 10.5.8) because of missing #define
MacPorts
noreply at macports.org
Sat Apr 23 01:17:14 PDT 2016
#51216: Libemf @1.0.8 does not build on PPC Leopard (Mac OS X 10.5.8) because of
missing #define
-----------------------------+--------------------------------
Reporter: Peter_Dyballa@… | Owner: macports-tickets@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.3.4
Keywords: | Port: libemf
-----------------------------+--------------------------------
The failure is this:
{{{
Making all in libemf
make[1]: Entering directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libemf/libemf/work/libemf-1.0.8/libemf'
/bin/sh ../libtool --tag=CXX --mode=compile /usr/bin/g++-4.2
-DHAVE_CONFIG_H -I. -I../config -I../include -I/opt/local/include -pipe
-Os -arch ppc -D_REENTRANT -DPTHREADS -MT libemf.lo -MD -MP -MF
.deps/libemf.Tpo -c -o libemf.lo libemf.cpp
libtool: compile: /usr/bin/g++-4.2 -DHAVE_CONFIG_H -I. -I../config
-I../include -I/opt/local/include -pipe -Os -arch ppc -D_REENTRANT
-DPTHREADS -MT libemf.lo -MD -MP -MF .deps/libemf.Tpo -c libemf.cpp -fno-
common -DPIC -o .libs/libemf.o
In file included from ../include/libEMF/wine/windef.h:16,
from ../include/libEMF/emf.h:27,
from libemf.h:32,
from libemf.cpp:24:
../include/libEMF/wine/winnt.h:61:3: error: #error Unknown CPU
architecture!
../include/libEMF/wine/winnt.h:1429:2: error: #error You need to define a
CONTEXT for your CPU
In file included from ../include/libEMF/wine/windef.h:16,
from ../include/libEMF/emf.h:27,
from libemf.h:32,
from libemf.cpp:24:
../include/libEMF/wine/winnt.h:1432: error: expected initializer before
‘*’ token
../include/libEMF/wine/winnt.h:2699: error: ‘PCONTEXT’ does not name a
type
../include/libEMF/wine/winnt.h:2712: error: ‘PCONTEXT’ has not been
declared
In file included from ../include/libEMF/emf.h:28,
from libemf.h:32,
from libemf.cpp:24:
../include/libEMF/wine/winbase.h:120: error: ‘PCONTEXT’ does not name a
type
../include/libEMF/wine/winbase.h:1243: error: ‘CONTEXT’ has not been
declared
../include/libEMF/wine/winbase.h:1377: error: expected ‘,’ or ‘...’ before
‘*’ token
../include/libEMF/wine/winbase.h:1377: error: ISO C++ forbids declaration
of ‘CONTEXT’ with no type
make[1]: *** [libemf.lo] Error 1
make[1]: Leaving directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libemf/libemf/work/libemf-1.0.8/libemf'
make: *** [all-recursive] Error 1
}}}
The message comes from these lines in `../include/libEMF/wine/winnt.h`:
{{{
30 /* Architecture dependent settings. */
31 /* These are hardcoded to avoid dependencies on config.h in
Winelib apps. */
32 #if defined(__i386__)
33 # undef WORDS_BIGENDIAN
34 # undef BITFIELDS_BIGENDIAN
35 # define ALLOW_UNALIGNED_ACCESS
36 #elif defined(__x86_64__)
37 # undef WORDS_BIGENDIAN
38 # undef BITFIELDS_BIGENDIAN
39 # define ALLOW_UNALIGNED_ACCESS
40 #elif defined(__alpha__)
41 # undef WORDS_BIGENDIAN
42 # undef BITFIELDS_BIGENDIAN
43 # undef ALLOW_UNALIGNED_ACCESS
44 #elif defined(__arm__)
45 # undef WORDS_BIGENDIAN
46 # undef BITFIELDS_BIGENDIAN
47 # undef ALLOW_UNALIGNED_ACCESS
48 #elif defined(__sparc__)
49 # define WORDS_BIGENDIAN
50 # define BITFIELDS_BIGENDIAN
51 # undef ALLOW_UNALIGNED_ACCESS
52 #elif defined(__PPC__)
53 # define WORDS_BIGENDIAN
54 # define BITFIELDS_BIGENDIAN
55 # undef ALLOW_UNALIGNED_ACCESS
56 #elif defined(__s390__)
57 # define WORDS_BIGENDIAN
58 # define BITFIELDS_BIGENDIAN
59 # undef ALLOW_UNALIGNED_ACCESS
60 #elif !defined(RC_INVOKED)
61 # error Unknown CPU architecture!
62 #endif
}}}
All architectures are lower case, except PowerPC! And GCC 4.2 #defines:
{{{
#define _ARCH_PPC 1
#define _ARCH_PPCGR 1
define __ppc__ 1
#define __POWERPC__ 1
}}}
So we have an easy patch for this case! (Presumingly.)
--
Ticket URL: <https://trac.macports.org/ticket/51216>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list