[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

no such file to load -- stringio (LoadError) ???

Rich Morin

8/14/2006 5:11:00 PM

I recently installed Ruby 1.8.4 on Mac OS X 10.4.7, following
the instructions in

http://hivelogic.com/articles/2005/12/01/ruby_rails_lighttpd_m...

Although irb starts up and runs OK, I am unable to get ri to work
(either within irb or as an external command).

It says:

>> ri Proc
/Users/rdm/.irbrc:2: warning:
Insecure world writable dir /Volumes,
mode 04177/usr/local/lib/ruby/1.8/yaml.rb:9:in `require':
no such file to load -- stringio (LoadError)
from /usr/local/lib/ruby/1.8/yaml.rb:9
from /usr/local/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:1
from /usr/local/lib/ruby/1.8/rdoc/ri/ri_reader.rb:1
from /usr/local/lib/ruby/1.8/rdoc/ri/ri_driver.rb:5
from /usr/local/bin/ri:43
=> false


Ignoring the /Volumes nastygram (Hey, it's a mount point!), it
appears that a require is failing. Hmmm...

>> $:
=> ["/usr/local/lib/ruby/site_ruby/1.8",
"/usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin8.7.0",
"/usr/local/lib/ruby/site_ruby",
"/usr/local/lib/ruby/1.8",
"/usr/local/lib/ruby/1.8/powerpc-darwin8.7.0",
"."]

Looks pretty good; let's see if the file is there and readable:

% cd /usr/local/lib/ruby

% du -a . | grep stringio.rb
8 ./1.8/yaml/stringio.rb
16 ./gems/1.8/gems/actionmailer-1.1.5/lib/action_mailer/
vendor/tmail/stringio.rb

% wc ./1.8/yaml/stringio.rb
83 175 1969 ./1.8/yaml/stringio.rb

At this point, I'm tapped out. Suggestions, anyone?

-r
--
http://www.cf... Rich Morin
http://www.cf.../resume rdm@cfcl.com
http://www.cf.../weblog +1 650-873-7841

Technical editing and writing, programming, and web development

4 Answers

Dave Peterson

10/1/2008 3:49:00 PM

0

Just a guess...

If you test your macro against a workbook/worksheet that doesn't use
data|validation, does it work faster?

If it does, maybe you could try clearing column E first, then deleting it. It
might work if all your data|validation formulas don't have to reevaluate????

Code Numpty wrote:
>
> Thanks Dave, but no print preview lines and no event macros. Here's all my
> macro code for the file.
>
> MODULE3
> ----------------------------------------------------------------------
> Sub Quote_Wrapup()
> 'To stop screen flicker
> ' Application.ScreenUpdating = False
>
> Sheet1.Range("quote_date") = Sheet1.Range("quote_date").Value
> Range("qdata5,qdata6").Font.ColorIndex = 2
>
> 'To delete delivery address lines if 1st line empty
> If IsEmpty(Range("deliver_line1")) _
> Then Sheets(1).Range("deliver_rows").EntireRow.Delete
> 'No End If required as only one action as a result of the If
>
> Range("Item_Nos").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
> Sheet1.Range("content") = Sheet1.Range("content").Value
>
> Call NoDVinputMsg
>
> ActiveSheet.Shapes("Group 31").Delete
> Rows("1:1").Delete Shift:=xlUp
> ActiveSheet.Shapes("Picture 14").Delete
> Range("A:G").Interior.ColorIndex = xlNone
>
> Application.EnableEvents = False
> Columns("E").Delete Shift:=xlToLeft
> Application.EnableEvents = True
>
> Range("comm_disclines").Delete Shift:=xlUp
> Range("boxes").Borders.LineStyle = x1None
> Range("delterms_box").ClearContents
> Sheets("Instructions").Select
> ActiveSheet.Name = "Terms&Conditions"
> Range("instructions").Delete
> ActiveSheet.Shapes("Object 1").Delete
> Range("A1").Select
> Sheets("Quotation").Select
> Range("qdata1").Select
> Dim vbCom As Object
>
> Call logquote
>
> Range("A1:F1").Select
> ' Application.ScreenUpdating = True
>
> On Error Resume Next
>
> Set vbCom = ActiveWorkbook.VBProject.VBComponents
>
> vbCom.Remove VBComponent:= _
> vbCom.Item("Module3")
>
> vbCom.Remove VBComponent:= _
> vbCom.Item("Module4")
>
> On Error GoTo 0
>
> End Sub
>
> ----------------------------------------------------------------------
>
> MODULE4
> ----------------------------------------------------------------------
> Sub NoDVinputMsg()
> Dim rng As Range, cel As Range
> Set rng = Nothing ' only if rng previously set
> On Error Resume Next
> Set rng = ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllValidation)
> If Not rng Is Nothing Then
> bDummy = rng.Validation.ShowInput
> If Err.Number = 0 Then
> ' all same type, no need to loop
> With rng.Validation
> .InputTitle = ""
> .InputMessage = ""
> End With
> Else
> On Error GoTo 0
> For Each cel In rng
> With cel.Validation
> .InputTitle = ""
> .InputMessage = ""
> End With
> Next
> End If
> End If
> End Sub
> Sub logquote()
> '
> ' logquote Macro
> ' Macro recorded 15/06/2007 by Sharon
> '
>
> '
> Dim ThisWorkBook As String
> Dim SheetName As String
> Dim MyRanges(7) As String
> Dim EmptyRow As Integer
> Dim a As Integer 'to cyle through ranges
>
> ThisWorkBook = ActiveWorkbook.Name
> SheetName = ActiveSheet.Name
>
> MyRanges(1) = "qdata1"
> MyRanges(2) = "qdata2"
> MyRanges(3) = "qdata3"
> MyRanges(4) = "qdata4"
> MyRanges(5) = "qdata5"
> MyRanges(6) = "qdata6"
> MyRanges(7) = "qdata7"
>
> Workbooks.Open Filename:= _
> "\\Impactsrv\shared\Templates\Quotes\Quote_Log.xls"
> Workbooks("Quote_Log.xls").Activate
>
> With Workbooks("Quote_Log.xls")
> .Sheets("Quotes").Activate
>
> With ActiveSheet
>
> 'find empty row
> EmptyRow = 0
> Do
> EmptyRow = EmptyRow + 1
> Loop Until IsEmpty(.Cells(EmptyRow, 1))
>
> .Cells(EmptyRow, 1) = Date
>
> 'fill in other columns from named ranges
> For a = 1 To UBound(MyRanges)
> .Cells(EmptyRow, a + 1) = _
> Workbooks(ThisWorkBook).Sheets(SheetName).Range(MyRanges(a))
> Next a
>
> End With
>
> 'save and close workbook
> .Save
> .Close
> End With
>
> 'activate back to where you started
> Workbooks(ThisWorkBook).Activate
>
> End Sub
> ----------------------------------------------------------------------
>
> "Dave Peterson" wrote:
>
> > Do you see the dotted lines from printing or print previewing?
> >
> > If you do and you turn them off
> > Tools|Options|View tab|uncheck pagebreaks
> >
> > Does your code run faster?
> >
> > If it does, then turn off that setting in your code (record a macro to see the
> > syntax).
> >
> > ===
> > Do you have any event macros running when you make a change to any cell in that
> > sheet?
> >
> > If you do, turn off macros before you delete that column.
> >
> > application.enableevents = false
> > Columns("E").Delete Shift:=xlToLeft
> > application.enableevents = true
> >
> > You could be processing 64k (or 1M cells) for each deletion.
> >
> > Code Numpty wrote:
> > >
> > > I have a file that runs a macro to tidy up a file and remove confidential
> > > information and lookups. The macro is taking more than 5 minutes to run. When
> > > I use F8 in debug the line of code that seems to be taking the time is this.
> > > -------------------------------------------------------------------------
> > > Columns("E").Delete Shift:=xlToLeft
> > > -------------------------------------------------------------------------
> > > I am wondering if this is because the range A1;F1 is merged into one cell.
> > >
> > > If this is the case, can anyone offer any solution to this problem?
> >
> > --
> >
> > Dave Peterson
> >

--

Dave Peterson

Code Numpty

10/2/2008 9:29:00 AM

0

Hi Dave,

Only 9 cells have data validation and only in the form of an input message
when the cell is selected, nothing else.

If I try to clear data from column E first I get a problem because there are
5 merged cells in that column. I didn't want to have to unmerge and then
merge them again vecause it would add unneccessary processing to the macro.

"Dave Peterson" wrote:

> Just a guess...
>
> If you test your macro against a workbook/worksheet that doesn't use
> data|validation, does it work faster?
>
> If it does, maybe you could try clearing column E first, then deleting it. It
> might work if all your data|validation formulas don't have to reevaluate????
>

Dave Peterson

10/2/2008 12:23:00 PM

0

I don't have any more guesses.

But you may want to test with the cells unmerged. If it works quickly, maybe
your code will work faster if you remove the merged cells, delete the column and
merge the cells.

(I would guess that this wouldn't help, but it may be worth a small test.)

Code Numpty wrote:
>
> Hi Dave,
>
> Only 9 cells have data validation and only in the form of an input message
> when the cell is selected, nothing else.
>
> If I try to clear data from column E first I get a problem because there are
> 5 merged cells in that column. I didn't want to have to unmerge and then
> merge them again vecause it would add unneccessary processing to the macro.
>
> "Dave Peterson" wrote:
>
> > Just a guess...
> >
> > If you test your macro against a workbook/worksheet that doesn't use
> > data|validation, does it work faster?
> >
> > If it does, maybe you could try clearing column E first, then deleting it. It
> > might work if all your data|validation formulas don't have to reevaluate????
> >

--

Dave Peterson

Code Numpty

10/2/2008 2:15:00 PM

0



"Dave Peterson" wrote:

> I don't have any more guesses.
>
> But you may want to test with the cells unmerged. If it works quickly, maybe
> your code will work faster if you remove the merged cells, delete the column and
> merge the cells.
>
> (I would guess that this wouldn't help, but it may be worth a small test.)
>
Tried that. I am stumped.