Compiling libepp-nicbr is straightforward only when your C/C++ dependency chain is stable. In real environments, most failures happen in headers/include paths, not in EPP logic itself.
This is the exact flow I used in production-like setup.
Technical context
libepp-nicbr provides EPP operations for registrar workflows. In my case it was required for domain automation routines.
Mandatory prerequisite: Xerces-C
Validate Xerces-C first:
ldconfig -p | grep -i xerces
pkg-config --modversion xerces-c || echo "xerces-c not in pkg-config"
Download and extract
cd /usr/local/src
wget -O libepp.tar.gz https://ftp.registro.br/pub/libepp-nicbr/libepp-nicbr-1.20_1.tar.gz
tar -xvf libepp.tar.gz
cd libepp-*
Configure/build/install
./configure
make -j"$(nproc)"
make install
make doc
ldconfig
Common failure: readline include mismatch
Observed error:
checking for /usr/include/readline/readline/readline.h ... no
checking for /usr/include/readline/readline/history.h ... no
Fix applied:
ln -s /usr/include/readline /usr/include/readline/readline
ln -s /usr/include/readline /usr/include/readline/history
./configure --with-readline-includes=/usr/include/readline
Runtime validation with shepp
shepp
Expected:
Welcome to shepp version 1.25, an EPP shell client!
Type: 'help' for available commands.
shepp:
Operational checklist
which shepp
ldd "$(which shepp)"
Document configure flags and outputs for repeatable builds.
Final takeaway
The reliable fix is not forcing compilation. It is validating dependency paths first, then confirming runtime behavior through shepp.
This post is licensed under CC BY-NC.
Comments
Join the discussion below.
Comments are not configured yet. Add Cusdis settings in /assets/json/config/blog-comments-config.json.