Recent

Author Topic: Who is Indy mattias?  (Read 2408 times)

jollytall

  • Sr. Member
  • ****
  • Posts: 376
Who is Indy mattias?
« on: April 19, 2024, 08:26:24 am »
I have just installed first the OnlinePackageManager and then from there I installed indylaz. I added it as a requirement to my project and tried to compile a program that worked before I totally reinstalled Lazarus. Now I get many errors, like

Error: /home/mattias/tmp/lazarus-project3.0.0/lazarus-project-build/usr/share/lazarus/3.0.0/lcl/comctrls.pp... and specific details.
and a lot of Liner warnings.

Is it possible that in the package the developer's folder remained as a hard coded name, or I do something wrong?

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4546
  • I like bugs.
Re: Who is Indy mattias?
« Reply #1 on: April 19, 2024, 10:25:55 am »
What is the exact error message?
Mattias Gärtner has built the release packages of Lazarus for Linux and MacOS. His home path must be left somewhere although I don't know how it can affect the compilation of your project.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

jollytall

  • Sr. Member
  • ****
  • Posts: 376
Re: Who is Indy mattias?
« Reply #2 on: April 19, 2024, 11:01:45 am »
The error messages are as said above. I made a screenshot of the first errors:

What I also tried is another project that compiles just OK (and does not use any networking, indy or other). Then I add in the Project Inspector the freshly downloaded indylaz to the Required Packages (no unit mentioned explicitly) and I get the 73 error pairs like the ones on the screenshot and obviously a 74th error "Error while linking". If I remove it as a required package then my project (the one without networking) compiles again.
In my networking project, I cannot remove the required package because then the units are not found.

paweld

  • Hero Member
  • *****
  • Posts: 1278
Re: Who is Indy mattias?
« Reply #3 on: April 19, 2024, 12:58:14 pm »
Add the Interfaces unit to uses section
Best regards / Pozdrawiam
paweld

jollytall

  • Sr. Member
  • ****
  • Posts: 376
Re: Who is Indy mattias?
« Reply #4 on: April 19, 2024, 02:27:19 pm »
Thanks, it is like magic. It works.

However, I still do not understand:
- How mattias is hardcoded in so many places?
- How could it work in the past with - I guess the same - Indy10 without adding Interfaces?
What is Interfaces, anyway? Why I never met it before?

Thanks.


jollytall

  • Sr. Member
  • ****
  • Posts: 376
Re: Who is Indy mattias?
« Reply #5 on: April 19, 2024, 02:54:16 pm »
I have just checked the executable (under Linux I am). It was 3.5MB, now it is 13.2MB and I changed nothing. Can it be because of the Interfaces added?

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 10703
  • Debugger - SynEdit - and more
    • wiki
Re: Who is Indy mattias?
« Reply #6 on: April 19, 2024, 03:10:11 pm »
However, I still do not understand:
- How mattias is hardcoded in so many places?

I don't know why ld (the linker) gives source (pp/pas) filenames. Linkers work with .o files only. But I guess the linker just looks up the source name for the user convenience. If so, the linker may actually get that from debug info.

I do know that fpc puts source filenames into debug info. (Maybe it also puts them in other places for the linker).
In the debug info fpc stores:
- the full/absolute path to the source file
- the relative path (relative to either package or project)

When you debug later, then the IDE falls back to the relative path (unless you have files in the location given by the absolute path / e.g. source from your own project).


Mattias builds the installers for Linux.  He needs to build/compile the files for it, and that needs to be somewhere on his disk.... And that ends up in debug info. (The windows builds also have the path where the files were compiled for the installer).

And well, couldn't those files be build in the location they are most likely going to be installed?
Better, not. Apart from this may differ by Linux distro, if a user has more than one installation, one in the default location, and another some place else, then the latter would also point to the default location... not good.

jollytall

  • Sr. Member
  • ****
  • Posts: 376
Re: Who is Indy mattias?
« Reply #7 on: April 19, 2024, 03:34:56 pm »
Thanks, that is clear.
But I have another problem. I compiled and got the large executable I mentioned above, but now it does not run on the server where I want to run it, because a file /lib/x86_64-linux-gnu/libc.so.6: version GLIB_2.34 not found.
Again, this program did compile and run before. I changed one cosmetic line, and now without uses Interfaces it does not compile and with it, it is huge and does not run.
What can be wrong?

paweld

  • Hero Member
  • *****
  • Posts: 1278
Re: Who is Indy mattias?
« Reply #8 on: April 19, 2024, 04:17:53 pm »
Quote from: jollytall
/lib/x86_64-linux-gnu/libc.so.6: version GLIB_2.34 not found.
you may find a solution here: https://forum.lazarus.freepascal.org/index.php/topic,58888.0.html
Best regards / Pozdrawiam
paweld

 

TinyPortal © 2005-2018