Hi. I noticed that Brian Ripley found and corrected a bug in MinGW's ld.exe, see http://www.murdoch-sutherland.com/Rtools/. Thanks for this. I wonder if this is the same bug that cause my problems. I have tiny toy package with C code that installs perfectly on R Version 2.2.1 beta (2005-12-18 r36792) [this version was mislabelled "beta" the first few hours on CRAN when the stable 2.2.1 version first came out]. However, when I try to install the same on R Version 2.2.1 Patched (2006-02-09 r37305) as well as R Version 2.3.0 Under development (unstable) (2006-02-02 r37243), I get the following error: C:\Documents and Settings\hb\braju.com.R\R.native\build>Rcmd install R.native ---------- Making package R.native ------------ adding build stamp to DESCRIPTION making DLL ... making rowMedians.d from rowMedians.c gcc -IC:/PROGRA~1/R/R-2.2.1pat/include -Wall -O2 -c rowMedians.c -o rowMedia ns.o ar cr R.native.a rowMedians.o ranlib R.native.a windres --include-dir C:/PROGRA~1/R/R-2.2.1pat/include -i R.native_res.rc -o R. native_res.o gcc --shared -s -o R.native.dll R.native.def R.native.a R.native_res.o -LC:/P ROGRA~1/R/R-2.2.1pat/src/gnuwin32 -lg2c -lR c:\MinGW\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe: R.native.d ef:1: syntax error c:\MinGW\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe:R.native.de f: file format not recognized; treating as linker script c:\MinGW\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe:R.native.de f:1: syntax error collect2: ld returned 1 exit status make[3]: *** [R.native.dll] Error 1 make[2]: *** [srcDynlib] Error 2 make[1]: *** [all] Error 2 make: *** [pkg-R.native] Error 2 *** Installation of R.native failed *** Removing 'C:/PROGRA~1/R/R-2.2.1pat/library/R.native' Restoring previous 'C:/PROGRA~1/R/R-2.2.1pat/library/R.native' My R.native.def looks like this: LIBRARY R.native.dll EXPORTS rowMedians rowMediansInteger rowMediansReal I've tried to replace the two occurances of ld.exe in MINGW with BR's patch, but I get the same error. The ld of the patch and the original one show the same version string; patch: GNU ld version 2.16.91 20050827 and original: GNU ld version 2.16.91 20050827. I've tried to use both MINGW v5.0.0 and v5.0.2 with both "current" (v3.4.2) and "candidate" (v3.4.4) packages. Is this related to the bug BR found? Any suggestions what might go wrong between R v2.2.1 and v2.2.1 patched? Thanks Henrik
MinGW and the ld bug
3 messages · Henrik Bengtsson, Brian Ripley
I believe the bug is triggered by the fairly unusual event you have a '.' in the package name, and the change in 2.2.1 to 2.2.1 patched was to add
LIBRARY R.native.dll
^^^^ (which is what my workaround in ld.exe was doing another way). Since we are told that is the correct form and we were using it incorrectly before, I don't really know how to work around this. For you, just delete .dll in the following line in src/gnuwin32/MkRules %.dll: @$(ECHO) LIBRARY $*.dll > $*.def but that is not a general solution.
On Mon, 13 Feb 2006, Henrik Bengtsson wrote:
Hi. I noticed that Brian Ripley found and corrected a bug in MinGW's ld.exe, see http://www.murdoch-sutherland.com/Rtools/. Thanks for this. I wonder if this is the same bug that cause my problems. I have tiny toy package with C code that installs perfectly on R Version 2.2.1 beta (2005-12-18 r36792) [this version was mislabelled "beta" the first few hours on CRAN when the stable 2.2.1 version first came out]. However, when I try to install the same on R Version 2.2.1 Patched (2006-02-09 r37305) as well as R Version 2.3.0 Under development (unstable) (2006-02-02 r37243), I get the following error: C:\Documents and Settings\hb\braju.com.R\R.native\build>Rcmd install R.native ---------- Making package R.native ------------ adding build stamp to DESCRIPTION making DLL ... making rowMedians.d from rowMedians.c gcc -IC:/PROGRA~1/R/R-2.2.1pat/include -Wall -O2 -c rowMedians.c -o rowMedia ns.o ar cr R.native.a rowMedians.o ranlib R.native.a windres --include-dir C:/PROGRA~1/R/R-2.2.1pat/include -i R.native_res.rc -o R. native_res.o gcc --shared -s -o R.native.dll R.native.def R.native.a R.native_res.o -LC:/P ROGRA~1/R/R-2.2.1pat/src/gnuwin32 -lg2c -lR c:\MinGW\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe: R.native.d ef:1: syntax error c:\MinGW\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe:R.native.de f: file format not recognized; treating as linker script c:\MinGW\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe:R.native.de f:1: syntax error collect2: ld returned 1 exit status make[3]: *** [R.native.dll] Error 1 make[2]: *** [srcDynlib] Error 2 make[1]: *** [all] Error 2 make: *** [pkg-R.native] Error 2 *** Installation of R.native failed *** Removing 'C:/PROGRA~1/R/R-2.2.1pat/library/R.native' Restoring previous 'C:/PROGRA~1/R/R-2.2.1pat/library/R.native' My R.native.def looks like this: LIBRARY R.native.dll EXPORTS rowMedians rowMediansInteger rowMediansReal I've tried to replace the two occurances of ld.exe in MINGW with BR's patch, but I get the same error. The ld of the patch and the original one show the same version string; patch: GNU ld version 2.16.91 20050827 and original: GNU ld version 2.16.91 20050827. I've tried to use both MINGW v5.0.0 and v5.0.2 with both "current" (v3.4.2) and "candidate" (v3.4.4) packages.
Hmm, only 3.4.5 is there as a candidate.
Is this related to the bug BR found? Any suggestions what might go wrong between R v2.2.1 and v2.2.1 patched? Thanks Henrik
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Brian D. Ripley, ripley at 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
On 2/13/06, Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:
I believe the bug is triggered by the fairly unusual event you have a '.' in the package name, and the change in 2.2.1 to 2.2.1 patched was to add
LIBRARY R.native.dll
^^^^
(which is what my workaround in ld.exe was doing another way).
Since we are told that is the correct form and we were using it
incorrectly before, I don't really know how to work around this. For you,
just delete .dll in the following line in src/gnuwin32/MkRules
%.dll:
@$(ECHO) LIBRARY $*.dll > $*.def
Thanks. With "@$(ECHO) LIBRARY $ > $*.def" it works again. All the best, Henrik
but that is not a general solution. On Mon, 13 Feb 2006, Henrik Bengtsson wrote:
Hi. I noticed that Brian Ripley found and corrected a bug in MinGW's ld.exe, see http://www.murdoch-sutherland.com/Rtools/. Thanks for this. I wonder if this is the same bug that cause my problems. I have tiny toy package with C code that installs perfectly on R Version 2.2.1 beta (2005-12-18 r36792) [this version was mislabelled "beta" the first few hours on CRAN when the stable 2.2.1 version first came out]. However, when I try to install the same on R Version 2.2.1 Patched (2006-02-09 r37305) as well as R Version 2.3.0 Under development (unstable) (2006-02-02 r37243), I get the following error: C:\Documents and Settings\hb\braju.com.R\R.native\build>Rcmd install R.native ---------- Making package R.native ------------ adding build stamp to DESCRIPTION making DLL ... making rowMedians.d from rowMedians.c gcc -IC:/PROGRA~1/R/R-2.2.1pat/include -Wall -O2 -c rowMedians.c -o rowMedia ns.o ar cr R.native.a rowMedians.o ranlib R.native.a windres --include-dir C:/PROGRA~1/R/R-2.2.1pat/include -i R.native_res.rc -o R. native_res.o gcc --shared -s -o R.native.dll R.native.def R.native.a R.native_res.o -LC:/P ROGRA~1/R/R-2.2.1pat/src/gnuwin32 -lg2c -lR c:\MinGW\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe: R.native.d ef:1: syntax error c:\MinGW\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe:R.native.de f: file format not recognized; treating as linker script c:\MinGW\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe:R.native.de f:1: syntax error collect2: ld returned 1 exit status make[3]: *** [R.native.dll] Error 1 make[2]: *** [srcDynlib] Error 2 make[1]: *** [all] Error 2 make: *** [pkg-R.native] Error 2 *** Installation of R.native failed *** Removing 'C:/PROGRA~1/R/R-2.2.1pat/library/R.native' Restoring previous 'C:/PROGRA~1/R/R-2.2.1pat/library/R.native' My R.native.def looks like this: LIBRARY R.native.dll EXPORTS rowMedians rowMediansInteger rowMediansReal I've tried to replace the two occurances of ld.exe in MINGW with BR's patch, but I get the same error. The ld of the patch and the original one show the same version string; patch: GNU ld version 2.16.91 20050827 and original: GNU ld version 2.16.91 20050827. I've tried to use both MINGW v5.0.0 and v5.0.2 with both "current" (v3.4.2) and "candidate" (v3.4.4) packages.
Hmm, only 3.4.5 is there as a candidate.
Is this related to the bug BR found? Any suggestions what might go wrong between R v2.2.1 and v2.2.1 patched? Thanks Henrik
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
-- Brian D. Ripley, ripley at 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