Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 130 additions & 0 deletions Ubuntu/INSTALL_ISSUS_UBUNTU_25.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# eSim 2.5 Installation on Ubuntu 25.04

## Issue 1: Ubuntu 25.04 Not Supported by Installer

### Description
The eSim installer script does not recognize Ubuntu 25.04 and exits or installs incorrect dependencies.

### Error Observed
Installer checks OS version and fails due to unsupported Ubuntu release.

### Root Cause
eSim 2.5 officially supports Ubuntu 24.04 and earlier. Ubuntu 25.04 is not yet handled in the installer logic.

### Fix Applied
Mapped Ubuntu 25.04 to Ubuntu 24.04 in `install-eSim.sh` so that supported dependency logic could be reused.

### Result
Installer proceeds beyond OS detection stage successfully.

### Status
Fixed

## Issue 2: Invalid apt operations for xz-utils

### Description
After fixing the Ubuntu 25.04 OS version mapping, the installer failed during dependency installation with the following error: Invalid operation xz-utils
This caused the installation process to abort even though `xz-utils` is a valid and required package.

### Error Observed
Installer invoked `apt` incorrectly and got xz-utils error.

### Root Cause
Invalid operation `xz-utils`

### Incorrect Command
```bash
sudo apt xz-utils

###Corrected commands
sudo apt install -y xz-utils

### Result
Installation proceeds successfully after correcting the xz-utils installation command.

### Status
Fixed


##Issue 3: Kicad ppa not available on ubuntu 25.04

##Description

apt update failed with:

The repository 'ppa:kicad/kicad-6.0-releases' does not have a Release file

###Root Cause

KiCad PPAs are not published for Ubuntu 25.04. Ubuntu 25.04 already provides KiCad 8 via official repositories.

###Fix Applied

For Ubuntu 25.04:

All KiCad PPAs are skipped

KiCad is installed directly from Ubuntu’s official repositories:

###Result

No repository or dependency errors occur during KiCad installation.

###Status

Fixed

##Issue 4:KiCad library extraction path failure

###Description

Installation failed with:
tar: library/kicadLibrary.tar.xz: No such file or directory

###Root Cause

The installer used relative paths that were invalid depending on the working directory.

###Fix Applied

The extraction logic was updated to use paths based on eSim_HOME, ensuring the archive is always found correctly.

###Result

The KiCad library archive is extracted reliably.

###Status

Fixed

##Issue 6: Incorrect KiCad library path in configuration

###Description

KiCad symbols were not detected even after successful extraction.

###Root Cause

The configuration file pointed to:

kicadLibrary.tar.xz instead of the extracted directory.

###Fix Applied

The configuration entry was updated to reference the extracted directory:

KicadLib = %(eSim_HOME)s/library/kicadLibrary

###Result

KiCad correctly loads eSim custom symbols.

###Status

Fixed

###Final working state
esim runs on ubuntu 25.04 (Ubuntu/docs/ubuntu-25.04-bugs/Screenshot From 2026-02-10 14-26-05.png)


eSim runs on the version Ubuntu 25.04.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 18 additions & 8 deletions Ubuntu/install-eSim-scripts/install-eSim-22.04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -107,24 +107,34 @@ function installSky130Pdk
function installKicad {
echo "Installing KiCad..."

ubuntu_version=$(lsb_release -rs)

#For ubuntu 25.04 use official repo ONLY (no PPAs exist)
if [[ "$ubuntu_version" == "25.04" ]]; then
echo "Ubuntu 25.04 detected — using official repositories"
sudo apt update
sudo apt install -y kicad
echo "KiCad installed successfully on Ubuntu 25.04"
return
fi

# Ubuntu <= 24.04: use KiCad PPA
kicadppa="kicad/kicad-8.0-releases"
findppa=$(grep -h -r "^deb.$kicadppa" /etc/apt/sources.list* > /dev/null 2>&1 || test $? = 1)

if [ -z "$findppa" ]; then

if ! grep -qr "$kicadppa" /etc/apt/sources.list /etc/apt/sources.list.d; then
echo "Adding KiCad-8 PPA to local apt repository..."
sudo add-apt-repository -y ppa:kicad/kicad-8.0-releases
sudo add-apt-repository -y "ppa:$kicadppa"
sudo apt update
else
echo "KiCad-8 PPA is already added."
fi

echo "Installing KiCad and necessary libraries..."
echo "Installing KiCad..."
sudo apt install -y --no-install-recommends kicad

echo "KiCad installation completed successfully!"
}


function installDependency {
set +e # Temporary disable exit on error
trap "" ERR # Do not trap on error of any command
Expand Down Expand Up @@ -191,7 +201,7 @@ function installDependency {
pip3 install PyQt5

echo "Installing volare"
sudo apt-get xz-utils
sudo apt-get install -y xz-utils
pip3 install volare
}

Expand All @@ -204,7 +214,7 @@ function copyKicadLibrary {
trap 'echo "An error occurred! Exiting..."; exit 1' ERR

echo "Extracting custom KiCad Library..."
tar -xJf library/kicadLibrary.tar.xz -C library || { echo "Extraction failed!"; exit 1; }
tar -xJf ../library/kicadLibrary.tar.xz -C ../library || { echo "Extraction failed!"; exit 1; }

# Detect the latest installed KiCad version
kicad_config_dir="$HOME/.config/kicad"
Expand Down
37 changes: 24 additions & 13 deletions Ubuntu/install-eSim-scripts/install-eSim-23.04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -182,26 +182,37 @@ function installSky130Pdk
}


function installKicad
{
function installKicad {
echo "Installing KiCad..."

ubuntu_version=$(lsb_release -rs)

echo "Installing KiCad..........................."
# Ubuntu 25.04: use official repo ONLY (no PPAs exist)
if [[ "$ubuntu_version" == "25.04" ]]; then
echo "Ubuntu 25.04 detected — using official repositories"
sudo apt update
sudo apt install -y kicad
echo "KiCad installed successfully on Ubuntu 25.04"
return
fi

kicadppa="kicad/kicad-6.0-releases"
findppa=$(grep -h -r "^deb.*$kicadppa*" /etc/apt/sources.list* > /dev/null 2>&1 || test $? = 1)
if [ -z "$findppa" ]; then
echo "Adding KiCad-6 ppa to local apt-repository"
sudo add-apt-repository -y ppa:kicad/kicad-6.0-releases
sudo apt-get update
# Ubuntu <= 24.04: use KiCad PPA
kicadppa="kicad/kicad-8.0-releases"

if ! grep -qr "$kicadppa" /etc/apt/sources.list /etc/apt/sources.list.d; then
echo "Adding KiCad-8 PPA to local apt repository..."
# sudo add-apt-repository -y "ppa:$kicadppa"
sudo apt update
else
echo "KiCad-6 is available in synaptic"
echo "KiCad-8 PPA is already added."
fi

sudo apt-get install -y --no-install-recommends kicad kicad-footprints kicad-libraries kicad-symbols kicad-templates
echo "Installing KiCad..."
sudo apt install -y --no-install-recommends kicad

echo "KiCad installation completed successfully!"
}


function installDependency
{

Expand Down Expand Up @@ -251,7 +262,7 @@ function installDependency
pip3 install sandpiper-saas

echo "Installing volare"
sudo apt-get xz-utils
sudo apt-get install -y xz-utils
pip3 install volare

}
Expand Down
88 changes: 42 additions & 46 deletions Ubuntu/install-eSim-scripts/install-eSim-24.04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,33 @@ function installNghdl
{

echo "Installing NGHDL..........................."

# HARD EXIT: NGHDL is not supported on Ubuntu 25.04 (LLVM 20 incompatibility)
if [[ "$VERSION_ID" == "25.04" ]]; then
echo "Skipping NGHDL installation on Ubuntu 25.04 (LLVM 20 unsupported)"
return 0
fi
unzip -o nghdl.zip

# --- Fix NGHDL installer for Ubuntu 25.04 ---
# 1. Fix broken FULL_VERSION assignment if present
sed -i 's/FULL_VERSION=.*/FULL_VERSION="$VERSION_ID"/' nghdl/install-nghdl.sh

# 2. Allow Ubuntu 25.04 to reuse 24.04 installer
sed -i 's/"24.04")/"24.04" | "25.04")/' nghdl/install-nghdl.sh

# Skip obsolete libcanberra-gtk-module on Ubuntu 25.04+
sed -i 's/libcanberra-gtk-module/ /g' nghdl/install-nghdl-scripts/install-nghdl-24.04.sh

# Prevent tar utime failures on restricted filesystems
sed -i 's/tar -x/tar --touch --no-same-owner --no-same-permissions -x/' nghdl/install-nghdl-scripts/install-nghdl-24.04.sh

cd nghdl/
chmod +x install-nghdl.sh

# Do not trap on error of any command. Let NGHDL script handle its own errors.
trap "" ERR

./install-nghdl.sh --install # Install NGHDL


# Set trap again to error_exit function to exit on errors
trap error_exit ERR

Expand Down Expand Up @@ -106,56 +124,34 @@ function installSky130Pdk

function installKicad
{
echo "Installing KiCad..........................."

# Detect Ubuntu version
ubuntu_version=$(lsb_release -rs)

# Define KiCad PPAs based on Ubuntu version
if [[ "$ubuntu_version" == "24.04" ]]; then
echo "Ubuntu 24.04 detected."
kicadppa="kicad/kicad-8.0-releases"

# Check if KiCad is installed using dpkg-query for the main package
if dpkg -s kicad &>/dev/null; then
installed_version=$(dpkg-query -W -f='${Version}' kicad | cut -d'.' -f1)
if [[ "$installed_version" != "8" ]]; then
echo "A different version of KiCad ($installed_version) is installed."
read -p "Do you want to remove it and install KiCad 8.0? (yes/no): " response

if [[ "$response" =~ ^([Yy][Ee][Ss]|[Yy])$ ]]; then
echo "Removing KiCad $installed_version..."
sudo apt-get remove --purge -y kicad kicad-footprints kicad-libraries kicad-symbols kicad-templates
sudo apt-get autoremove -y
else
echo "Exiting installation. KiCad $installed_version remains installed."
exit 1
fi
else
echo "KiCad 8.0 is already installed."
exit 0
fi
fi
ubuntu_version=$(lsb_release -rs)

else
kicadppa="kicad/kicad-6.0-releases"
fi
echo "Detected Ubuntu version: $ubuntu_version"

# Ubuntu 24.04+ (including 25.04)
if [[ "$ubuntu_version" == "24.04" || "$ubuntu_version" == "25.04" ]]; then
echo "Using system KiCad from Ubuntu repositories (no PPA)."

# Ensure apt is updated
sudo apt-get update

# Check if the PPA is already added
if ! grep -q "^deb .*${kicadppa}" /etc/apt/sources.list /etc/apt/sources.list.d/* 2>/dev/null; then
echo "Adding KiCad PPA to local apt repository: $kicadppa"
sudo add-apt-repository -y "ppa:$kicadppa"
sudo apt-get update
# Install KiCad if not already installed
if ! dpkg -s kicad &>/dev/null; then
echo "Installing KiCad from Ubuntu repository..."
sudo apt-get install -y kicad kicad-footprints kicad-symbols
else
echo "KiCad PPA is already present in sources."
echo "KiCad already installed. Skipping."
fi

# Install KiCad packages
sudo apt-get install -y --no-install-recommends kicad kicad-footprints kicad-libraries kicad-symbols kicad-templates
else
echo "Unsupported Ubuntu version for this installer."
exit 1
fi

echo "KiCad installation completed successfully!"
}
echo "KiCad installation completed successfully!"

}

function installDependency
{
Expand Down Expand Up @@ -224,7 +220,7 @@ function installDependency
pip3 install PyQt5

echo "Installing volare"
sudo apt-get xz-utils
sudo apt-get install -y xz-utils
pip3 install volare
}

Expand Down
Loading