softtouch 9 Posted November 12, 2022 (edited) I am trying to debug a small Delphi 11.2 code with Linux target. I can compile, deploy and run just fine, but when I try to debug, or run with F9, I get: Quote Unable to start LLDB kernel: Symbolic link target does not exist: .... Please make sure that the target exists or update the link to point to the new Python 3 shared object file I have no clue what to do about this. Does anybody has a hint? Edited November 12, 2022 by softtouch Share this post Link to post
Brian Evans 109 Posted November 12, 2022 See: 11 Alexandria - Release 2 - RAD Studio (embarcadero.com) Quote Connecting Python 3 Running LLDB on Linux via PAServer requires Python 3 to be installed, and that LLDB can find it. If you get errors referring to Python, please see the Known Issues for info on configuring Python 3. Share this post Link to post
softtouch 9 Posted November 12, 2022 2 hours ago, Brian Evans said: See: 11 Alexandria - Release 2 - RAD Studio (embarcadero.com) I did that, and get nothing but lots of errors in the PAServer Windows and get "Exception class stop (17) right away in the ide. Share this post Link to post
Brian Evans 109 Posted November 12, 2022 (edited) It works here without issue after fixing up the python library symbolic link in the PAServer-22.0 directory. Can debug including setting break points and stepping through a command line program targeted to a Ubuntu 22.10 Server. Below are the commands I used to test on a fresh + updated Ubuntu 22.10 server install: # Ubuntu : run commands from home directory to get required pre-requisites and PAServer archive and unpack # do other apt update/upgrade etc before this sudo apt install joe wget p7zip-full curl openssh-server build-essential zlib1g-dev libcurl4-gnutls-dev libncurses5 lldb wget https://altd.embarcadero.com/releases/studio/22.0/112/LinuxPAServer22.0.tar.gz tar -xvf LinuxPAServer22.0.tar.gz cd PAServer-22.0/lldb/lib # rename current symbolic link so we can add the correct one mv libpython3.so libpython3.so_ # this depends on the current Linux distribution for where and what it is called - this one is for Ubuntu 22.10 Server: ln -s /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0 libpython3.so Do see a quality central bug report for the error you are seeing however: [RSP-39793] Linux - unsupported DW_FORM value: 0x1f - Embarcadero Technologies Edited November 12, 2022 by Brian Evans Share this post Link to post
softtouch 9 Posted November 12, 2022 Does not work for me. I attached some screenshots. One shows the properties of the symlink, the next the output in the paserver window, and another showing the exception in the IDE. Share this post Link to post
Mustafa ֍zgun 7 Posted November 13, 2022 "Delphi Linux Enterprise" requires Delphi Enterprise or Architect versions, not works on Community or Professional. Delphi App Development Product Editions FMXLinux package available in GetIt Package Manager. (However D11.2 trial version requires manual download from https://www.fmxlinux.com/ > "Download Free Trial v 1.71" and "fmxlinux-trial-1_71.exe" installation. Unfortunately FMXLinux Trial messages appear each time app starts.) Platform Status shows supported platforms and operating systems as Ubuntu 20.04 LTS, Ubuntu 18.04 LTS, RedHat Enterprise Linux (version 8 ). However "Yum" python package support removed from versions above "Ubuntu 18.04.0 LTS", Ubuntu decided to develop their own package "dnf" instead of "yum" package RedHat initialized. https://unix.stackexchange.com/questions/673762/installing-yum-on-ubuntu Instead of Ubuntu 18.04.0 LTS, if you try 18.04.1, 19, 20 etc. versions, you get "yum" loading messages. Without "yum" Delphi Linux SDK files cannot be loaded completely. Also for desktop app development, "desktop" iso required. If "server" iso installed, console apps shall be compiled. RedHat Enterprise Linux (version 8 ) RHEL8 costs 349 usd https://linuxhint.com/redhat_linux_pricing/ For Intel CPUs, no need to search iso without "amd" word, all iso files are loaded Intel ones, as well. http://cdimage.ubuntu.com/netboot/18.04/ https://old-releases.ubuntu.com/releases/18.04.5/ To proceed download "ubuntu-18.04-desktop-amd64.iso" from https://old-releases.ubuntu.com/releases/18.04.5/ Virtualbox/VMWare virtual machines default settings permits Ubuntu setup. Changing settings is not required even in AMD PCs. After selecting "ubuntu-18.04-desktop-amd64.iso" for CD in Settings > Storage > Controller: IDE , Ubuntu 18.04 gets installed fast. After Ubuntu 18.04 starts, steps for Yum, Connection Profile Manager and PAServer installation: Linux Application Development Yum installation: https://low-orbit.net/how-to-install-yum-on-ubuntu Terminal > sudo apt update sudo apt full-upgrade sudo apt install build-essential sudo yum install zlib-devel sudo apt update -y sudo apt install -y yum-utils // testing yum: yum --help yum list all yum search nginx After Yum installation to run PAServer : C:\Program Files (x86)\Embarcadero\Studio\22.0\PAServer\LinuxPAServer22.0.tar.gz file extracted on Ubuntu desktop. Right click in "PAServer-22.0" window and select "Open in Terminal" Linux Delphi 11.2 FMX Ubuntu 18.04 desktop app development Share this post Link to post
softtouch 9 Posted November 13, 2022 (edited) So it seems to compile and run fine also on the latest Ubuntu 22.x, but can debug only when using older ubuntu versions? I have no issue at all as long I do not try to debug. Edited November 13, 2022 by softtouch Share this post Link to post
Mustafa ֍zgun 7 Posted November 13, 2022 Possibly. According to experience most of compiler errors caused by Yum. Can you intimate Ubuntu version and confirm whether Yum installed exactly? Share this post Link to post
softtouch 9 Posted November 14, 2022 I installed new Ubuntu 20.04, followed the Embarcadero doc to setup everything, and I get the same "Exception class stop (17)", with a play new project without any code. Share this post Link to post
Jim McKeeth 106 Posted December 29, 2022 I created a setup script for Ubuntu. I just updated it to address the Python 3.6 dependency issue. https://embt.co/Ubuntu4Delphi22 I've tested it on several different installs, and it works great. If you only want to fix the Python 3.6 dependency issue: Quote Unable to start LLDB kernel: 'Symbolic link target does not exist: ~/PAServer/22.0/lldb/lib/libpython3.so -> /usr/lib/x86_64-linux-gnu/libpython3.6.so.1.0. Please make sure that the target exists or update the link to point to the new Python 3 shared object file'. You can use the following sudo apt install python3 libpython3-dev -y ln -sf `ls -1 /usr/lib/x86_64-linux-gnu/libpython3.*.so.1.0 | tail -1` ~/PAServer-22.0/lldb/lib/libpython3.so The first line ensures you have Python3 installed, but if you have a recent Ubuntu, that shouldn't be an issue. I usually had Python 3.10 installed. The second line looks in /usr/lib/x86_64-linux-gnu/ for a file matching the mask libpython3.*.so.1.0 and then updates the symbolic link Note: It assumes you installed PAServer in the folder ~/PAServer-22.0 Good luck! 3 Share this post Link to post
Chief 0 Posted January 4, 2023 (edited) On 11/14/2022 at 10:35 PM, softtouch said: I installed new Ubuntu 20.04, followed the Embarcadero doc to setup everything, and I get the same "Exception class stop (17)", with a play new project without any code. Same here. I installed Ubuntu 20.04.5 LTS (in VMware Workstation 17), then executed script from Jim. Next, in Delphi 11.2.1 I added connection profile, so it automatically fetched SDK files from Ubuntu. Next, using GetIt I installed FMXLinux. Created new multi-platform project with proper connection. I can compile project, and run without debugging. But as soon as I try to debug - "Project LinGuiApp raised exception class Stop (17).". Also, I noticed that when I try to debug the console app, it works. Edited January 5, 2023 by Chief Share this post Link to post
Brian Evans 109 Posted January 6, 2023 I am seeing those messages as well now. Hitting continue a couple times gets past a bunch of raised exception class Stop (17) messages and I then get the FMX GUI application form visible and break points work. Here doing Setting Tools -> Options, in the dialog: Debugger, Embarcadero Debuggers, Native OS Exceptions: 64-bit Linux Exceptions and Signals, Stopped (signal) (SIGSTOP) ($11) to have on resume column to run handled. The dialog never comes up at all and break points work. The number of times I needed to press continue seems to correspond with the number of warnings I see for bad DW_FORM values from LLDB in the command window paserver is running in.. Share this post Link to post
Allen@Grijjy 44 Posted January 16, 2023 I am also seeing the Stop (17) error messages with the latest Linux configuration for Delphi. Share this post Link to post
lmbelo 2 Posted March 17, 2023 (edited) The LLDB seems to require a Python distribution compiled with the "--enable-shared" flag. The regular APT Python distribution doesn't use the dynamically linked interpreter. However, Installing python3.x-dev and libpython3.x-dev should be enough for this case. Make sure to install the same versions. Edited March 17, 2023 by lmbelo 2 Share this post Link to post
hsvandrew 23 Posted October 27 Instructions for linux can be a bit tricky because there are slight differences between versions. If the above doesn't work for you, like it didn't for me on Centos9 (October 2024), install the yum packages as per the script above Find your python 3 library using sudo find / -name libpython3*.so* For example, mine was /usr/lib64/libpython3.9.so.1.0 Run the symbolic link command (ln) as in the script, but using the correct path as you found using find. You might find multiple libpython files. You want the one that looks similar to mine. Hope this helps someone. Share this post Link to post