I'm trying to add charset support to ZNC, and finally got it to install, but it won't run. My installation process is already complicated due to being on CentOS 6 and wanting modpython too. I usually install fine this way and have ZNC+modpython. But adding ICU into the mix isn't working.
My process:
scl enable devtoolset-1.1 bash
yum install icu libicu libicu-devel
wget http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-RHEL6-i386.tgz
mv icu*.tgz /
cd /
tar -xzvf icu*.tgz
rm -rf icu*.tgz
cd ~
wget http://znc.in/releases/znc-latest.tar.gz
tar -xzvf znc*.*gz
cd znc*
ldconfig
export LD_LIBRARY_PATH=/opt/python3/lib:/usr/local/lib
PKG_CONFIG_PATH=/opt/python3/lib/pkgconfig:/usr/local/lib/pkgconfig python_LIBS="-L/opt/python3/lib/ -lpython3.5m -lutil" ./configure --enable-python --disable-swig
make
make install
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/opt/python3/lib
/usr/local/lib
# sudo -u znc /usr/local/bin/znc
/usr/local/bin/znc: error while loading shared libraries: libicuuc.so.57: cannot open shared object file: No such file or directory
I had to use that ICU binary tar because ./configure wouldn't recognize icu until i got those from the icu website and extracted them into my system.
Why can't ZNC find libicuuc.so.57? Where is it looking for it? It's there in /usr/local/lib/
I'm trying to add `charset` support to ZNC, and finally got it to install, but it won't run. My installation process is already complicated due to being on CentOS 6 and wanting modpython too. I usually install fine this way and have ZNC+modpython. But adding ICU into the mix isn't working.
My process:
```
scl enable devtoolset-1.1 bash
yum install icu libicu libicu-devel
wget http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-RHEL6-i386.tgz
mv icu*.tgz /
cd /
tar -xzvf icu*.tgz
rm -rf icu*.tgz
cd ~
wget http://znc.in/releases/znc-latest.tar.gz
tar -xzvf znc*.*gz
cd znc*
ldconfig
export LD_LIBRARY_PATH=/opt/python3/lib:/usr/local/lib
PKG_CONFIG_PATH=/opt/python3/lib/pkgconfig:/usr/local/lib/pkgconfig python_LIBS="-L/opt/python3/lib/ -lpython3.5m -lutil" ./configure --enable-python --disable-swig
make
make install
```
```
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/opt/python3/lib
/usr/local/lib
```
```
# sudo -u znc /usr/local/bin/znc
/usr/local/bin/znc: error while loading shared libraries: libicuuc.so.57: cannot open shared object file: No such file or directory
```
I had to use that ICU binary tar because ./configure wouldn't recognize icu until i got those from the icu website and extracted them into my system.
Why can't ZNC find libicuuc.so.57? Where is it looking for it? It's there in /usr/local/lib/
<!-- github-sync-id:169731845 -->
I had to use that ICU binary tar because ./configure wouldn't recognize icu until
Old versions of it didn't have the pkg-config files. ZNC relies on them to find ICU.
i got those from the icu website and extracted them into my system.
Offtopic, but I advise you to use checkinstall instead of extracting tars to /. That's easier to cleanup.
Check ldd /usr/local/lib/libicuuc.so.57, does it depend on anything not installed? If so, compile ICU from source.
Try strace znc.
> I had to use that ICU binary tar because ./configure wouldn't recognize icu until
Old versions of it didn't have the pkg-config files. ZNC relies on them to find ICU.
> i got those from the icu website and extracted them into my system.
Offtopic, but I advise you to use checkinstall instead of extracting tars to `/`. That's easier to cleanup.
Check `ldd /usr/local/lib/libicuuc.so.57`, does it depend on anything not installed? If so, compile ICU from source.
Try `strace znc`.
<!-- github-comment-id:238012667 -->
ldd /usr/local/lib/libicuuc.so.57 still shows libicudata.so.57 => not found even though that file is there
i installed znc and still get ./znc: error while loading shared libraries: libicuuc.so.57: cannot open shared object file: No such file or directory
going to strace
i compiled it from http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz
i can see that it added files to /usr/local/lib
`ldd /usr/local/lib/libicuuc.so.57` still shows `libicudata.so.57 => not found` even though that file is there
i installed znc and still get `./znc: error while loading shared libraries: libicuuc.so.57: cannot open shared object file: No such file or directory`
going to strace
<!-- github-comment-id:238017853 -->
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/opt/python3/lib
/usr/local/lib
# cat /etc/ld.so.conf.d/*.conf
# This directive teaches ldconfig to search in nosegneg subdirectories
# and cache the DSOs there with extra bit 1 set in their hwcap match
# fields. In Xen guest kernels, the vDSO tells the dynamic linker to
# search in nosegneg subdirectories and to match this extra hwcap bit
# in the ld.so.cache file.
hwcap 1 nosegneg
# This directive teaches ldconfig to search in nosegneg subdirectories
# and cache the DSOs there with extra bit 1 set in their hwcap match
# fields. In Xen guest kernels, the vDSO tells the dynamic linker to
# search in nosegneg subdirectories and to match this extra hwcap bit
# in the ld.so.cache file.
hwcap 1 nosegneg
# This directive teaches ldconfig to search in nosegneg subdirectories
# and cache the DSOs there with extra bit 1 set in their hwcap match
# fields. In Xen guest kernels, the vDSO tells the dynamic linker to
# search in nosegneg subdirectories and to match this extra hwcap bit
# in the ld.so.cache file.
hwcap 1 nosegneg
# This directive teaches ldconfig to search in nosegneg subdirectories
# and cache the DSOs there with extra bit 1 set in their hwcap match
# fields. In Xen guest kernels, the vDSO tells the dynamic linker to
# search in nosegneg subdirectories and to match this extra hwcap bit
# in the ld.so.cache file.
hwcap 1 nosegneg
# This directive teaches ldconfig to search in nosegneg subdirectories
# and cache the DSOs there with extra bit 1 set in their hwcap match
# fields. In Xen guest kernels, the vDSO tells the dynamic linker to
# search in nosegneg subdirectories and to match this extra hwcap bit
# in the ld.so.cache file.
hwcap 1 nosegneg
/usr/lib/mysql
/usr/lib/mysql
/usr/lib/tcl8.5
/usr/local/lib
```
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/opt/python3/lib
/usr/local/lib
# cat /etc/ld.so.conf.d/*.conf
# This directive teaches ldconfig to search in nosegneg subdirectories
# and cache the DSOs there with extra bit 1 set in their hwcap match
# fields. In Xen guest kernels, the vDSO tells the dynamic linker to
# search in nosegneg subdirectories and to match this extra hwcap bit
# in the ld.so.cache file.
hwcap 1 nosegneg
# This directive teaches ldconfig to search in nosegneg subdirectories
# and cache the DSOs there with extra bit 1 set in their hwcap match
# fields. In Xen guest kernels, the vDSO tells the dynamic linker to
# search in nosegneg subdirectories and to match this extra hwcap bit
# in the ld.so.cache file.
hwcap 1 nosegneg
# This directive teaches ldconfig to search in nosegneg subdirectories
# and cache the DSOs there with extra bit 1 set in their hwcap match
# fields. In Xen guest kernels, the vDSO tells the dynamic linker to
# search in nosegneg subdirectories and to match this extra hwcap bit
# in the ld.so.cache file.
hwcap 1 nosegneg
# This directive teaches ldconfig to search in nosegneg subdirectories
# and cache the DSOs there with extra bit 1 set in their hwcap match
# fields. In Xen guest kernels, the vDSO tells the dynamic linker to
# search in nosegneg subdirectories and to match this extra hwcap bit
# in the ld.so.cache file.
hwcap 1 nosegneg
# This directive teaches ldconfig to search in nosegneg subdirectories
# and cache the DSOs there with extra bit 1 set in their hwcap match
# fields. In Xen guest kernels, the vDSO tells the dynamic linker to
# search in nosegneg subdirectories and to match this extra hwcap bit
# in the ld.so.cache file.
hwcap 1 nosegneg
/usr/lib/mysql
/usr/lib/mysql
/usr/lib/tcl8.5
/usr/local/lib
```
<!-- github-comment-id:238018357 -->
adding the env LD_LIBRARY_PATH=/opt/python3/lib:/usr/local/lib before znc works. is there a better long term solution though? somethings messing up during install it seems
adding the `env LD_LIBRARY_PATH=/opt/python3/lib:/usr/local/lib` before znc works. is there a better long term solution though? somethings messing up during install it seems
<!-- github-comment-id:238018395 -->
# export LD_LIBRARY_PATH=/opt/python3/lib:/usr/local/lib
# sudo -u znc ./znc
./znc: error while loading shared libraries: libicuuc.so.57: cannot open shared object file: No such file or directory
this doesnt help with running it. only env before the command does. idgi
```
# export LD_LIBRARY_PATH=/opt/python3/lib:/usr/local/lib
# sudo -u znc ./znc
./znc: error while loading shared libraries: libicuuc.so.57: cannot open shared object file: No such file or directory
```
this doesnt help with running it. only env before the command does. idgi
<!-- github-comment-id:238018466 -->
Yes, there is.
The best long-term solution is to upgrade your OS :-)
The second long-term solution is to find out what's up with /etc/ld.so.conf. If you find that out, I'd be curious to see.
sudo cleans environment for security reasons, that's why env needs to be run by sudo.
Yes, there is.
The best long-term solution is to upgrade your OS :-)
The second long-term solution is to find out what's up with `/etc/ld.so.conf`. If you find that out, I'd be curious to see.
sudo cleans environment for security reasons, that's why env needs to be run by sudo.
<!-- github-comment-id:238018509 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
I'm trying to add
charsetsupport to ZNC, and finally got it to install, but it won't run. My installation process is already complicated due to being on CentOS 6 and wanting modpython too. I usually install fine this way and have ZNC+modpython. But adding ICU into the mix isn't working.My process:
I had to use that ICU binary tar because ./configure wouldn't recognize icu until i got those from the icu website and extracted them into my system.
Why can't ZNC find libicuuc.so.57? Where is it looking for it? It's there in /usr/local/lib/
Old versions of it didn't have the pkg-config files. ZNC relies on them to find ICU.
Offtopic, but I advise you to use checkinstall instead of extracting tars to
/. That's easier to cleanup.Check
ldd /usr/local/lib/libicuuc.so.57, does it depend on anything not installed? If so, compile ICU from source.Try
strace znc.thanks
ill try to compile icu
i compiled it from http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz
i can see that it added files to /usr/local/lib
ldd /usr/local/lib/libicuuc.so.57still showslibicudata.so.57 => not foundeven though that file is therei installed znc and still get
./znc: error while loading shared libraries: libicuuc.so.57: cannot open shared object file: No such file or directorygoing to strace
its looking for the files everywhere but /usr/local/bin i guess? lol
and /usr/lib/ only has the old versions
sudo -u znc env LD_LIBRARY_PATH=/opt/python3/lib:/usr/local/lib /usr/local/bin/znc?I wonder why
/etc/ld.so.confdoesn't work... What's in/etc/ld.so.conf.d/*.conf?adding the
env LD_LIBRARY_PATH=/opt/python3/lib:/usr/local/libbefore znc works. is there a better long term solution though? somethings messing up during install it seemsthis doesnt help with running it. only env before the command does. idgi
Yes, there is.
The best long-term solution is to upgrade your OS :-)
The second long-term solution is to find out what's up with
/etc/ld.so.conf. If you find that out, I'd be curious to see.sudo cleans environment for security reasons, that's why env needs to be run by sudo.
typing
ldconfigfixed it, it seems... i hope that persists