Could not determine GDB version. . . .

I get this error when I run E2Studio in Linux. (This is a "rescue"computer - one with 15 minutes' battery life that used to run Windows XP). I like to use it for debugging as it is disposible in case any high voltages get back from the circuitry. The Windows application runs properly, but I don't really want to connect the "nice" laptop to the development product.

The full error message is:

Could not determine GDB version using command: arm-none-eabi-gdb --version
arm-none-eabi-gdb: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory.

Where do I find the files that it is looking for?

  • Hi Ian,

    Have you installed libpython 2.7 on your machine ?

    Regards,

    AZ

  • Not specifically, but I would have expected the e2studio installer to install any other bits and pieces that it needed. Is that not the case?

  • Hi Ian,

    I don't think that it is included in the installed software. Could you try installing manually ?

    Regards,

    AZ

  • That could explain a lot!
    python says that 2.7 is end of life. Would it be wise to install a newer version ? Or does it definitely require 2.7?

  • I am not sure about this, but I would start with 2.7.

    Regards,

    AZ

  • So I installed python 2.7.18 and it now says:

    arm-none-eabi-gdb error while loading shared libraries libpython2.7.so.1.0: cannot open shared object file: No such file or directory

  • I’ll just add that the computer has python3.8.10

  • If I type "gdb --version" into the terminal it knows all about gdb and says it has v.9.2, so why can't it find it from E2Studio

    db
    GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
    Copyright (C) 2020 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <gnu.org/.../gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Type "show copying" and "show warranty" for details.
    This GDB was configured as "x86_64-linux-gnu".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <www.gnu.org/.../>.
    Find the GDB manual and other documentation resources online at:
    <www.gnu.org/.../>.

    For help, type "help".
    Type "apropos word" to search for commands related to "word".
    (gdb) show configuration
    This GDB was configured as follows:
    configure --host=x86_64-linux-gnu --target=x86_64-linux-gnu
    --with-auto-load-dir=$debugdir:$datadir/auto-load
    --with-auto-load-safe-path=$debugdir:$datadir/auto-load
    --with-expat
    --with-gdb-datadir=/usr/share/gdb (relocatable)
    --with-jit-reader-dir=/usr/lib/gdb (relocatable)
    --without-libunwind-ia64
    --with-lzma
    --with-babeltrace
    --without-intel-pt
    --with-mpfr
    --without-xxhash
    --with-python=/usr (relocatable)
    --without-guile
    --disable-source-highlight
    --with-separate-debug-dir=/usr/lib/debug (relocatable)
    --with-system-gdbinit=/etc/gdb/gdbinit

    ("Relocatable" means the directory can be moved with the GDB installation
    tree, and GDB will still find it.)

  • I had this same issue, and fixed it by running "sudo apt-get install python2.7-dev".

    Got immediately stuck on the next step though...

    Could not connect to target.
    Please check the GDB Server console for more information!
    
    Possible causes:
    1: Target hardware does not match debug project hardware.
    2: Not all cables are connected.
    3: Debug options does not match those required by the hardware.
    4: No external power is being applied to the target.
    5: The wrong power is being applied to the target.
    6: The emulator .dll or .so file specified in the device file could not be found.
    7. The device connected or the device specified to GDB Server does not match the device specified in the Debug Configuration. 
    
    NOTE: If the Emulator 'RUN' LED is ON or the incorrect emulator was previously selected it may be necessary to disconnect and reconnect the emulator.
    GDB Server for Renesas targets.
    	Version 9.0.0.v20221226-025508 [2de64c59] (Jan  6 2023 16:04:22)
    
    
    Starting server with the following options: 
            Raw options                : /home/sam/.eclipse/com.renesas.platform_1689987173/DebugComp//RA/e2-server-gdb -g SEGGERJLINKARM -t R7FA6M5BH -uConnectionTimeout= 30 -uSelect= USB -uJLinkSetting= "/home/sam/Dev/e2_studio_RA/workspace/Blinky/Blinky Debug_Flat.jlink" -uJLinkLog= /home/sam/Dev/e2_studio_RA/workspace/Blinky/JLinkLog.log -uLowPower= 0 -uInteface= SWD -uIfSpeed= 4000 -uNoReset= 1 -uResetPreRun= 1 -uResetCon= 1 -uResetBefDownload= 1 -uReleaseCM3= 0 -uDisconnectionMode= 1 -uSWOcoreClock= 0 -uEnableSciBoot= 1 -uresetOnReload= 1 -n 0 -uFlashBp= 1 -uSimulation= 0 -ueraseRomOnDownload= 0 -ueraseDataRomOnDownload= 0 -uOSRestriction= 0 -uProgReWriteIRom= 0 -uCPUFrequency= 0 -uCECycle= 1 -uMemRegion= 0x20000000:0x1000:RAM:s -uMemRegion= 0x20001000:0x1000:RAM:c -uMemRegion= 0x00000000:0x3000:FLASH:s -uMemRegion= 0x00003000:0x5000:FLASH:c -uMemRegion= 0x08000000:0x0:DATA_FLASH:s -uMemRegion= 0x0100A100:0x80:OPTION_SETTING:s -uMemRegion= 0x0100A200:0xD0:OPTION_SETTING_S:s -uMemRegion= 0x00000000:0x0:ID_CODE:s -uMemRegion= 0x80010000:0x0:SDRAM:s -uMemRegion= 0x60000000:0x0:QSPI_FLASH:s -uMemRegion= 0x68000000:0x0:OSPI_DEVICE_0:s -uMemRegion= 0x70000000:0x0:OSPI_DEVICE_1:s -uMemRegion= 0x00008000:0x1F8000:FLASH:n -uMemRegion= 0x08000000:0x2000:DATA_FLASH:n -uTz= SSD -l -uCore= SINGLE_CORE|enabled|1|main -uSyncMode= async -uFirstGDB= main --english --gdbVersion= 7.2
    Using J-Link version V7.82c - /home/sam/.eclipse/com.renesas.platform_1689987173/DebugComp/RA/ARM/Segger_v7.82.3/libjlinkarm.so
    
    Connecting to R7FA6M5BH, ARM Target
            GDBServer endian           : little
            Target power from emulator : Off 
    Starting target connection
    GDB action 'connect to target', has failed with error code, 0xffffffff
    Disconnected from the Target Debugger.

    Do I need to install J-Link on my Linux system for debugging to work for example?