ZNC is compiled without encodings support #871

Closed
opened 2026-10-05 04:49:35 +02:00 by adam · 2 comments
Owner

I had the epel yum version (CentOS 7) previously, although uninstalled it before compiling and installing the tarball source (1.7.1). Would there be some remanents left over perhaps? I do find it odd for sure.

In the ZNC web control panel:

Client encoding: ZNC is compiled without encodings support. ICU is required for it.  
(  ) Don't ensure any encoding at all (legacy mode, not recommended) 
(  ) Try to parse as UTF-8 and as, send as UTF-8 (recommended) 
(  ) Try to parse as UTF-8 and as, send as Parse and send as only E.g. UTF-8, or ISO-8859-15

Checking version installed:

/msg *status version
ZNC 1.7.1 - https://znc.in
[17:20:44] *status IPv6: yes, SSL: yes, DNS: threads, charset: no, i18n: no, build: autoconf

When compiling I had this output:

$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig python_LIBS="-L/usr/local/lib/ -lpython3.6m -lutil" ../configure --enable-python
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking for a BSD-compatible install... /bin/install -c
checking for grep that handles long lines and -e... /bin/grep
checking for a sed that does not truncate output... /bin/sed
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether the -Werror option is usable... yes
checking for simple visibility declarations... yes
checking for git... /bin/git
checking for pkg-config... /bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether compiler predefines _FORTIFY_SOURCE... no
checking for getopt_long in -lgnugetopt... no
checking for lstat... yes
checking for getopt_long... yes
checking for getpassphrase... no
checking for clock_gettime... yes
checking for tcsetattr... yes
checking for library containing dlopen... -ldl
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking whether getaddrinfo() supports AI_ADDRCONFIG... yes
checking for openssl... yes
checking whether openssl is usable... yes
checking whether zlib is usable... yes
checking for icu... yes
checking for qt... no
checking for SWIG >= 3.0.0... /usr/local/bin/swig
configure: Following SWIG versions are found: 3.0.12 
configure: modperl/modpython files are found, disabling SWIG
configure: modperl/modpython files are found, no SWIG needed
checking for python... yes
checking for Py_Initialize... yes
checking for perl... /bin/perl
checking for GNU make... /bin/make
configure: creating ./config.status
config.status: creating Makefile
config.status: creating znc-buildmod
config.status: creating man/Makefile
config.status: creating znc.pc
config.status: creating znc-uninstalled.pc
config.status: creating modules/Makefile
config.status: creating include/znc/zncconfig.h
config.status: include/znc/zncconfig.h is unchanged

ZNC 1.7.1 configured

prefix:       /usr/local
debug:        no
ipv6:         yes
openssl:      yes
dns:          threads
perl:         no
python:       yes
swig:         not needed
cyrus:        no
tcl:          no
charset:      yes
zlib:         yes
run from src: no

Now you can run "make" to compile ZNC

Upon installing:

$ which znc
/usr/local/bin/znc

I'm at a bit of a loss why ICU is not picked up for whatever reason.

I had the epel `yum` version (CentOS 7) previously, although uninstalled it before compiling and installing the tarball source (1.7.1). Would there be some remanents left over perhaps? I do find it odd for sure. In the ZNC web control panel: ``` Client encoding: ZNC is compiled without encodings support. ICU is required for it. ( ) Don't ensure any encoding at all (legacy mode, not recommended) ( ) Try to parse as UTF-8 and as, send as UTF-8 (recommended) ( ) Try to parse as UTF-8 and as, send as Parse and send as only E.g. UTF-8, or ISO-8859-15 ``` Checking version installed: ``` /msg *status version ZNC 1.7.1 - https://znc.in [17:20:44] *status IPv6: yes, SSL: yes, DNS: threads, charset: no, i18n: no, build: autoconf ``` When compiling I had this output: ``` $ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig python_LIBS="-L/usr/local/lib/ -lpython3.6m -lutil" ../configure --enable-python checking for g++... g++ checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking whether g++ supports C++11 features by default... no checking whether g++ supports C++11 features with -std=c++11... yes checking for a BSD-compatible install... /bin/install -c checking for grep that handles long lines and -e... /bin/grep checking for a sed that does not truncate output... /bin/sed checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking whether the -Werror option is usable... yes checking for simple visibility declarations... yes checking for git... /bin/git checking for pkg-config... /bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking whether compiler predefines _FORTIFY_SOURCE... no checking for getopt_long in -lgnugetopt... no checking for lstat... yes checking for getopt_long... yes checking for getpassphrase... no checking for clock_gettime... yes checking for tcsetattr... yes checking for library containing dlopen... -ldl checking for the pthreads library -lpthreads... no checking whether pthreads work without any flags... no checking whether pthreads work with -Kthread... no checking whether pthreads work with -kthread... no checking for the pthreads library -llthread... no checking whether pthreads work with -pthread... yes checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE checking if more special flags are required for pthreads... no checking for PTHREAD_PRIO_INHERIT... yes checking whether getaddrinfo() supports AI_ADDRCONFIG... yes checking for openssl... yes checking whether openssl is usable... yes checking whether zlib is usable... yes checking for icu... yes checking for qt... no checking for SWIG >= 3.0.0... /usr/local/bin/swig configure: Following SWIG versions are found: 3.0.12 configure: modperl/modpython files are found, disabling SWIG configure: modperl/modpython files are found, no SWIG needed checking for python... yes checking for Py_Initialize... yes checking for perl... /bin/perl checking for GNU make... /bin/make configure: creating ./config.status config.status: creating Makefile config.status: creating znc-buildmod config.status: creating man/Makefile config.status: creating znc.pc config.status: creating znc-uninstalled.pc config.status: creating modules/Makefile config.status: creating include/znc/zncconfig.h config.status: include/znc/zncconfig.h is unchanged ZNC 1.7.1 configured prefix: /usr/local debug: no ipv6: yes openssl: yes dns: threads perl: no python: yes swig: not needed cyrus: no tcl: no charset: yes zlib: yes run from src: no Now you can run "make" to compile ZNC ``` Upon installing: ``` $ which znc /usr/local/bin/znc ``` I'm at a bit of a loss why ICU is not picked up for whatever reason. <!-- github-sync-id:363814461 -->
adam closed this issue 2026-10-05 04:49:35 +02:00
Author
Owner

Uhm... did make install work? What does ./znc --version say when you run it in the source directory where you built znc? Do you get the same output from znc --version?

Uhm... did `make install` work? What does `./znc --version` say when you run it in the source directory where you built znc? Do you get the same output from `znc --version`? <!-- github-comment-id:424606679 -->
Author
Owner

@psychon: Yep, make install worked fine, and ./znc --version came back as:

$ znc --version
ZNC 1.7.1 - https://znc.in
IPv6: yes, SSL: yes, DNS: threads, charset: no, i18n: no, build: autoconf

Which was the same as from the client, which got me thinking... that something is definitely amiss. I went back to my build directory and the timestamps looked older than my most recent compile, although I had done make clean beforehand.

I went ahead and manually wiped out everything and untarred from scratch just to be sure I was starting fresh. Low and behold that was the issue, the make install was using stale binaries, etc. so now when I check the version I get what I originally expected:

$ ./znc --version
ZNC 1.7.1 - https://znc.in
IPv6: yes, SSL: yes, DNS: threads, charset: yes, i18n: no, build: autoconf

Thank you for your help and suggestions, as things appear to line-up now! :)

@psychon: Yep, `make install` worked fine, and `./znc --version` came back as: ``` $ znc --version ZNC 1.7.1 - https://znc.in IPv6: yes, SSL: yes, DNS: threads, charset: no, i18n: no, build: autoconf ``` Which was the same as from the client, which got me thinking... that something is definitely amiss. I went back to my build directory and the timestamps looked older than my most recent compile, although I had done `make clean` beforehand. I went ahead and manually wiped out everything and untarred from scratch just to be sure I was starting fresh. Low and behold that was the issue, the `make install` was using stale binaries, etc. so now when I check the version I get what I originally expected: ``` $ ./znc --version ZNC 1.7.1 - https://znc.in IPv6: yes, SSL: yes, DNS: threads, charset: yes, i18n: no, build: autoconf ``` Thank you for your help and suggestions, as things appear to line-up now! :) <!-- github-comment-id:424682286 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#871