View Issue Details

IDProjectCategoryView StatusLast Update
0019604LazarusIDEpublic2011-10-14 20:48
ReporterMax Vlasov Assigned ToVincent Snijders  
Status resolvedResolutionno change required 
Product Version0.9.31 (SVN) 
Summary0019604: No user components are installed if "configure build lazarus" options contains tailing folder separator
Descriptionif one wants to use additional options for fpc and fills "additional options" field inside "configure build lazarus" dialog and this line contains tailing directory separator ("\" for windows), no user packages will be installed (no user components visible)

(appeared on the windows version of lazarus, but linux version may also be affected, I just can not confirm this right now)
Additional InformationSteps to reproduce:
1. Install some additional (non-bundled) packages so the user components are visible

2. Go to the "configure build lazarus" dialog and add the following line
(it doesn't matter whether "C:\Src\AnySubFolder\" should exist on the computer or not)

3. Rebuild lazarus (Build Lazarus menu)

Intermediate result: no user components installed on the step 1 visible in the palette. The palette contains only bundled lazarus components/pages

4. Return to the "configure build lazarus" dialog, delete tailing \, the line should look like this

5. Rebuild lazarus

Result: the user components are visible again.
TagsNo tags attached.
Fixed in Revision
Attached Files


Mattias Gaertner

2011-06-21 16:06

manager   ~0049263

It works under Linux. For example: -Fu/bla

Mattias Gaertner

2011-06-21 16:08

manager   ~0049264

Please attach the file idemake.cfg of your primary config directory (if you don't know, see View / IDE Internals / About IDE).

2011-06-21 23:55


idemake.cfg (686 bytes)

Max Vlasov

2011-06-21 23:56

reporter   ~0049270

Mattias, I attached idemake.cfg. As for your example, I can't see tailing separator in your quote, so I'm not sure but a probable problem option should look like "-Fu/bla/"

Max Vlasov

2011-06-21 23:57

reporter   ~0049271

Btw, as for idemake.cfg I sent, it is from successful compile when there was no tailing separator. Do you need the case when the problem is appearing?

Mattias Gaertner

2011-06-22 01:15

manager   ~0049272

Under Linux a -Fu/bla/ works.
As far as I know FPC interprets a backslash \ followed by a space as a special character.
Custom options are passed by Lazarus unaltered (except for special characters #0..0000031), so that you have full control what to pass.

Maybe you misunderstand a FPC feature?

Max Vlasov

2011-06-22 06:26

reporter   ~0049276

Actually I wanted to ask about some options in the list, but here let's assume I have to use -Fl and -Fo when I pass the paths when fpc should search for my .o and .a files (for example custom build sqlite library to be statically linked). So my full line looked like -Fl{path} -Fo{path} -Fl{path} etc and when this full line occasionally ended with \ (folder paths may end with \ on windows, it's not a crime I suppose :) no my components were installed afterward.

I don't think it's a big problem, but I think that some of cases like mine (when user reported about packages staying with + sign to be installed on the next start forever) might be related to this issue. I had to rebuild Lazarus about couple of dozens time before narrowed to this "\" thing.

Mattias Gaertner

2011-06-22 09:38

manager   ~0049279

If your special files are in the directory of a package, you should add the search path to the package. See here

The IDE will then automatically adjust the path.

Max Vlasov

2011-06-22 11:16

reporter   ~0049285

That was my problem, IDE didn't adopted library path from the package ("warning no {name}.a found, linking may fail" error if I didn't use -Fl explicitly)

Mattias Gaertner

2011-06-22 11:46

manager   ~0049291

What do you mean with "IDE didn't adopted library path from the package"?
What is the library path in your package?
package editor / options / package options / usage / library?

Max Vlasov

2011-06-22 13:19

reporter   ~0049294

Hmm, thanks for pointing me to the right direction, now everything compiles without additional options. I used only Compiler-Paths before so in this case for general project I had to copy -Fl paths to the project options and use this strange trick for Lazarus build.

Just curious, the existence of Compiler-Paths-Library(-Fl) path really necessary for package? I suppose currently there's no such thing as self-compiling to a package binary, so I can not understand where this option is really used. Usage-Library looks like more consistent place for everything related to library linking. If not disable, maybe add little hint near this option mentioning Usage-Library as a preferred place?

As for original report, even if there's something, it is very unlikely it can affect anyone except me with my scenarios :)

Thank you

Mattias Gaertner

2011-06-22 13:53

manager   ~0049296

A Lazarus package can contain/create libraries too.
A package can also be used to collect all shared settings for your projects.

Issue History

Date Modified Username Field Change
2011-06-21 15:58 Max Vlasov New Issue
2011-06-21 15:58 Max Vlasov Widgetset => Win32/Win64
2011-06-21 16:06 Mattias Gaertner Note Added: 0049263
2011-06-21 16:08 Mattias Gaertner Note Added: 0049264
2011-06-21 23:55 Max Vlasov File Added: idemake.cfg
2011-06-21 23:56 Max Vlasov Note Added: 0049270
2011-06-21 23:57 Max Vlasov Note Added: 0049271
2011-06-22 01:15 Mattias Gaertner Note Added: 0049272
2011-06-22 06:26 Max Vlasov Note Added: 0049276
2011-06-22 09:38 Mattias Gaertner Note Added: 0049279
2011-06-22 11:16 Max Vlasov Note Added: 0049285
2011-06-22 11:46 Mattias Gaertner Note Added: 0049291
2011-06-22 13:19 Max Vlasov Note Added: 0049294
2011-06-22 13:53 Mattias Gaertner Note Added: 0049296
2011-10-14 20:48 Vincent Snijders LazTarget => -
2011-10-14 20:48 Vincent Snijders Status new => resolved
2011-10-14 20:48 Vincent Snijders Resolution open => no change required
2011-10-14 20:48 Vincent Snijders Assigned To => Vincent Snijders