Skip to content

No start after update to 12223 #4264

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
xury77 opened this issue Jul 13, 2020 · 18 comments
Closed

No start after update to 12223 #4264

xury77 opened this issue Jul 13, 2020 · 18 comments

Comments

@xury77
Copy link

xury77 commented Jul 13, 2020

Domoticz does not start after update to 12223 on Debian buster X86-64
On the log I had:

error while loading shared libraries: libjsoncpp.so.24: cannot open shared object file: No such file or directory

I manually installed libjsoncpp-dev and made symlink to libjsoncpp.so.24
Next I had:

/domoticz: error while loading shared libraries: libminizip.so: cannot open shared object file: No such file or directory

Again I installed libminizip1 and libminizip-dev
Finally I have:

/domoticz: undefined symbol: _ZN4Json19StreamWriterBuilderixERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

@herm42
Copy link

herm42 commented Jul 13, 2020

same here ... libjasoncpp24 is available in debian experimental only.

@rwaaren
Copy link
Contributor

rwaaren commented Jul 13, 2020

Just checked on my Intel NUC (Debian Buster).

Local compiled version OK link to tar.gz

:#ldd domoticz
        linux-vdso.so.1 (0x00007ffc48b50000)
        libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007fe7457cb000)
        libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007fe7454e2000)
        libusb-0.1.so.4 => /lib/x86_64-linux-gnu/libusb-0.1.so.4 (0x00007fe7452d7000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe7450b9000)
        libcurl-gnutls.so.4 => /lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007fe74502b000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe74500a000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe745003000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe744ff9000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fe744fdf000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe744e5c000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe744c9b000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fe746605000)
        libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007fe744c73000)
        libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fe744c52000)
        librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007fe744a35000)
        libssh2.so.1 => /lib/x86_64-linux-gnu/libssh2.so.1 (0x00007fe744a07000)
        libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007fe7449f4000)
        libnettle.so.6 => /lib/x86_64-linux-gnu/libnettle.so.6 (0x00007fe7449bc000)
        libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fe744810000)
        libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fe7447c1000)
        libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fe7446e1000)
        libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fe7446ad000)
        libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fe7446a7000)
        libldap_r-2.4.so.2 => /lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007fe744653000)
        liblber-2.4.so.2 => /lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007fe744642000)
        libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007fe7444bc000)
        libhogweed.so.4 => /lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007fe744483000)
        libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fe744400000)
        libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fe7442e2000)
        libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fe7441b3000)
        libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fe743f9e000)
        libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fe743f8f000)
        libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fe743f88000)
        libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fe743f6b000)
        libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fe743f48000)
        libffi.so.6 => /lib/x86_64-linux-gnu/libffi.so.6 (0x00007fe743f3c000)

compiled binary from domoticz download NOK

#ldd domoticz
        linux-vdso.so.1 (0x00007ffe2b7ed000)
        libjsoncpp.so.24 => not found
        libminizip.so => not found
        libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f35ce271000)
        libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f35cdf88000)
        libusb-0.1.so.4 => /lib/x86_64-linux-gnu/libusb-0.1.so.4 (0x00007f35cdd7d000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f35cdb5f000)
        libcurl-gnutls.so.4 => /lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f35cdacf000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f35cdaae000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f35cdaa9000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f35cda9f000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f35cda85000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f35cd902000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f35cd73f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f35cf274000)
        libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007f35cd717000)
        libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f35cd6f8000)
        librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f35cd4db000)
        libssh2.so.1 => /lib/x86_64-linux-gnu/libssh2.so.1 (0x00007f35cd4ad000)
        libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f35cd49a000)
        libnettle.so.6 => /lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f35cd460000)
        libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f35cd2b4000)
        libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f35cd267000)
        libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f35cd187000)
        libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f35cd153000)
        libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f35cd14d000)
        libldap_r-2.4.so.2 => /lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f35cd0f7000)
        liblber-2.4.so.2 => /lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f35cd0e6000)
        libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f35ccf62000)
        libhogweed.so.4 => /lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f35ccf29000)
        libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f35ccea6000)
        libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f35ccd86000)
        libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f35ccc57000)
        libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f35cca44000)
        libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f35cca35000)
        libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f35cca2e000)
        libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f35cca0f000)
        libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f35cc9ec000)
        libffi.so.6 => /lib/x86_64-linux-gnu/libffi.so.6 (0x00007f35cc9e2000)


@xury77
Copy link
Author

xury77 commented Jul 13, 2020

I can confirm. Version compiled by waaren works well. Thank You.

@gizmocuz
Copy link
Contributor

Just to be sure, you are updating from the web interface ?
The debian (X86-64) builds are build by Travis, the build script has not been changed
JSON should be build and linked statically , but it seems it is building the dynamic library

The reason seems to be caused upstream in a recent JSONCPP commit:

open-source-parsers/jsoncpp@cfc1ad7

I asked how to use the new changes to build a shared library in a submodule and hope to have an answer soon

@gizmocuz
Copy link
Contributor

@rwaaren , did you need to make any changes ? Could you try to remove the CMakeFiles folder and the CMakeCache.txt file, and try to build again (this will make sure it builds from scratch)

@rwaaren
Copy link
Contributor

rwaaren commented Jul 14, 2020

@rwaaren , did you need to make any changes ?

No

Could you try to remove the CMakeFiles folder and the CMakeCache.txt file, and try to build again (this will make sure it builds from scratch)

copied git/beta to git/beta.old # keep a copy of the working env.

cd git/beta
rm -r CMakeFiles/

make
CMake Error at extern/jsoncpp/src/lib_json/CMakeLists.txt:172 (target_compile_features):
Cannot specify compile features for target "PUBLIC" which is not built by
this project.

rm -r git/beta
git clone https://github.com/domoticz/domoticz.git git/beta
cmake -DCMAKE_BUILD_TYPE=Release CMakeLists.txt

compiling now..

@rwaaren
Copy link
Contributor

rwaaren commented Jul 14, 2020

Compiling and executing without problems.

ldd git/beta/bin/domoticz

       linux-vdso.so.1 (0x00007ffeef953000)
        libjsoncpp.so.24 => /usr/local/domotica/git/beta/lib/libjsoncpp.so.24 (0x00007f43d7b5e000)
        libminizip.so => /usr/local/domotica/git/beta/lib/libminizip.so (0x00007f43d7b51000)
        libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f43d7aa5000)
        libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f43d77bc000)
        libusb-0.1.so.4 => /lib/x86_64-linux-gnu/libusb-0.1.so.4 (0x00007f43d75b1000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f43d7393000)
        libcurl-gnutls.so.4 => /lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f43d7303000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f43d72e2000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f43d72dd000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f43d72d3000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f43d72b9000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f43d7136000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f43d6f73000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f43d88f5000)
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f43d6def000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f43d6dd5000)
        libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007f43d6dad000)
        libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f43d6d8e000)
        librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f43d6b71000)
        libssh2.so.1 => /lib/x86_64-linux-gnu/libssh2.so.1 (0x00007f43d6b41000)
        libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f43d6b2e000)
        libnettle.so.6 => /lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f43d6af6000)
        libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f43d694a000)
        libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f43d68fd000)
        libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f43d681d000)
        libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f43d67e7000)
        libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f43d67e1000)
        libldap_r-2.4.so.2 => /lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f43d678d000)
        liblber-2.4.so.2 => /lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f43d677c000)
        libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f43d65f8000)
        libhogweed.so.4 => /lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f43d65bd000)
        libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f43d653a000)
        libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f43d641c000)
        libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f43d62ed000)
        libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f43d60da000)
        libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f43d60c9000)
        libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f43d60c2000)
        libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f43d60a5000)
        libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f43d6082000)
        libffi.so.6 => /lib/x86_64-linux-gnu/libffi.so.6 (0x00007f43d6078000)

@gizmocuz
Copy link
Contributor

@rwaaren , When I do this, it builds the jsoncpp library as shared, I see that from the CMake output
In your above about, this -> libjsoncpp.so.24 <- should not be there

@rwaaren
Copy link
Contributor

rwaaren commented Jul 14, 2020

OK. Do I need to change something and/or the wiki ?

cmake version 3.17.2
gcc (Debian 8.3.0-6) 8.3.0

@gizmocuz
Copy link
Contributor

@rwaaren , No I think it is now fixed upstream, have to test now. If you want to test as well, make sure to delete the CMakeFiles and CMakeCache.txt

@gizmocuz
Copy link
Contributor

@rwaaren , I'm not sure if updating the modules checks out this last commit

open-source-parsers/jsoncpp@bf0cfa5

I removed the "extern" folder, CMake is getting the submodules again, but here it stays on "SHARED_LIB"

@rwaaren
Copy link
Contributor

rwaaren commented Jul 14, 2020

I removed the complete directory and cloned again. Compiling now. Will share the result when compile is complete.

@gizmocuz
Copy link
Contributor

I already see in the build progress log the following line:

[ 1%] Linking CXX shared library ../../../../lib/libjsoncpp.so

in the lib folder (git/beta/lib) there is also a dynamic library placed

@rwaaren
Copy link
Contributor

rwaaren commented Jul 14, 2020

Local compile works

and

ldd domoticz
        linux-vdso.so.1 (0x00007ffc083f0000)
        libjsoncpp.so.24 => /usr/local/domotica/git/beta/lib/libjsoncpp.so.24 (0x00007f2d1f8f0000)
        libminizip.so => /usr/local/domotica/git/beta/lib/libminizip.so (0x00007f2d1f8e3000)
        libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f2d1f837000)

@gizmocuz
Copy link
Contributor

Yes, but you should not see "libjsoncpp.so.24"
In your lib folder (git/beta/lib) do you see a libjson with .a as extension ? , If not, it's not working

@rwaaren
Copy link
Contributor

rwaaren commented Jul 14, 2020

Yes, but you should not see "libjsoncpp.so.24"
In your lib folder (git/beta/lib) do you see a libjson with .a as extension ? , If not, it's not working

You are right!

It only works on the same system because /usr/local/domotica/git/beta/lib/libjsoncpp.so.24
exist there


:/usr/local/domotica/git/beta/lib:#ll
total 1820
drwxr-xr-x  2 root root    4096 Jul 14 13:03 .
drwxr-xr-x 24 root root    4096 Jul 14 13:31 ..
lrwxrwxrwx  1 root root      16 Jul 14 13:03 libjsoncpp.so -> libjsoncpp.so.24
-rwxr-xr-x  1 root root  288904 Jul 14 13:03 libjsoncpp.so.1.9.3
lrwxrwxrwx  1 root root      19 Jul 14 13:03 libjsoncpp.so.24 -> libjsoncpp.so.1.9.3
-rwxr-xr-x  1 root root   54008 Jul 14 13:03 libminizip.so
-rw-r--r--  1 root root  239456 Jul 14 13:03 libmosquitto_static.a
-rw-r--r--  1 root root 1264084 Jul 14 13:03 libsqlite3.a

@gizmocuz
Copy link
Contributor

New beta should work again

@newwolf
Copy link

newwolf commented Jul 14, 2020

Yes, it's working again.
Thanks All

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants