thanks for you answer, I didn't realize mingw-w64 already change default code model. I found one more file also need change,otherwise package build will fail. the file is  share/make/winshlib.mk .
 $(NM) $^ | $(SED) -n $(SYMPAT)|$(SED) -n '/.refptr./d'  | $(SED) -n 's/.refptr*//g'  >> tmp.def; \ Yu Gong On Sunday, July 20, 2014 8:35 PM, Prof Brian Ripley <rip...@stats.ox.ac.uk> wrote: I think you used the wrong code model: these come from defaulting to the medium-code model intended for x64 Cygwin -- see https://gcc.gnu.org/ml/gcc-patches/2013-03/msg00858.html . Also, please follow the posting guide and do not send HTML: your message arrived rather garbled. I've added a more general way to achieve this in MkRules.dist in R-devel and R-patched. On 19/07/2014 07:52, Yu Gong wrote: > recently I used gcc 4.9.1 > (http://sourceforge.net/projects/mingw-w64/files/Toolchains targetting > Win64/Personal Builds/mingw-builds/)on windows to build R,but failed when > link R.dll ,it report linker status 5.à > after some digging, I found when use gcc 4.9.1 64 bit on windows there are lots of .refptr.*(* is r function name) in R.def, which lead build fail.so I add a simple path to src/gnuwin32/Makefile: > > Index: Makefile > =================================================================== > --- Makefile(çâ°ËæÅ¬ 66200) > +++ Makefile(å·¥ä½ÅÃ¥â°Â¯Ã¦Å¬) > @@ -148,7 +148,7 @@ > à ifeq "$(WIN)" "64" > à R.dll: $(OBJS) $(OBJS-EXTRA) $(MAINLIBS) $(EXTRALIBS) dllversion.o > à @$(ECHO) EXPORTS > R.def > -@$(NM) $^ | $(SED) -n à $(SYMPAT) | LC_COLLATE=C $(SORT) | uniq > R0.def > +@$(NM) $^ | $(SED) -n à $(SYMPAT) | LC_COLLATE=C $(SORT) | uniq |$(SED) > '/.refptr./d' > R0.def > à @$(SED) -e's/@.*//' Rdll.hide | LC_COLLATE=C $(SORT) > R1.def > à @LC_COLLATE=C comm -23 R0.def R1.def >> R.def > à $(DLL) -shared $(DLLFLAGS) $($*-DLLFLAGS) -o $@ R.def $^ $($*-DLLLIBS) > $(DLLLIBS) > @@ -156,7 +156,7 @@ > à else > à R.dll: $(OBJS) $(OBJS-EXTRA) $(MAINLIBS) $(EXTRALIBS) dllversion.o > à @$(ECHO) EXPORTS > R.def > -@$(NM) $^ | $(SED) -n à $(SYMPAT) | LC_COLLATE=C $(SORT) | uniq > R0.def > +@$(NM) $^ | $(SED) -n à $(SYMPAT) | LC_COLLATE=C $(SORT) | uniq |$(SED) > '/.refptr./d' > R0.def > à @LC_COLLATE=C $(SORT) Rdll.hide > R1.def > à @LC_COLLATE=C comm -23 R0.def R1.def >> R.def > à $(DLL) -shared $(DLLFLAGS) $($*-DLLFLAGS) -o $@ R.def $^ $($*-DLLLIBS) > $(DLLLIBS) > > > Yu Gong > 2014/07/18 >    [[alternative HTML version deleted]] > > > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > -- Brian D. Ripley,         rip...@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford,      Tel: +44 1865 272861 (self) 1 South Parks Road,          +44 1865 272866 (PA) Oxford OX1 3TG, UK        Fax: +44 1865 272595 [[alternative HTML version deleted]]
______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel