DEV Community

mmllllzcn
mmllllzcn

Posted on

GBase Database Installation Troubleshooting: 5 Common Errors and How to Fix Them

When a GBase Database(GBase 8a) installation fails, the first instinct is often to switch packages and rerun the installation script.

But many installation errors originate before the installer starts. The root cause may be an OS compatibility check, terminal input, SSH authentication, a missing shared library, or the wrong Python interpreter.

The fastest way to troubleshoot GBase Database installation issues is to identify the failing layer before changing the environment.

Here are five common errors, ordered by the initial checks I would perform.

Error message Likely layer First check
operating system is 'xxx' OS and package validation OS release, kernel, architecture
invalid literal for int() Terminal input Escape sequences and interactive input
Permission denied (publickey) SSH authentication SSH port, user, keys, permissions
fail to add new datanodes to gcware Dependencies and services Service status and missing shared libraries
Python script syntax error Python runtime which python and interpreter version

1. OS Validation Error: operating system is 'xxx'

An installation script may report an error similar to:

operating system is 'xxx', must be centos7
Enter fullscreen mode Exit fullscreen mode

This indicates that the package's OS validation did not accept the detected environment. It does not, by itself, prove that the operating system is incompatible.

Check the actual environment first:

cat /etc/os-release
uname -r
uname -m
Enter fullscreen mode Exit fullscreen mode

Confirm three things:

  • The operating system and release are supported by the target GBase Database version.
  • The kernel and package requirements match the installation guide.
  • The CPU architecture matches the package, such as x86_64 or aarch64.

If the OS identity check is the only mismatch and the target environment is explicitly supported, a documented installer option may allow that check to be bypassed. Some installation workflows use -i for this purpose, but confirm its meaning in the documentation for your exact release before using it.

Do not bypass validation simply to make the error disappear. A validation flag cannot make incompatible binaries work. An x86_64 package will not become an aarch64 package because an OS check was skipped.

2. Terminal Input Error: invalid literal for int()

Sometimes the traceback contains unexpected characters such as:

\x1b[?2004l
Enter fullscreen mode Exit fullscreen mode

This can happen when terminal escape sequences are passed into a script that expects ordinary text or a number. Bracketed-paste handling is one possible cause, especially when a script reads interactive input.

Start by checking how the script receives input.

Possible remedies include:

  • Entering the value manually instead of pasting it.
  • Testing with another terminal client.
  • Disabling bracketed-paste mode if the terminal supports it.
  • Using a documented non-interactive installation method when available.

Avoid editing the installation script immediately. First determine whether the unexpected characters came from the terminal or from the script itself.

This distinction can save time when troubleshooting GBase Database deployment in remote SSH sessions.

3. SSH Authentication Error: Permission denied (publickey)

A typical error looks like this:

Fail to login ... Permission denied (publickey)
Enter fullscreen mode Exit fullscreen mode

This points toward SSH authentication, although connectivity and port configuration should also be checked.

Test SSH manually from the intended installation account:

ssh -v target-host
Enter fullscreen mode Exit fullscreen mode

Replace target-host with the actual hostname or IP address.

Check the following in order:

  1. Network connectivity: Can the source node reach the target?
  2. SSH port: Is the target using the expected port?
  3. Username: Is the installation account correct?
  4. Authentication method: Does the account have the required public key or other supported credentials?
  5. Key permissions: Are the private key and .ssh directory protected with appropriate permissions?
  6. Server policy: Does the target's SSH configuration permit the selected authentication method?

If the deployment uses a non-default SSH port, verify the port setting in the appropriate configuration file. For example, a deployment options file may contain:

sshPort=2222
Enter fullscreen mode Exit fullscreen mode

Use this only if the target SSH server actually listens on port 2222 and the installer supports that parameter.

Do not weaken SSH security or change passwords to simple values as a routine troubleshooting step. Diagnose the authentication failure and follow the organization's credential policy.

4. GCware Error: fail to add new datanodes to gcware

This error can occur when a GBase Database(GBase 8a) cluster cannot add data nodes to GCware successfully.

Possible causes include missing shared libraries, failed services, incorrect environment variables, or communication problems between nodes. A missing library is one useful lead, but it is not the only possible cause.

Start by loading the documented environment for the installation account. If the environment uses .gbase_profile, the command may be:

source ~/.gbase_profile
Enter fullscreen mode Exit fullscreen mode

Then inspect the relevant services using the commands supported by your release:

gcware_services all start
gcluster_services all start
gcadmin
Enter fullscreen mode Exit fullscreen mode

If a service fails to start, inspect its logs before repeatedly restarting it.

To check for missing shared libraries, locate the actual executable or shared object and run ldd against it:

ldd /path/to/gcware | grep "not found"
ldd /path/to/gclusterd | grep "not found"
Enter fullscreen mode Exit fullscreen mode

Replace the example paths with the actual paths in your installation.

If the output contains something like:

libcrypto.so.10 => not found
Enter fullscreen mode Exit fullscreen mode

the system may be missing a compatible OpenSSL library.

Before installing compatibility packages or changing library links, confirm the required ABI and library version against the product documentation and OS package sources. Do not create a symbolic link from an incompatible newer library just to satisfy the filename. Matching filenames do not guarantee binary compatibility.

Also check node-to-node connectivity, service logs, and the cluster configuration if all required libraries are present.

5. Python Syntax Error: The Installer Uses the Wrong Interpreter

A Python syntax error can occur when an installation script written for Python 2 is executed by Python 3.

Multiple Python versions may coexist on the same Linux server. Installing Python 2 does not guarantee that the command python resolves to it.

Check the interpreter used by the installation account:

which python
python --version
Enter fullscreen mode Exit fullscreen mode

Repeat these checks under the root account and the intended database installation account, such as gbase, if both accounts are involved in the deployment.

If the installation guide requires Python 2, verify that the selected interpreter is Python 2 and that the necessary runtime dependencies are installed.

On CentOS 8 or RHEL 8, package availability and naming may vary depending on the configured repositories and system image. Confirm the requirements for the specific GBase Database release rather than assuming that every system provides python2 and python-libs by default.

Follow the documented installer entry point. For example, if the guide specifies invoking the script through the default Python command, use:

python gcinstall.py
Enter fullscreen mode Exit fullscreen mode

Do not assume that python2 gcinstall.py is interchangeable in every installation workflow. If the installer relies on environment configuration or a particular entry point, use the invocation documented for that version.

A Better Troubleshooting Workflow

When GBase Database installation fails, avoid changing several variables at once.

Use a consistent sequence:

  1. Classify the error: OS validation, terminal input, SSH, dependencies, or Python.
  2. Collect evidence: Capture the complete error message, command output, and relevant logs.
  3. Verify the environment: Compare the actual configuration with the requirements for your release.
  4. Change one thing: Apply the smallest justified correction.
  5. Rerun the relevant check: Confirm that the original cause is resolved before proceeding.
  6. Record the fix: Document the affected node, root cause, and corrective action.

This approach is especially useful for multi-node deployments, where an environment inconsistency can make one node behave differently from the others.

Final Thoughts

Most GBase Database(GBase 8a) installation failures become easier to diagnose when the error is assigned to the correct layer.

An OS validation failure calls for package and compatibility checks. Unexpected terminal characters call for input-path investigation. SSH errors require authentication and connectivity checks. GCware failures require service, dependency, and cluster diagnostics. Python syntax errors require interpreter verification.

The goal is not to accumulate more troubleshooting commands. It is to identify the failing layer, verify the cause, and make one controlled correction at a time.

For version-specific installer flags, service commands, and runtime requirements, always consult the documentation for the exact release you are deploying.

When a database installation fails in your environment, which layer do you check first: OS compatibility, SSH, dependencies, or the runtime?

Top comments (0)