[Rd] Building R-4.1.3 from source - creating .msi fails

Gmail w@|ter@djur|c @end|ng |rom gm@||@com
Mon May 16 13:39:24 CEST 2022


Solution to this error was quite trivial in the end. 
There is 10,000 hard coded at around line 188 ff of the .../gnuwin32/installer/Makefile 

Referring to this part here: 
# currently use about 3500: allow for EXTRA_PKGS
uuids: uuidgen.exe
	./uuidgen 10000 > $@

This calls uuidgen to generate a certain number (here 10,000) uuids, which then get consumed by WiXins.R for file GUIDsto be used in "R.wxs". 

So if that gets increased to say 20,000 the msi build toolset works again for R-4.1.3. 
The whole R-4.1.3 msi build for me consumed a little less than 15,000 uuids; 

I recently (May 15, 2022) also did some testing on building .msi for R-4.2.0patched and there less than 4,500 uuids (4156 to be exact) were consumed – which is a (interestingly) much smaller number, reasons for which I did not investigate in detail. 
Meaning that .msi builds (by WiX) should or at least still seem to work even with the new Rtools42 toolchain and without errors and just in case someone else experiences an error like the one described in this thread - make sure to check if there were enough uuids generated – a good indicator of insufficient number of uuids/GUIDs being those NAs popping up in the R.wxs file!  

G, W


-----Original Message-----
From: Duncan Murdoch <murdoch.duncan using gmail.com> 
Sent: Tuesday, May 10, 2022 10:15 PM
To: Gmail <walter.djuric using gmail.com>; 'Tomas Kalibera' <tomas.kalibera using gmail.com>; r-devel using R-project.org
Subject: Re: [Rd] Building R-4.1.3 from source - creating .msi fails

On 10/05/2022 3:01 p.m., Gmail wrote:
> Thanks for the swift reply.
> 
> Maybe some clarifications from my side - I am not referring to the R-4.2.0 version (manual).
> But the earlier up to R-4.1.3 version manuals, where there always was a section about "Building the MSI installer" [right after Building the Inno Setup Installer] included (ending with thanks to David del Campo).

Some more clarification, please:  which manual are you talking about?  I don't see those sections in the R Admin manual.  Maybe they were conditional on the Windows build?

> And as far as I can tell the Inno Setup section is also gone from the 4.2.0 manual now? On purpose?

You could look at the svn history of the source file to see what the log message says.  So could I, if I only knew which manual you are looking at.

> Then why is it that there is still an /installer folder in R-4.2.0 with all the Inno Setup files eg header.iss and JRins.R as well as WiXins.R in it, and the installer/Makefile also still includes all these sections.
> 
> So in the spirit of things I guess that all lines in the .../installer/Makefile (line 49 and lines 180 ff.) as well as the whole “WiXins.R” file in the /installer folder should be removed from R-4.1.3.tar.gz (which is available in that form for download from r-project)? And judging from the manual the .iss related parts as well?

The 4.1.3 tarfile has been released, and can't be modified.  The only way a modification would be possible would be to release a new 4.1.x patch version, but that's really, really unlikely.

> At the same time R-4.0.5 msi build works fine so probably should not be altered/removed in R-4.0.5.tar.gz?

Changes there are even less likely, so don't worry about them.

Duncan Murdoch

> 
> G, W
> 
> 
> -----Original Message-----
> From: Tomas Kalibera <tomas.kalibera using gmail.com>
> Sent: Tuesday, May 10, 2022 3:07 PM
> To: Gmail <walter.djuric using gmail.com>; r-devel using R-project.org
> Subject: Re: [Rd] Building R-4.1.3 from source - creating .msi fails
> 
> 
> On 5/9/22 18:36, Gmail wrote:
>> Dear all,
>> lately I was building R-4.1.3 from source and as the final step I 
>> decided to also try and build the .msi file.
>>
>> I was following along the R Admin manual and using Jeroens “r-windows/r-base” GitHub repo as a basis.
>> The build, the tests all the way to the Inno-Setup Windows .exe installer completed successfully - but not the "R-4.1.3.msi" file.
> 
> The MSI installer is not supported. I can't see it mentioned in R-Admin, but if you found it there or in some documentation, please report, so that it can be removed.
> 
> Best
> Tomas
> 
>> Since I am not really knowledgeable when it comes to debugging WiX failures I was hoping someone here has some helpful comments.
>>
>> Below are the logs/output/errors/file excerpts:
>> =========================
>>
>> R-4.1.3.log:
>> ----------------
>> Windows Installer XML Toolset Compiler version 3.11.2.4516 Copyright
>> (c) .NET Foundation and contributors. All rights reserved.
>>
>> *** asterisk lines separate content of different files
>> **********************************
>>
>> *********************************************************************
>> *
>> *******
>> R.wxs [file]
>> D:\r-base\src\R-source\src\gnuwin32\installer\R.wxs(50036) : error
>> CNDL0104 : Not a valid source file;
>> detail: The 'DirectoryRef' start tag on line 50033 position 14 does not match the end tag of 'Component'. Line 50036, position 19.
>>
>>
>> *********************************************************************
>> *
>> ******* R.wxs [file] (lines 50032 – 50037, etc.) I understand the 
>> error is the result of line 50034 having the first of many (after 
>> that line there are hundreds) “unprovoked” NA’s :
>> ...
>> ...
>>               </DirectoryRef>
>>               <DirectoryRef Id="dirDFBCD23F607D1BCC15748A367C06C465">
>>       NA
>>                       <File Id="fil49DED439D60E725AA5D6402B8A36B915" KeyPath="yes" Source="R-4.1.3\library\base\help\print.DLLInfoList.html" />
>>                   </Component>
>>               </DirectoryRef>
>>               <DirectoryRef Id="dir4A5E34FDE4B660BFC361AB8682CC00A3">
>> ....
>> ....
>> Additionally here follows  line 82158 where, because there are no more file-ids after line 82160 below the NAs also disappear:
>>               <DirectoryRef Id="dir1FF2414B716F9EC0C950A7D0C5600532">
>>       NA
>>                       <File Id="fil7FBA10F4604BA92660D4FA85CA81B1BC" KeyPath="yes" Source="R-4.1.3\library\Matrix\help\coerce+2ClsTMatrix+2CdsTMatrix-method.html" />
>>                   </Component>
>>               </DirectoryRef>
>>               <DirectoryRef Id="dirD31021A615C26B5D3F93CF12408AE4B5">
>>                   <Directory Id="dir0016419565268E77B190EFC6ECFE56AD" Name="LC_MESSAGES" />
>>               </DirectoryRef>
>>
>> *********************************************************************
>> *
>> ******* files.wxs [file] here is the corresponding files Fragment of 
>> the above (first)  "corrupted" tag ie of file-id:
>> fil49DED439D60E725AA5D6402B8A36B915
>> ...
>> ...
>> <Fragment>
>>           <DirectoryRef Id="dirDFBCD23F607D1BCC15748A367C06C465">
>>               <Component Id="cmp9D50FF8D0F55461A69B18CCAC6292CA3" Guid="PUT-GUID-HERE">
>>                   <File Id="fil49DED439D60E725AA5D6402B8A36B915" KeyPath="yes" Source="SourceDir\library\base\help\print.DLLInfoList.html" />
>>               </Component>
>>           </DirectoryRef>
>>       </Fragment>
>>       <Fragment>
>> ...
>> ...
>>
>> *********************************************************************
>> *
>> ******* The “WiXins.R” file I am using is the unmodified 
>> /src/gnuwin32/installer/WiXins.R of the .tar.gz downloaded from:
>> https://cran.r-project.org/src/base/R-4/R-4.1.3.tar.gz
>>
>> =========================
>> Greetings,
>> Walter
>>
>> ______________________________________________
>> R-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list