[Bug 1197651] New: Lazarus startup error: Fppkg reports that the RTL is not installed
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 Bug ID: 1197651 Summary: Lazarus startup error: Fppkg reports that the RTL is not installed Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: x86-64 OS: openSUSE Tumbleweed Status: NEW Severity: Normal Priority: P5 - None Component: Development Assignee: screening-team-bugs@suse.de Reporter: voorburg@gmx.net QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- Created attachment 857475 --> http://bugzilla.opensuse.org/attachment.cgi?id=857475&action=edit Welcome to Lazarus screen, showing the Fppkg error The update to Lazarus IDE 2.2.0 introduced a few problems to the point that you can no longer do actual development work with it. Upon startup, you now always get the "Welcome to Lazarus" screen, which reports an error for Fppkg (see screenshot): "Error: there is a problem with the Fppkg configuration. (Fppkg reports that the RTL is not installed.)" If you ignore it, Lazarus does start, but you cannot do much with it. If you create an empty application and add something basic as just a TMemo or TTimer on it, you get an error when trying to run it: "Project project1 raised exception class 'EClassNotFound' with message: class TMemo not found". I installed Lazarus using: sudo zypper install make gdb fpc fpc-src lazarus libQt5Pas-devel libqt5-qtbase-devel As a workaround, I installed Lazarus 2.2.0 and FPC 3.2.2 using the RPMs from the Lazarus SourceForge page. In this case everything works fine. So it must have something to do with how Lazarus and/or FPC are packages for openSUSE. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 http://bugzilla.opensuse.org/show_bug.cgi?id=1197651#c1 --- Comment #1 from Frank Voorburg <voorburg@gmx.net> --- I did a bit more testing by installing Lazarus on a freshly installed Tumbleweed VM and I can reproduce the problem there. So it's not related to something just on my system. As a next step I branched the openSUSE:Factory/lazarus package and rolled it back to revision 14, which is Lazarus 2.0.12. After installing this version in Tumbleweed everything works as expected. This confirms that the problem is caused by something in package Lazarus and not FPC. It happened after the update to version 2.2.0 from request 959927. It's not caused by Lazarus version 2.2.0 from upstream, because when you download and install the RPMs from Lazarus on SourceForge, the problem doesn�t appear. Hopefully this additional information helps. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 http://bugzilla.opensuse.org/show_bug.cgi?id=1197651#c2 --- Comment #2 from Frank Voorburg <voorburg@gmx.net> --- After some more testing, it seems that there are two problems actually: Problem 1: Welcome screen - Fppkg reports that the RTL is not installed ======================================================================= How to reproduce ---------------- Everytime you start the IDE, the welcome screen reports an error on category "Fppkg". It's shown in the screenshot that I provided earlier. A bit annoying, but it doesn't seem to have any negative effects. Possible workaround ------------------- In file /etc/fppkg.cfg: * Set "Path=/usr/lib64/fpc/{CompilerVersion}/" for the fpc repository * Set "Prefix=/usr/lib64/fpc/../../" for the fpc repository In file /etc/fppkg/default: * Set Compiler=/usr/lib64/fpc/../../bin/fpc * Otherwise variable {CompilerVersion} seem to be unknown If you now start Lazarus, the Fppkg error is gone. I did notice that in this case the Object Inspector windows doesn't show up. Hitting F11 solves that. Problem 2: Unit ExtCtrls not found ================================== How to reproduce ---------------- 1. Start Lazarus, which opens a new project 2. Build and run the project executable (green play button) 3. Close the running project executable (click X in titlebar) 4. Add a TTimer to Form1 5. Rename the TTimer in the Object Inspector, e.g. Timer4 6. Error dialog shows up: "Error: unit not found: ExtCtrls" 7. If you then try to run it, a Debugger Exception Notification dialog shows up: "Project project1 raised exception class 'EClassNotFound' with message: Class "TTimer" not found" Possible workaround ------------------- Haven't found one yet. I did notice that if you first add the TTimer and rename it, before you build and run the project, it seems to work. But not really a solution, because if you then add something else after running it, such as a TTimer or TProcess, the same problem occurs. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 Frank Voorburg <voorburg@gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |voorburg@gmx.net -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 http://bugzilla.opensuse.org/show_bug.cgi?id=1197651#c3 --- Comment #3 from Frank Voorburg <voorburg@gmx.net> --- Problem 2 (Unit ExtCtrls not found) is caused by the %fdupes line in the spec-file. This unfortunately removes certain files generated during the build of Lazarus, which Lazarus 2.2.0 seems to need during application development with the IDE. After installing Lazarus and building your own application in the IDE, these missing files will be rebuild and placed in the ~/.lazarus/lib directory. However, the IDE expects them in the /usr/lib(64)/lazarus directory. Resulting in the unit not found error. As a workaround, the user can configure the unit search path for their Lazarus project. In the project options, go to "Compiler Options" -> "Paths" and enter /home/<youruser>/.lazarus/lib in the "Other units files (-Fu)" edit box. A better solution would be to remove the "%fdupes -s %{buildroot}" line from the spec-file. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 http://bugzilla.opensuse.org/show_bug.cgi?id=1197651#c4 --- Comment #4 from Frank Voorburg <voorburg@gmx.net> --- Problem 1 (Fppkg reports that the RTL is not installed) seems to not really be a bug, but more a configuration that has not yet been made. It could be done when installing the "fpc" package (option 1) or it could just be left as a configuration that the user needs to make themselves (option 2). Other distros that have Lazarus 2.2.0 seem to go for option 2. Here's how to implement both options: Option 1 -------- Requires the "fpc" package to be changed: In file "/etc/fppkg/default" set the Compiler configuration to: Compiler=/usr/bin/fpc In file "/etc/fppkg.cfg" in section [Repository] for the repository with name "fpc", change the Path and Prefix configuration to: Path=/usr/lib64/fpc/{CompilerVersion}/ Prefix=/usr If you now start Lazarus for the first time, it no longer shows the Welcome screen and also no longer the error in the Fppkg section. The only unwanted side-effect is that the Object Inspector does not show up. Pressing F11 fixes this. A more user-friendly solution would be to update the "/etc/lazarus/environmentoptions.xml" file that the "lazarus" package installs. Before the ending </CONFIG> tag, add: <Desktops Count="1" ActiveDesktop="default"> <Desktop1 Name="default"> <ObjectInspectorDlg> <Caption Value="ObjectInspectorDlg"/> <Visible Value="True"/> </ObjectInspectorDlg> </Desktop1> </Desktops> Option 2 -------- Requires the user to create the following to files: The file "~/.fppkg/config/default" with contents: [Defaults] ConfigVersion=5 Compiler=/usr/bin/fpc OS=Linux CPU=x86_64 The file "~/.config/fppkg.cfg" with contents: [Defaults] ConfigVersion=5 LocalRepository={UserDir}.fppkg/ BuildDir={LocalRepository}build/ ArchivesDir={LocalRepository}archives/ CompilerConfigDir={LocalRepository}config/ RemoteMirrors=https://www.freepascal.org/repository/mirrors.xml RemoteRepository=auto CompilerConfig=default FPMakeCompilerConfig=default Downloader=FPC InstallRepository=user [Repository] Name=fpc Description=Packages which are installed along with the Free Pascal Compiler Path=/usr/lib64/fpc/{CompilerVersion}/ Prefix=/usr [IncludeFiles] FileMask=/etc/fppkgconf.d/*.conf [Repository] Name=user Description=User-installed packages Path={LocalRepository}lib/fpc/{CompilerVersion} Prefix={LocalRepository} I think it's fine to go with this option 2 for now. If other users are not happy with this solution, we could still go for option 1 down the road. With that in mind, consider problem 1 (Fppkg reports that the RTL is not installed) of this bug report as resolved. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 Frank Voorburg <voorburg@gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |IN_PROGRESS -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 Pragmatic Linux <info@pragmaticlinux.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |info@pragmaticlinux.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 Pragmatic Linux <info@pragmaticlinux.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC|voorburg@gmx.net | -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 Pragmatic Linux <info@pragmaticlinux.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|aloisio@gmx.com |info@pragmaticlinux.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 http://bugzilla.opensuse.org/show_bug.cgi?id=1197651#c5 --- Comment #5 from OBSbugzilla Bot <bwiedemann+obsbugzillabot@suse.com> --- This is an autogenerated message for OBS integration: This bug (1197651) was mentioned in https://build.opensuse.org/request/show/973832 Factory / fpc -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 http://bugzilla.opensuse.org/show_bug.cgi?id=1197651#c6 --- Comment #6 from OBSbugzilla Bot <bwiedemann+obsbugzillabot@suse.com> --- This is an autogenerated message for OBS integration: This bug (1197651) was mentioned in https://build.opensuse.org/request/show/973889 Factory / fpc -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 http://bugzilla.opensuse.org/show_bug.cgi?id=1197651#c7 --- Comment #7 from Pragmatic Linux <info@pragmaticlinux.com> --- A brief update: With the support from alois and Guillaume_G, this bug is almost resolved. The related submit requests: sr#972523 and sr#973769. The only open issue is that Lazarus does not show the Object Inspector window after a fresh install. Upstream is aware of this problem: https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/39328 I sent a solution to upstream, which was accepted. Future version of Lazarus, starting with 2.2.2, will include this fix. I'll go ahead and prepare a patch for Lazarus, after which this bug report can be closed. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 http://bugzilla.opensuse.org/show_bug.cgi?id=1197651#c8 --- Comment #8 from Pragmatic Linux <info@pragmaticlinux.com> --- Created and submitted the patch for the Object Inspector window visibility: sr#974169. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1197651 http://bugzilla.opensuse.org/show_bug.cgi?id=1197651#c9 Pragmatic Linux <info@pragmaticlinux.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|IN_PROGRESS |RESOLVED Resolution|--- |FIXED --- Comment #9 from Pragmatic Linux <info@pragmaticlinux.com> --- Resolved with sr#972523, sr#973769 and sr#974169. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com