|
From: Qian H. <yor...@gm...> - 2015-08-04 14:21:36
|
Hi guys,
I was trying to compile grads-2.0.2.oga.2 on cygwin.
uname -a gets:
CYGWIN_NT-6.1-WOW yorua007-PC 2.1.0(0.287/5/3) 2015-07-14 21:26 i686 Cygwin
First I tried to using the pre-compiled supplibs-2.3.1, but get the
following errors:
g++ -g -O2 -lm -o libgrads.dll -shared grads.o gxsubs.o gxmeta.o
gxchpl.o gxcntr.o gxstrm.o gxwmap.o gxshad.o gxshad2.o gaexpr.o gafunc.o
gautil.o gagx.o gscrpt.o gamach.o bufrstn.o gabufr.o gabufrtbl.o gxX.o
gxdxwd.o galloc.o gagui.o gsgui.o dodstn.o gaddes.o gaio.o gacfg.o gauser.o
gasdf.o gatxt.o gaudx.o -L../../supplibs/lib -lrpclib -lX11
../../supplibs/lib/libreadline.a ../../supplibs/lib/libncurses.a
../../supplibs/lib/libgd.a ../../supplibs/lib/libpng.a
../../supplibs/lib/libz.a ../../supplibs/lib/libjpeg.a
../../supplibs/lib/libgrib2c.a ../../supplibs/lib/libjasper.a
../../supplibs/lib/libpng.a ../../supplibs/lib/libz.a
../../supplibs/lib/libmfhdf.a ../../supplibs/lib/libdf.a
../../supplibs/lib/libudunits.a ../../supplibs/lib/libsz.a
../../supplibs/lib/libjpeg.a ../../supplibs/lib/libz.a
../../supplibs/lib/libhdf5.a ../../supplibs/lib/libsz.a
../../supplibs/lib/libjpeg.a ../../supplibs/lib/libz.a
../../supplibs/lib/libudunits.a ../../supplibs/lib/libnetcdf.a
../../supplibs/lib/libhdf5_hl.a ../../supplibs/lib/libhdf5.a
../../supplibs/lib/libz.a ../../supplibs/lib/libsz.a
../../supplibs/lib/libcurl.a -lSM -lICE ../../supplibs/lib/libsx.a -lXext
-lXaw -lXpm -lXmu -lXt -lXdmcp -lXrender -lX11 ../../supplibs/lib/libtiff.a
../../supplibs/lib/libgeotiff.a ../../supplibs/lib/libshp.a
../../supplibs/lib/libgadap.a ../../supplibs/lib/libdapclient.a
../../supplibs/lib/libdap.a ../../supplibs/lib/libcurl.a
../../supplibs/lib/libxml2.a ../../supplibs/lib/libz.a -lpthread -lm -liconv
../../supplibs/lib/libmfhdf.a(putget.o):putget.c:(.text+0x3f):对‘xdr_opaque’未定义的引用
../../supplibs/lib/libmfhdf.a(putget.o):putget.c:(.text+0xdf):对‘xdr_opaque’未定义的引用
../../supplibs/lib/libmfhdf.a(putget.o):putget.c:(.text+0x2d1):对‘xdr_opaque’未定义的引用
../../supplibs/lib/libmfhdf.a(putget.o):putget.c:(.text+0x3af):对‘xdr_opaque’未定义的引用
../../supplibs/lib/libmfhdf.a(putget.o):putget.c:(.text+0x470):对‘xdr_double’未定义的引用
../../supplibs/lib/libmfhdf.a(putget.o):putget.c:(.text+0x4a1):对‘xdr_float’未定义的引用
../../supplibs/lib/libmfhdf.a(putget.o):putget.c:(.text+0x4b0):对‘xdr_long’未定义的引用
../../supplibs/lib/libmfhdf.a(putget.o):putget.c:(.text+0x579):对‘xdr_opaque’未定义的引用
../../supplibs/lib/libmfhdf.a(putget.o):putget.c:(.text+0x618):对‘xdr_double’未定义的引用
../../supplibs/lib/libmfhdf.a(putget.o):putget.c:(.text+0x628):对‘xdr_float’未定义的引用
../../supplibs/lib/libmfhdf.a(putget.o):putget.c:(.text+0x638):对‘xdr_long’未定义的引用
../../supplibs/lib/libmfhdf.a(sharray.o):sharray.c:(.text+0x78):对‘xdr_opaque’未定义的引用
../../supplibs/lib/libmfhdf.a(string.o):string.c:(.text+0x323):对‘xdr_u_long’未定义的引用
../../supplibs/lib/libmfhdf.a(string.o):string.c:(.text+0x33e):对‘xdr_opaque’未定义的引用
../../supplibs/lib/libmfhdf.a(string.o):string.c:(.text+0x354):对‘xdr_u_long’未定义的引用
../../supplibs/lib/libmfhdf.a(string.o):string.c:(.text+0x3fc):对‘xdr_opaque’未定义的引用
../../supplibs/lib/libmfhdf.a(string.o):string.c:(.text+0x42b):对‘xdr_u_long’未定义的引用
../../supplibs/lib/libmfhdf.a(var.o):var.c:(.text+0xcf8):对‘xdr_enum’未定义的引用
../../supplibs/lib/libmfhdf.a(var.o):var.c:(.text+0xd0d):对‘xdr_u_long’未定义的引用
../../supplibs/lib/libmfhdf.a(var.o):var.c:(.text+0xd3b):对‘xdr_u_long’未定义的引用
../../supplibs/lib/libmfhdf.a(array.o):array.c:(.text+0xd83):对‘xdr_enum’未定义的引用
../../supplibs/lib/libmfhdf.a(array.o):array.c:(.text+0xd93):对‘xdr_u_long’未定义的引用
../../supplibs/lib/libmfhdf.a(array.o):array.c:(.text+0xdfe):对‘xdr_enum’未定义的引用
../../supplibs/lib/libmfhdf.a(array.o):array.c:(.text+0xf22):对‘xdr_double’未定义的引用
../../supplibs/lib/libmfhdf.a(array.o):array.c:(.text+0xf30):对‘xdr_float’未定义的引用
../../supplibs/lib/libmfhdf.a(array.o):array.c:(.text+0xf3a):对‘xdr_long’未定义的引用
../../supplibs/lib/libmfhdf.a(array.o):array.c:(.text+0xf81):对‘xdr_opaque’未定义的引用
../../supplibs/lib/libmfhdf.a(cdf.o):cdf.c:(.text+0x4b):对‘xdr_opaque’未定义的引用
../../supplibs/lib/libmfhdf.a(cdf.o):cdf.c:(.text+0x30c8):对‘xdr_u_long’未定义的引用
../../supplibs/lib/libmfhdf.a(cdf.o):cdf.c:(.text+0x31a7):对‘xdr_u_long’未定义的引用
../../supplibs/lib/libmfhdf.a(cdf.o):cdf.c:(.text+0x3c88):对‘xdr_double’未定义的引用
../../supplibs/lib/libmfhdf.a(cdf.o):cdf.c:(.text+0x3d00):对‘xdr_long’未定义的引用
../../supplibs/lib/libmfhdf.a(cdf.o):cdf.c:(.text+0x3d0e):对‘xdr_float’未定义的引用
../../supplibs/lib/libmfhdf.a(cdf.o):cdf.c:(.text+0x30ff):对‘xdr_u_long’未定义的引用
../../supplibs/lib/libmfhdf.a(dim.o):dim.c:(.text+0x7ad):对‘xdr_long’未定义的引用
../../supplibs/lib/libmfhdf.a(iarray.o):iarray.c:(.text+0x117):对‘xdr_u_long’未定义的引用
../../supplibs/lib/libmfhdf.a(iarray.o):iarray.c:(.text+0x148):对‘xdr_int’未定义的引用
../../supplibs/lib/libmfhdf.a(iarray.o):iarray.c:(.text+0x16c):对‘xdr_u_long’未定义的引用
../../supplibs/lib/libmfhdf.a(iarray.o):iarray.c:(.text+0x20b):对‘xdr_int’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller7get_strERSs’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:145:对‘xdr_string’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller10get_vectorEPPcRjiRNS_6VectorE’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:185:对‘xdr_array’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller10get_vectorEPPcRjRNS_6VectorE’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:175:对‘xdr_bytes’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller7get_intERi’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:168:对‘xdr_int’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller10get_uint32ERj’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:136:对‘xdr_u_int’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller10get_uint16ERt’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:129:对‘xdr_u_short’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller11get_float64ERd’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:122:对‘xdr_double’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller11get_float32ERf’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:115:对‘xdr_float’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller9get_int32ERi’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:108:对‘xdr_int’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller9get_int16ERs’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:101:对‘xdr_short’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller8get_byteERh’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:94:对‘xdr_char’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRFileUnMarshaller.o):在函数‘ZN6libdap19XDRFileUnMarshaller10get_opaqueEPcj’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRFileUnMarshaller.cc:162:对‘xdr_opaque’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRUtils.o):在函数‘Z12new_xdrstdioP9__sFILE646xdr_op’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRUtils.cc:52:对‘xdrstdio_create’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRUtils.o):在函数‘Z12set_xdrstdioP3XDRP9__sFILE646xdr_op’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRUtils.cc:60:对‘xdrstdio_create’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRUtils.o):在函数‘xdr_str’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRUtils.cc:100:对‘xdr_string’未定义的引用
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRUtils.cc:106:对‘xdr_string’未定义的引用
../../supplibs/lib/libdap.a(libdap_la-XDRUtils.o):在函数‘ZN6libdap8XDRUtils9xdr_coderERKNS_4TypeE’中:
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRUtils.cc:148:对‘xdr_short’未定义的引用
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRUtils.cc:151:对‘xdr_u_short’未定义的引用
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRUtils.cc:154:对‘xdr_int’未定义的引用
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRUtils.cc:157:对‘xdr_u_int’未定义的引用
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRUtils.cc:160:对‘xdr_float’未定义的引用
/home/dasilva/src/supplibs-2.3.1/src/dap/XDRUtils.cc:163:对‘xdr_double’未定义的引用
collect2: 错误:ld 返回 1
GNUmakefile:56: recipe for target 'libgrads.dll' failed
make[2]: *** [libgrads.dll] Error 1
make[2]: Leaving directory '/home/yorua007/software/grads-2.0.2.oga.2/src'
Makefile:590: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/yorua007/software/grads-2.0.2.oga.2/src'
Makefile:410: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
After searching the web, I installed the sunrpc from the supplib-2.3.1
source tarball, but got the same error messages.
Then I tried to compile supplib-2.3.1 from the source, but failed to
compile the cairo library, and the error message is:
if (!isxdigit(font->eexec_segment[i]))
^
CC cairo-type3-glyph-surface.lo
CC cairo-pdf-operators.lo
CC cairo-pdf-shading.lo
CC cairo-deflate-stream.lo
CC cairo-xlib-display.lo
In file included from cairo-xlib-private.h:41:0,
from cairo-xlib-display.c:40:
cairo-xlib-xrender-private.h:102:16: error: redefinition of 'struct
_XLinearGradient'
typedef struct _XLinearGradient {
^
In file included from cairo-xlib-xrender.h:45:0,
from cairo-xlib-xrender-private.h:53,
from cairo-xlib-private.h:41,
from cairo-xlib-display.c:40:
/home/yorua007/software/supplibs-2.3.1/i686-pc-cygwin/include/X11/extensions/Xrender.h:186:16:
note: originally defined here
typedef struct _XLinearGradient {
^
In file included from cairo-xlib-private.h:41:0,
from cairo-xlib-display.c:40:
cairo-xlib-xrender-private.h:105:3: error: conflicting types for
'XLinearGradient'
} XLinearGradient;
^
In file included from cairo-xlib-xrender.h:45:0,
from cairo-xlib-xrender-private.h:53,
from cairo-xlib-private.h:41,
from cairo-xlib-display.c:40:
/home/yorua007/software/supplibs-2.3.1/i686-pc-cygwin/include/X11/extensions/Xrender.h:189:3:
note: previous declaration of 'XLinearGradient' was here
} XLinearGradient;
^
In file included from cairo-xlib-private.h:41:0,
from cairo-xlib-display.c:40:
cairo-xlib-xrender-private.h:111:16: error: redefinition of 'struct
_XCircle'
typedef struct _XCircle {
^
In file included from cairo-xlib-xrender.h:45:0,
from cairo-xlib-xrender-private.h:53,
from cairo-xlib-private.h:41,
from cairo-xlib-display.c:40:
/home/yorua007/software/supplibs-2.3.1/i686-pc-cygwin/include/X11/extensions/Xrender.h:146:16:
note: originally defined here
typedef struct _XCircle {
^
In file included from cairo-xlib-private.h:41:0,
from cairo-xlib-display.c:40:
cairo-xlib-xrender-private.h:115:3: error: conflicting types for 'XCircle'
} XCircle;
^
In file included from cairo-xlib-xrender.h:45:0,
from cairo-xlib-xrender-private.h:53,
from cairo-xlib-private.h:41,
from cairo-xlib-display.c:40:
/home/yorua007/software/supplibs-2.3.1/i686-pc-cygwin/include/X11/extensions/Xrender.h:150:3:
note: previous declaration of 'XCircle' was here
} XCircle;
^
In file included from cairo-xlib-private.h:41:0,
from cairo-xlib-display.c:40:
cairo-xlib-xrender-private.h:116:16: error: redefinition of 'struct
_XRadialGradient'
typedef struct _XRadialGradient {
^
In file included from cairo-xlib-xrender.h:45:0,
from cairo-xlib-xrender-private.h:53,
from cairo-xlib-private.h:41,
from cairo-xlib-display.c:40:
/home/yorua007/software/supplibs-2.3.1/i686-pc-cygwin/include/X11/extensions/Xrender.h:191:16:
note: originally defined here
typedef struct _XRadialGradient {
^
In file included from cairo-xlib-private.h:41:0,
from cairo-xlib-display.c:40:
cairo-xlib-xrender-private.h:119:3: error: conflicting types for
'XRadialGradient'
} XRadialGradient;
^
In file included from cairo-xlib-xrender.h:45:0,
from cairo-xlib-xrender-private.h:53,
from cairo-xlib-private.h:41,
from cairo-xlib-display.c:40:
/home/yorua007/software/supplibs-2.3.1/i686-pc-cygwin/include/X11/extensions/Xrender.h:194:3:
note: previous declaration of 'XRadialGradient' was here
} XRadialGradient;
^
In file included from cairo-xlib-private.h:41:0,
from cairo-xlib-display.c:40:
cairo-xlib-xrender-private.h:125:16: error: redefinition of 'struct
_XConicalGradient'
typedef struct _XConicalGradient {
^
In file included from cairo-xlib-xrender.h:45:0,
from cairo-xlib-xrender-private.h:53,
from cairo-xlib-private.h:41,
from cairo-xlib-display.c:40:
/home/yorua007/software/supplibs-2.3.1/i686-pc-cygwin/include/X11/extensions/Xrender.h:196:16:
note: originally defined here
typedef struct _XConicalGradient {
^
In file included from cairo-xlib-private.h:41:0,
from cairo-xlib-display.c:40:
cairo-xlib-xrender-private.h:128:3: error: conflicting types for
'XConicalGradient'
} XConicalGradient;
^
In file included from cairo-xlib-xrender.h:45:0,
from cairo-xlib-xrender-private.h:53,
from cairo-xlib-private.h:41,
from cairo-xlib-display.c:40:
/home/yorua007/software/supplibs-2.3.1/i686-pc-cygwin/include/X11/extensions/Xrender.h:199:3:
note: previous declaration of 'XConicalGradient' was here
} XConicalGradient;
^
Makefile:2090: recipe for target 'cairo-xlib-display.lo' failed
make[4]: *** [cairo-xlib-display.lo] Error 1
make[4]: Leaving directory
'/home/yorua007/software/supplibs-2.3.1/src/cairo/src'
Makefile:2582: recipe for target 'install' failed
make[3]: *** [install] Error 2
make[3]: Leaving directory
'/home/yorua007/software/supplibs-2.3.1/src/cairo/src'
Makefile:632: recipe for target 'install-recursive' failed
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory
'/home/yorua007/software/supplibs-2.3.1/src/cairo'
Makefile:1051: recipe for target 'install' failed
make[1]: *** [install] Error 2
make[1]: Leaving directory
'/home/yorua007/software/supplibs-2.3.1/src/cairo'
GNUmakefile:605: recipe for target 'cairo.install' failed
make: *** [cairo.install] Error 2
I tried to fix this but failed. I see that the cairo is built with the
pre-compiled supplib-2.3.1, so the cairo is able to be successfully
compiled on the cygwin platform.Are there any suggestions to help out?
Thanks!
--
Hao Qian
Key Laboratory of Ocean Circulation and Waves (KLOCAW)
Institute of Oceanology, Chinese Academy of Sciences
No.7 Nanhai Road, Qingdao 266071, P.R.China
Phone: +86-18753220258
|