Curt Hibbs
2004-Feb-22 23:34 UTC
[Rubyinstaller-devel] Curt''s Build Notes (a work in progress)
Currently, my build runs all the way until it tries to build the RI database, which I believe is the very last step before NSIS is run to create the installer. So I''m almost there! Here are the build notes that I collected so far. I''ve cleaned up these notes a little bit, but they were not really intended (at this point) for any one but myself. For example, when you see file system paths, they are specific to my development setup, and would mostly be different for you. Curt =======================RubyInstaller Build Notes Prerequisites (stuff I had to install first): - Installed NSIS 2 in ...\installer\bin - VC++ 7.1(later I will try vc++ 6.0 SP5) - Cygwin (added "C:\cygwin\bin" to the path) - Info UnZip (http://www.info-zip.org/pub/infozip/UnZip.html) - downloaded: unz550xN.exe (self-extracting archive) - added to path - Oracle Client (I used 8.1.7) (added ...\oci\include directory to the include path). (added ...\oci\lib\msvc directory to the lib path). My Build Steps: - cd ...\installer\builder - nmake - At install of Expat, the makefile hint for the correct install dir is wrong: HINT: destination directory is E:\Dev\RubyDev\rubyinstaller\cvs-repo\installer\stable/Expat-1.95.4 it should be: HINT: destination directory is E:\Dev\RubyDev\rubyinstaller\cvs-repo\installer\stable\download/Expat-1.95.4 - In the step "Copying documentation for DBD/ODBC" (as tagged in the console output) the following file was read-only and caused the build to fail: E:\Dev\RubyDev\rubyinstaller\cvs-repo\installer\stable\doc\DBD\ODBC-0.96\COP YING I manually removed the R/O attribute and restarted the build. (Need to make the build insensitive to this) - Currently failing to build the RI database -- must investigate. Building RI database ..\..\bin\rdoc --ri-system ./commands.rb:200:in `run'': Command failed: (RuntimeError) from ./commands.rb:168:in `each'' from ./commands.rb:168:in `run'' from builder.rb:446 NMAKE : fatal error U1077: ''ruby.exe'' : return code ''0x1'' Stop.
Shashank Date
2004-Feb-23 01:20 UTC
[Rubyinstaller-devel] Curt''s Build Notes (a work in progress)
> Currently, my build runs all the way until it tries to build the RI > database, which I believe is the very last step before NSIS is run tocreate> the installer. So I''m almost there!Awesome ! I was reading about the silent install option and found out that it is done by passing /S as the commandline argument. One of the things that comes in the way is MessageBox dialogs. Can we use them conditionally (so that they are masked off when /S is passed)? Then we will have the silent install working like it should.> Here are the build notes that I collected so far.<snip> Great ! Thanks ... -- Shashank
Andrew Hunt
2004-Feb-23 09:02 UTC
[Rubyinstaller-devel] Curt''s Build Notes (a work in progress)
On Sun, 2004-02-22 at 23:25, Curt Hibbs wrote:> - At install of Expat, the makefile hint for the correct install dir is > wrong: > > HINT: destination directory is > E:\Dev\RubyDev\rubyinstaller\cvs-repo\installer\stable/Expat-1.95.4 > > it should be: > > HINT: destination directory is > > E:\Dev\RubyDev\rubyinstaller\cvs-repo\installer\stable\download/Expat-1.95.4Oops. Sorry ''bout that! It annoys me that the stupid expat installer has to pop up a dialog box. An unattended form of that install would be a big help.> - In the step "Copying documentation for DBD/ODBC" (as tagged in the console > output) > the following file was read-only and caused the build to fail:There''s a actually a couple of cases of that. Probably the best thing to do is to force the copy (the thing you''re installing might be newer as you''re working on a release).> - Currently failing to build the RI database -- must investigate.Known problem. The version of RI included in the 1.8.1 tarball doesn''t work. But the version in the Ruby CVS tree that''s tagged 1.8.1 release does. Go figure. /\ndy
Andrew Hunt
2004-Feb-23 09:04 UTC
[Rubyinstaller-devel] Curt''s Build Notes (a work in progress)
On Mon, 2004-02-23 at 01:12, Shashank Date wrote:> I was reading about the silent install option and found out that it is done > by passing /S as the commandline argument. One of the things that comes > in the way is MessageBox dialogs. Can we use them conditionally (so that > they > are masked off when /S is passed)?Yes; there''s a test in NSIS script that you can use to determine whether it''s a silent install or not. You might need to pass that down to the C program as well, i think it used to put up it''s own dialog box (but it might not do that currently, I forget). /\ndy
Shashank Date
2004-Feb-23 23:52 UTC
[Rubyinstaller-devel] Curt''s Build Notes (a work in progress)
Hi All,> - VC++ 7.1(later I will try vc++ 6.0 SP5)I am using VC++ 6.0> - Cygwin (added "C:\cygwin\bin" to the path) > - Info UnZip (http://www.info-zip.org/pub/infozip/UnZip.html) > - downloaded: unz550xN.exe (self-extracting archive) > - added to pathWhy do we need this ?> - Oracle Client (I used 8.1.7) > (added ...\oci\include directory to the include path). > (added ...\oci\lib\msvc directory to the lib path).I do not have access to Oracle.> My Build Steps: > > - cd ...\installer\builder > - nmake > > - At install of Expat, the makefile hint for the correct install dir is > wrong: > HINT: destination directory is > E:\Dev\RubyDev\rubyinstaller\cvs-repo\installer\stable/Expat-1.95.4 > > it should be: > > HINT: destination directory is > >E:\Dev\RubyDev\rubyinstaller\cvs-repo\installer\stable\download/Expat-1.95.4 I am struggling with exactly this right now, and cannot find the Makefile which has this HINT. -- shanko
Andrew Hunt
2004-Feb-24 08:58 UTC
[Rubyinstaller-devel] Curt''s Build Notes (a work in progress)
On Mon, 2004-02-23 at 23:44, Shashank Date wrote:> Hi All, > > > - VC++ 7.1(later I will try vc++ 6.0 SP5) > > I am using VC++ 6.0Same here. SHould be fine. 7.1 supposedly produces faster builds.> > - Cygwin (added "C:\cygwin\bin" to the path) > > - Info UnZip (http://www.info-zip.org/pub/infozip/UnZip.html) > > - downloaded: unz550xN.exe (self-extracting archive) > > - added to path > > Why do we need this ?Because some of the Ruby packages are distributed as tarballs, some as zips, etc. I''m using the tar from cygwin, but you also need an unzip (WinZip would also work, and it handles tgz as well as zip).> > - Oracle Client (I used 8.1.7) > > (added ...\oci\include directory to the include path). > > (added ...\oci\lib\msvc directory to the lib path). > > I do not have access to Oracle.You can the developer pack for free. I think you just sign up on their website. All you need is the client setup.> > My Build Steps: > > > > - cd ...\installer\builder > > - nmake > > > > - At install of Expat, the makefile hint for the correct install dir is > > wrong: > > HINT: destination directory is > > E:\Dev\RubyDev\rubyinstaller\cvs-repo\installer\stable/Expat-1.95.4 > > > > it should be: > > > > HINT: destination directory is > > > > > E:\Dev\RubyDev\rubyinstaller\cvs-repo\installer\stable\download/Expat-1.95.4 > > I am struggling with exactly this right now, and cannot find the Makefile > which has this HINT.It''s in the ruby script (either builder.rb or commands.rb), not in the makefile. thanks, guys... /\ndy
Shashank Date
2004-Feb-24 09:36 UTC
[Rubyinstaller-devel] Curt''s Build Notes (a work in progress)
> It''s in the ruby script (either builder.rb or commands.rb), not in the > makefile.Got it (as is obvious from the error). But this is * after * I change the HINT (in package.rb) : --------------------- cd Expat-1.95.4 ./commands.rb:185:in `chdir'': No such file or directory - Expat-1.95.4 (Errno::ENOENT) from ./commands.rb:185:in `run'' from ./commands.rb:168:in `each'' from ./commands.rb:168:in `run'' from ./package.rb:126:in `initialize'' from builder.rb:184:in `new'' from builder.rb:184 NMAKE : fatal error U1077: ''ruby.exe'' : return code ''0x1'' Stop. ------------------------
Andrew Hunt
2004-Feb-24 09:39 UTC
[Rubyinstaller-devel] Curt''s Build Notes (a work in progress)
On Tue, 2004-02-24 at 09:27, Shashank Date wrote:> > It''s in the ruby script (either builder.rb or commands.rb), not in the > > makefile. > > Got it (as is obvious from the error). But this is * after * I change the > HINT > (in package.rb) : > --------------------- > cd Expat-1.95.4 > ./commands.rb:185:in `chdir'': No such file or directory - Expat-1.95.4The script has to sucessfully download and execute the expat .exe, which you then have to tell to unpack itself into the correct directory for the chdir to work. Worse case, remove the expat.exe so it can re-download and try again.
As you know from my previous posts, I have made it through the first phase of building the ruby installer (with the exception of the RI database). This means everything compiled, but I haven''t yet run NSIS to generate the actual installer. In the meantime, a few things have happened: 1) I found an anomaly in the current 181-11 release that seems to indicate that parts of it may have been inadvertently compiled with cygwin. 2) In the process of releasing a version of FreeRIDE for Windows it was discovered that the FreeRIDE debugger would work under a vc++ 7 build of ruby 1.8.1, but would not run under our 181-11 release. This may be related to item #1 above. 3) I had a hard disk crash on my development machine, and I have been busy rebuilding my development environment. Because of all of this, I elected not to install cygwin at all and to make changes to the ruby installer build process as I go to eliminate the need for cygwin. So far, this has primarily meant using pieces of GnuWin32, which is a native windows port of GNU utilities. So far I have only used "tar" and "gzip", but I''m sure that I will also need "rm". Anyway, I just wanted to keep you informed. If you don''t already know, you can find GnuWin32 on sourceforge at: http://gnuwin32.sourceforge.net/ Curt --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.610 / Virus Database: 390 - Release Date: 3/3/2004
On Fri, 2004-03-05 at 10:56, Curt Hibbs wrote:> 1) I found an anomaly in the current 181-11 release that seems to indicate > that parts of it may have been inadvertently compiled with cygwin.I''d be surprised if any parts were actually compiled with cygwin (as opposed to pulling down a pre-compiled wrong version from somewhere on the net), but anything is possible.> 3) I had a hard disk crash on my development machine, and I have been busy > rebuilding my development environment.Ouch! Sorry to hear that.> Anyway, I just wanted to keep you informed. If you don''t already know, you > can find GnuWin32 on sourceforge at: > > http://gnuwin32.sourceforge.net/Good idea.
Andrew Hunt wrote:> > On Fri, 2004-03-05 at 10:56, Curt Hibbs wrote: > > > 1) I found an anomaly in the current 181-11 release that seems > to indicate > > that parts of it may have been inadvertently compiled with cygwin. > > I''d be surprised if any parts were actually compiled with cygwin (as > opposed to pulling down a pre-compiled wrong version from somewhere on > the net), but anything is possible.I think you are right -- that would be a much more likely scenario. Curt --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.610 / Virus Database: 390 - Release Date: 3/3/2004