[Lazarus] Fatal [Error]: Can't find unit URIParser used by XMLRead

Peter Williams pewtas at gmail.com
Fri Jul 25 03:52:04 CEST 2008


Hi Mattias and All Others,

2008/7/25 Mattias Gaertner <nc-gaertnma at netcologne.de>:

> On Fri, 25 Jul 2008 09:05:24 +1000
> "Peter Williams" <pewtas at gmail.com> wrote:
>
> > Hello All Lazarus Users,
> >
> > I'm getting a very odd error message when I try to build the following
> > simple project.
> >
> > Error message:
> >
> > do_the_macarena.lpr(1,1) Fatal: Can't find unit URIParser used by
> > XMLRead
>
> http://wiki.lazarus.freepascal.org/Unit_not_found_-_How_to_find_units
>

I used the search app of my Linux Kubuntu OS and found that the 'missing
unit' actually exists TWICE on my system. However I don't understand what
setting I need to change to make Lazarus (or Free Pascal Compiler) find a
copy of the unit. Please help me if you can.

/usr/share/fpcsrc/packages/base/netdb/uriparser.pp
/usr/share/fpcsrc/utils/fppkg/fcl20/uriparser.pp

Also, it is mystery to me why Lazarus (or FPC) even wants these units, as
I'm not parsing anything nor creating XML files.

Finally, can someone who is responsible for the Free Pascal Compiler please
delete one of the copies of "uriparser.pp" -- since I believe that it is
wrong for it to be included twice... once should be enough. Also, having the
file twice increases the possibility of errors ('cos you don't know which
copy will be used).

I *DID READ* the URL page listed above... and with all due respect it is the
biggest load of gibberish that I've read in a long time!!! For example, it
[the article] asks me to determine whether or not Free Pascal Compiler or
Lazarus can find the missing unit -- without telling me how to find out!
*THIS IS EXTREMELY FRUSTRATING !!!!*

Hopefully looking forward to some help. Thanks in advance. *SMILE*

Fond Regards,
             PEW


>
> Mattias
>
>
>
> >
> > ----- file "do_the_macarena.lpr "
> > program do_the_macarena;
> >
> > {$mode objfpc}{$H+}
> >
> > uses
> >   {$IFDEF UNIX}{$IFDEF UseCThreads}
> >   cthreads,
> >   {$ENDIF}{$ENDIF}
> >   Interfaces, // this includes the LCL widgetset
> >   Forms
> >   { you can add units after this }, Unit1;
> >
> > begin
> >   Application.Initialize;
> >   Application.CreateForm(TForm1, Form1);
> >   Application.Run;
> > end.
> > ------- end of lpr file.
> >
> > ------ file "unit1.pas"
> > unit Unit1;
> >
> > {$mode objfpc}{$H+}
> >
> > interface
> >
> > uses
> >   Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs,
> > StdCtrls,
> >   ExtCtrls;
> >
> > type
> >
> >   { TForm1 }
> >
> >   TForm1 = class(TForm)
> >     Edit1: TEdit;
> >     Label1: TLabel;
> >     Label2: TLabel;
> >     Timer1: TTimer;
> >     procedure Edit1KeyUp(Sender: TObject; var Key: Word; Shift:
> > TShiftState);
> >     procedure FormCreate(Sender: TObject);
> >     procedure Timer1Timer(Sender: TObject);
> >   private
> >     { private declarations }
> >   public
> >     { public declarations }
> >   end;
> >
> > var
> >   Form1: TForm1;
> >
> > Type
> >   STR03 = STRING[3];
> > Const
> >   MaxIndex = 16;
> >   Dance : array[1..3,1..MaxIndex] of STR03 =
> >     ((' o ', ' o ', ' o ', ' o ', ' o ', ' o ', '<o ', '<o>', ' o>',
> > ' o ', ' o ', ' o ', ' o ', ' o ', ' o ', ' o '),
> >      ('^|\', '^|^', 'v|^', 'v|v', '|/v', '|X|', ' \|', ' | ', ' \ ',
> > ' x ', '</ ', '<|>', '</>', '<\>', '<)>', ' |\'),
> >      (' /\', ' >\', '/< ', ' >\', '/< ', ' >\', '/< ', ' >\', '/< ',
> > ' >\', '/< ', ' >\', '/< ', ' >\', ' >>', ' L '));
> > Var
> >   Index : integer;
> >   Edit1_Increment : integer;
> >
> > implementation
> >
> > { TForm1 }
> >
> > procedure TForm1.FormCreate(Sender: TObject);
> > begin
> >   Timer1.enabled := false;
> >   Form1.Caption := 'Mr Ascii dancing Macarena...';
> >   Edit1_Increment := 10;
> >   // start at 200msec delay
> >   Timer1.Interval := 200;
> >   try
> >     Edit1.Text := InttoStr(Timer1.Interval);
> >   except
> >     showmessage( 'Sorry... not a valid integer');
> >   end;
> >   Index := 1;
> >   Timer1.enabled := true;
> > end;
> > {----------------------------------------------------------------}
> >
> > procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift:
> > TShiftState);
> > begin
> >   Timer1.Interval := StrtoIntDef(Edit1.Text,1) +
> >   Edit1_Increment
> > end;
> > {----------------------------------------------------------------}
> >
> > procedure TForm1.Timer1Timer(Sender: TObject);
> > begin
> >   Timer1.enabled := false;
> >   Label1.Caption := Dance[ 1,index ] + #13 +
> >                     Dance[ 2,index ] + #13 +
> >                     Dance[ 3,index ];
> >   index := (index mod MaxIndex) + 1;
> >   Timer1.enabled := true;
> > end;
> > {----------------------------------------------------------------}
> >
> > initialization
> >   {$I unit1.lrs}
> >
> > end.
> > ----- end of file "unit1"
> >
> _______________________________________________
> Lazarus mailing list
> Lazarus at lazarus.freepascal.org
> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
>



-- 
Fond Regards,
Peter Eric (aka 'pew') WILLIAMS

My free website is:
http://pewtas.googlepages.com (or) http://tinyurl.com/yuyejs

(please visit my free website and let me know what you think about it.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20080725/ab748a42/attachment-0007.html>


More information about the Lazarus mailing list