Sign in Join

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

Mailing lists / lazarus / 2013-06

Package cannot be installed

10 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

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

Juha Manninen

A question:
why can't I install the attached package?
It has only one component and it compiles OK.
I don't see any difference with other packages which are OK.

This package is not even converted. It is created with "New Package..." and one unit file was added. I even commented out a .dcr resource to make sure it does not create problems.

The error is:
(0,0) Fatal: Can not find DigitLed used by LedNew, ppu=../../ConvertTest/LedNew/lib/x86_64-linux/Digitled.ppu, package LedNew

This is annoying I must say...

Juha
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LedNew.tar.gz
Type: application/x-gzip
Size: 3942 bytes
Desc: not available
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20130607/5978168e/attachment.bin>

Reply by email

patspiper
to Juha Manninen
Juha Manninen wrote 13 lines
A question: why can't I install the attached package? It has only one component and it compiles OK. I don't see any difference with other packages which are OK. This package is not even converted. It is created with "New Package..." and one unit file was added. I even commented out a .dcr resource to make sure it does not create problems. The error is: (0,0) Fatal: Can not find DigitLed used by LedNew, ppu=../../ConvertTest/LedNew/lib/x86_64-linux/Digitled.ppu, package LedNew

Renaming the unit to Digitled works. Hence the problem seems to manifest itself when the unit name and source file name are mixed case and use different case.

Stephano

Reply by email

Mattias Gaertner
to Juha Manninen: A question: why can't I install the attached package? It has only one component and it…
Show quoted text 15 lines
A question: why can't I install the attached package? It has only one component and it compiles OK. I don't see any difference with other packages which are OK. This package is not even converted. It is created with "New Package..." and one unit file was added. I even commented out a .dcr resource to make sure it does not create problems. The error is: (0,0) Fatal: Can not find DigitLed used by LedNew, ppu=../../ConvertTest/LedNew/lib/x86_64-linux/Digitled.ppu, package LedNew This is annoying I must say...

That's probably related to the bug I fixed in 41579. Please test.

Mattias

Reply by email

Mattias Gaertner
to patspiper: Renaming the unit to Digitled works. Hence the problem seems to manifest itself when the…
Show quoted text 17 lines
On 07/06/13 14:48, Juha Manninen wrote: > A question: > why can't I install the attached package? > It has only one component and it compiles OK. > I don't see any difference with other packages which are OK. > > This package is not even converted. It is created with "New > Package..." and one unit file was added. I even commented out a .dcr > resource to make sure it does not create problems. > > The error is: > (0,0) Fatal: Can not find DigitLed used by LedNew, > ppu=../../ConvertTest/LedNew/lib/x86_64-linux/Digitled.ppu, package > LedNew Renaming the unit to Digitled works. Hence the problem seems to manifest itself when the unit name and source file name are mixed case and use different case.

He is right. Forget my last mail about 41579.

Mattias

Reply by email

Mattias Gaertner
to Juha Manninen: A question: why can't I install the attached package? It has only one component and it…
Show quoted text 15 lines
A question: why can't I install the attached package? It has only one component and it compiles OK. I don't see any difference with other packages which are OK. This package is not even converted. It is created with "New Package..." and one unit file was added. I even commented out a .dcr resource to make sure it does not create problems. The error is: (0,0) Fatal: Can not find DigitLed used by LedNew, ppu=../../ConvertTest/LedNew/lib/x86_64-linux/Digitled.ppu, package LedNew This is annoying I must say...

The IDE now automatically fixes the unit names.

Mattias

Reply by email

Mattias Gaertner
to Mattias Gaertner
Show quoted text 20 lines
On Fri, 7 Jun 2013 14:48:37 +0300 Juha Manninen wrote: > A question: > why can't I install the attached package? > It has only one component and it compiles OK. > I don't see any difference with other packages which are OK. > > This package is not even converted. It is created with "New > Package..." and one unit file was added. I even commented out a .dcr > resource to make sure it does not create problems. > > The error is: > (0,0) Fatal: Can not find DigitLed used by LedNew, > ppu=../../ConvertTest/LedNew/lib/x86_64-linux/Digitled.ppu, package > LedNew > > This is annoying I must say... The IDE now automatically fixes the unit names.

... which does not entirely fix the problem.

The unit file is Digitled.pas, the package uses it as Digitled, the compiler creates the file Digitled.ppu and Digitled.o. And still the compiler writes the source name DigitLed to the lednew.ppu.
Sounds like a compiler bug. It should either reject Digitled on case sensitive systems (which might be wrong) or write the file name to the ppu instead of the source name.

Mattias

Reply by email

waldo kitty
to Juha Manninen: A question: why can't I install the attached package? It has only one component and it…
Juha Manninen wrote
The error is: (0,0) Fatal: Can not find DigitLed used by LedNew, ppu=../../ConvertTest/LedNew/lib/x86_64-linux/Digitled.ppu, package LedNew

i recall seeing the delphi convertor specifically adjusting the case of unit names to match what they were on the drive... it would seem that this has bitten you this time as DigitalLed is not the same as Digitalled ;)

This is annoying I must say...

and it can be frustrating... especially when one teensy little character throws it weight around and breaks things O:)

NOTE: No off-list assistance is given without prior approval. Please keep mailing list traffic on the list unless private contact is specifically requested and granted.

Reply by email

Juha Manninen
to waldo kitty
waldo kitty wrote
i recall seeing the delphi convertor specifically adjusting the case of unit names to match what they were on the drive... it would seem that this has bitten you this time as DigitalLed is not the same as Digitalled ;)

Yes, it works in most situations but not when converting a package and adding files there.
The package conversion was broken but I got it fixed mostly. I must continue with it now.

Manually adding files to a package may have problems also in future if there is the compiler issue.

Thanks for all the answers from you and Mattias.

Regards,
Juha

Reply by email

Juha Manninen
to Juha Manninen

In fact there was no conversion to fix a unit's name until now. I implemented it and now the package in issue #24545 converts and installs without problems.

The char casing of a unit's name usually follows the file's name, or the file's name is all lowercase. In both cases the files are always found.
This was the first time I saw the char casing being different, but the file not being lowercase.
Now it is fixed for all units, not only for units in packages.

Char casing was already fixed for unit names in uses section. That is another thing.

See my note in issue :
http://bugs.freepascal.org/view.php?id=24545
I don't believe the package was OK even in Delphi. Now it converts and install well after you move the files into one directory.

The converter, and especially package conversion, was improved a lot. Please test everybody.

Juha

Reply by email

patspiper
to Juha Manninen
Juha Manninen wrote 20 lines
In fact there was no conversion to fix a unit's name until now. I implemented it and now the package in issue #24545 converts and installs without problems. The char casing of a unit's name usually follows the file's name, or the file's name is all lowercase. In both cases the files are always found. This was the first time I saw the char casing being different, but the file not being lowercase. Now it is fixed for all units, not only for units in packages. Char casing was already fixed for unit names in uses section. That is another thing. See my note in issue : http://bugs.freepascal.org/view.php?id=24545 I don't believe the package was OK even in Delphi. Now it converts and install well after you move the files into one directory. The converter, and especially package conversion, was improved a lot.

It did indeed.

Please test everybody.

It converts fine now. Bug report closed.

However, if any unit file is not found, maybe the converter should give an error?

Stephano

Reply by email