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 |