Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2003-11

Package requirements - cant find file

9 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Tony Maro

I'm sure this has something to do with how long I've been working with this particular package, and not fully comprehending (at the time of creation) the requirements, etc. So I've likely screwed something up.

I've set up a separate "includes" directory underneath my package directory, taking a clue from the way Lazarus is organized. It's one of the .inc files that is complaining. It can't find one of the files in the main package directory.

The package itself compiles fine - it's only failing on install. It doesn't fail at the USES line of the main file, but fails inside the included file, at no specific line of code. The error states: "/home/tony/lazarus/chktransactions.inc(1,8) Fatal: Can't compile unit USTRINGLIST, no sources available"

That's not the correct path for the file in question. In fact, there is no such file at that path. The actual path is
"/home/tony/Projects/cbtracker/cbtpack/include/chktransactions.inc"

I've attached the lpk file gzipped.

Thanks,

Tony

-------------- next part --------------
A non-text attachment was scrubbed...
Name: bin00078.bin
Type: application/octet-stream
Size: 1108 bytes
Desc: "cbtpack.lpk.gz"
Url : http://localhost/pipermail/lazarus/attachments/20031102/7f22da05/bin00078.bin

Reply by email

Mattias Gaertner
to Tony Maro
Show quoted text 18 lines
I'm sure this has something to do with how long I've been working with this particular package, and not fully comprehending (at the time of creation) the requirements, etc. So I've likely screwed something up. I've set up a separate "includes" directory underneath my package directory, taking a clue from the way Lazarus is organized. It's one of the .inc files that is complaining. It can't find one of the files in the main package directory. The package itself compiles fine - it's only failing on install. It doesn't fail at the USES line of the main file, but fails inside the included file, at no specific line of code. The error states: "/home/tony/lazarus/chktransactions.inc(1,8) Fatal: Can't compile unit USTRINGLIST, no sources available" That's not the correct path for the file in question. In fact, there is no such file at that path. The actual path is "/home/tony/Projects/cbtracker/cbtpack/include/chktransactions.inc"

That's probably a bug in the outputfilter. But without the code in question, I'm not sure where to start searching.

I've attached the lpk file gzipped.

The usage options don't need the lib, inc and obj paths. Normally only the unit path needs the $(PkgOutDir) macro.

Mattias

Reply by email

Tony Maro
to Tony Maro: I'm sure this has something to do with how long I've been working with this particular…
Mattias Gaertner wrote 32 lines
On Sun, 02 Nov 2003 11:11:30 -0600 Tony Maro wrote: >The package itself compiles fine - it's only failing on install. It >doesn't fail at the USES line of the main file, but fails inside the >included file, at no specific line of code. The error states: >"/home/tony/lazarus/chktransactions.inc(1,8) Fatal: Can't compile unit >USTRINGLIST, no sources available" > >That's not the correct path for the file in question. In fact, there is >no such file at that path. The actual path is >"/home/tony/Projects/cbtracker/cbtpack/include/chktransactions.inc" > > That's probably a bug in the outputfilter. But without the code in question, I'm not sure where to start searching. >I've attached the lpk file gzipped. > > The usage options don't need the lib, inc and obj paths. Normally only the unit path needs the $(PkgOutDir) macro.

I think I've had mail problems lately. This is old, and I think I also sent a report of the solution.

The above happened because two different packages had a file with the same name in it.

-Tony

Reply by email

Tony Maro
to Tony Maro: I've turned abiguous checking to overwrite without prompting. This might be why #2. I'll…
Tony Maro wrote 23 lines
>-----Original Message----- >From: Mattias Gaertner > >You spotted three different bugs (or better: ToDos): >- the outputfilter expanded an include file wrong (here I >need your help) >- the IDE didn't check for ambigious units when compiling itself >(implemented) >- the IDE does not check for ambigious package files, when >combining packages (ToDo) > > > I've turned abiguous checking to overwrite without prompting. This might be why #2. I'll see what debug output I can get on #1. Thanks, Tony

Well as usual, I can't exactly reproduce this. I put the offending file back into the package and tried to force the crash but it wouldn't. So I thought I'd go back to the CBT1 package that it originally happened with and discovered something different.

I have a package called "cbtpack" with a version set to 1.0 in /Projects/cbtracker/cbtpack/

I have another called "cbtpack" with a version set to 2.0 in /Projects/cbt2/cbtpack/

I uninstalled the 2.0 package, rebuilt lazarus, closed and restarted. I then compiled clean and installed the 1.0 package, rebuilt and restarted. No problems.

So, now I want to go back to the 2.0 package so I uninstall 1.0, rebuilt lazarus and restarted. I open the 2.0 package, compile clean and install, rebuild Lazarus no problem.

Restart Lazarus and I get a messagebox "Package cbtpack 1.0" unit name "cbtobjects" unit not found "cbtobjects".

cbtpack 1.0 doesn't contain cbtobjects, that was new in 2.0. The console output from Lazarus is useless and doesn't reference the error.

The package graph tree after the error shows that cbtpack 1.0 is installed, and all of the 1.0 package components are in the palette.

-Tony

Reply by email

Tony Maro
to Mattias Gaertner: On Sat, 15 Nov 2003 13:22:28 -0600 You spotted three different bugs (or better: ToDos): -…
Show quoted text 11 lines
-----Original Message----- From: Mattias Gaertner You spotted three different bugs (or better: ToDos): - the outputfilter expanded an include file wrong (here I need your help) - the IDE didn't check for ambigious units when compiling itself (implemented) - the IDE does not check for ambigious package files, when combining packages (ToDo)

I've turned abiguous checking to overwrite without prompting. This might be why #2.

I'll see what debug output I can get on #1.

Thanks,
Tony

Reply by email

Mattias Gaertner
to Tony Maro: I'm sure this has something to do with how long I've been working with this particular…
Show quoted text 40 lines
Mattias Gaertner wrote: >On Sun, 02 Nov 2003 11:11:30 -0600 >Tony Maro wrote: > > > >>The package itself compiles fine - it's only failing on install. It >>doesn't fail at the USES line of the main file, but fails inside the >>included file, at no specific line of code. The error states: >>"/home/tony/lazarus/chktransactions.inc(1,8) Fatal: Can't compile unit >>USTRINGLIST, no sources available" >> >>That's not the correct path for the file in question. In fact, there is > >>no such file at that path. The actual path is >>"/home/tony/Projects/cbtracker/cbtpack/include/chktransactions.inc" >> >> > >That's probably a bug in the outputfilter. But without the code in >question, I'm not sure where to start searching. > > > > >>I've attached the lpk file gzipped. >> >> > >The usage options don't need the lib, inc and obj paths. Normally only >the unit path needs the $(PkgOutDir) macro. > > > I think I've had mail problems lately. This is old, and I think I also sent a report of the solution. The above happened because two different packages had a file with the same name in it.

You spotted three different bugs (or better: ToDos):
- the outputfilter expanded an include file wrong (here I need your help)
- the IDE didn't check for ambigious units when compiling itself (implemented)
- the IDE does not check for ambigious package files, when combining packages (ToDo)

Mattias

Reply by email

Tony Maro
to Tony Maro: I've turned abiguous checking to overwrite without prompting. This might be why #2. I'll…
Tony Maro wrote 29 lines
Well as usual, I can't exactly reproduce this. I put the offending file back into the package and tried to force the crash but it wouldn't. So I thought I'd go back to the CBT1 package that it originally happened with and discovered something different. I have a package called "cbtpack" with a version set to 1.0 in /Projects/cbtracker/cbtpack/ I have another called "cbtpack" with a version set to 2.0 in /Projects/cbt2/cbtpack/ I uninstalled the 2.0 package, rebuilt lazarus, closed and restarted. I then compiled clean and installed the 1.0 package, rebuilt and restarted. No problems. So, now I want to go back to the 2.0 package so I uninstall 1.0, rebuilt lazarus and restarted. I open the 2.0 package, compile clean and install, rebuild Lazarus no problem. Restart Lazarus and I get a messagebox "Package cbtpack 1.0" unit name "cbtobjects" unit not found "cbtobjects". cbtpack 1.0 doesn't contain cbtobjects, that was new in 2.0. The console output from Lazarus is useless and doesn't reference the error. The package graph tree after the error shows that cbtpack 1.0 is installed, and all of the 1.0 package components are in the palette. -Tony

I finally was able to compile the 2.0 package back in, but had to rename the directory the 1.0 package was located in before it would work.

-Tony

Reply by email

Mattias Gaertner
to Tony Maro: I've turned abiguous checking to overwrite without prompting. This might be why #2. I'll…
Show quoted text 46 lines
Tony Maro wrote: >>-----Original Message----- >>From: Mattias Gaertner >> >>You spotted three different bugs (or better: ToDos): >>- the outputfilter expanded an include file wrong (here I >>need your help) >>- the IDE didn't check for ambigious units when compiling itself >>(implemented) >>- the IDE does not check for ambigious package files, when >>combining packages (ToDo) >> >> >> > >I've turned abiguous checking to overwrite without prompting. This >might be why #2. > >I'll see what debug output I can get on #1. > >Thanks, >Tony > > Well as usual, I can't exactly reproduce this. I put the offending file back into the package and tried to force the crash but it wouldn't. So I thought I'd go back to the CBT1 package that it originally happened with and discovered something different. I have a package called "cbtpack" with a version set to 1.0 in /Projects/cbtracker/cbtpack/ I have another called "cbtpack" with a version set to 2.0 in /Projects/cbt2/cbtpack/ I uninstalled the 2.0 package, rebuilt lazarus, closed and restarted. I then compiled clean and installed the 1.0 package, rebuilt and restarted. No problems. So, now I want to go back to the 2.0 package so I uninstall 1.0, rebuilt lazarus and restarted. I open the 2.0 package, compile clean and install, rebuild Lazarus no problem. Restart Lazarus and I get a messagebox "Package cbtpack 1.0" unit name "cbtobjects" unit not found "cbtobjects".

This means, the unit is registering, but does not exist in the lpk file.

cbtpack 1.0 doesn't contain cbtobjects, that was new in 2.0. The console output from Lazarus is useless and doesn't reference the error.

This means the IDE opened the 1.0 lpk file, instead of the 2.0 lpk file on start. Sounds, as if the package links failed to save.

The package graph tree after the error shows that cbtpack 1.0 is installed, and all of the 1.0 package components are in the palette.

Hmm, maybe RegisterPackage needs to extended with a version number.

Mattias

Reply by email