• Installation issue for yottadb 1.38 on RASPI

    From Jens@21:1/5 to All on Wed Oct 25 13:25:09 2023
    I'm trying to upgrade my yottadb 1.30, which runs perfect on my raspi 4 to 1.38.

    But the installation fails and when i try to start yottadb i get the following message:
    root@RASPI4:/usr/local/lib/yottadb/r138# ./yottadb -di
    %YDB-E-DLLNOOPEN, Failed to load external dynamic library /usr/local/lib/yottadb/r138/libyottadb.so
    %YDB-E-TEXT, /usr/local/lib/yottadb/r138/libyottadb.so: cannot open shared object file: No such file or directory

    libyottadb.so is at the right place, but i can't be loaded.

    As you see in the output below the 1.30-version is a "PIE executable", while the 1.38-version is a "shared library". I suspect a wrong compilation.

    Can anyone help?

    root@RASPI4:/usr/lib/arm-linux-gnueabihf# file /usr/local/lib/yottadb/r138/libyottadb.so
    /usr/local/lib/yottadb/r138/libyottadb.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=883ffad004b0b87df2407f62384a39d9d7482dff, not stripped
    root@RASPI4:/usr/lib/arm-linux-gnueabihf# file /usr/local/lib/yottadb/r130/libyottadb.so
    /usr/local/lib/yottadb/r130/libyottadb.so: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=22a1a2cc3bf12b4e0056cc24bf7c41488324f3f2, not stripped

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From K.S. Bhaskar@21:1/5 to Jens on Thu Oct 26 08:41:51 2023
    On Wednesday, October 25, 2023 at 4:25:11 PM UTC-4, Jens wrote:
    I'm trying to upgrade my yottadb 1.30, which runs perfect on my raspi 4 to 1.38.

    But the installation fails and when i try to start yottadb i get the following message:
    root@RASPI4:/usr/local/lib/yottadb/r138# ./yottadb -di
    %YDB-E-DLLNOOPEN, Failed to load external dynamic library /usr/local/lib/yottadb/r138/libyottadb.so
    %YDB-E-TEXT, /usr/local/lib/yottadb/r138/libyottadb.so: cannot open shared object file: No such file or directory

    libyottadb.so is at the right place, but i can't be loaded.

    As you see in the output below the 1.30-version is a "PIE executable", while the 1.38-version is a "shared library". I suspect a wrong compilation.

    Can anyone help?

    root@RASPI4:/usr/lib/arm-linux-gnueabihf# file /usr/local/lib/yottadb/r138/libyottadb.so
    /usr/local/lib/yottadb/r138/libyottadb.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=883ffad004b0b87df2407f62384a39d9d7482dff, not stripped
    root@RASPI4:/usr/lib/arm-linux-gnueabihf# file /usr/local/lib/yottadb/r130/libyottadb.so
    /usr/local/lib/yottadb/r130/libyottadb.so: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=22a1a2cc3bf12b4e0056cc24bf7c41488324f3f2, not stripped

    Jens, please post the output of the installation (e.g., with ydbinstall.sh) you ran to install YottaDB. Also, what Linux distribution and release are you using? Thank you.

    Regards
    – Bhaskar

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jens@21:1/5 to All on Fri Oct 27 02:17:19 2023
    The full log seems to be too long so I try the post the relevant parts: root-RASPI4:/tmp/tmp# ./ydbinstall.sh --force-install --utf8
    configure.sh failed. Output follows
    YottaDB Configuration Script
    Copyright 2009, 2014 Fidelity Information Services, Inc. Use of this
    software is restricted by the provisions of your license agreement.
    Copyright (c) 2017-2019 YottaDB LLC and/or its subsidiaries.
    All rights reserved.

    What user account should own the files? (root) root
    What group should own the files? (root) root
    Should execution of YottaDB be restricted to this group? (y or n) N
    In what directory should YottaDB be installed? /usr/local/lib/yottadb/r138

    Directory /usr/local/lib/yottadb/r138 does not exist. Do you wish to create it as part of
    this installation? (y or n) y

    Installing YottaDB....

    Should UTF-8 support be installed? (y or n) y
    Should an ICU version other than the default be used? (y or n) y
    Enter ICU version (at least ICU version 3.6 is required. Enter as <major-ver>.<minor-ver>): 65
    Should deprecated components be installed? (y or n) y

    All of the YottaDB MUMPS routines are distributed with uppercase names.
    You can create lowercase copies of these routines if you wish, but
    to avoid problems with compatibility in the future, consider keeping
    only the uppercase versions of the files.

    Do you want uppercase and lowercase versions of the MUMPS routines? (y or n) Y ...
    + cp -p ydb_tls_interface.h /usr/local/lib/yottadb/r138
    + chown root /usr/local/lib/yottadb/r138/ydb_tls_interface.h
    + cp -p ydbcrypt_interface.h /usr/local/lib/yottadb/r138
    + chown root /usr/local/lib/yottadb/r138/ydbcrypt_interface.h
    + [ -f /usr/bin/chcon ]
    + chcon -t texrel_shlib_t /usr/local/lib/yottadb/r138/libyottadb.so
    chcon: der unvollständige Kontext kann nicht auf Datei '/usr/local/lib/yottadb/r138/libyottadb.so' ohne Label angewendt werden
    + exit 0
    + mkdir /usr/local/lib/yottadb/r138/plugin
    mkdir: das Verzeichnis „/usr/local/lib/yottadb/r138/plugin“ kann nicht angelegt werden: Die Datei existiert bereits
    ...
    + ./yottadb -noignore DECOMMENT.m GTMHELP.m SCANTYPEDEFS.m _CONVBASEUTIL.m _D.m _DATE.m _DH.m _DO.m _DSEWRAP.m _DUMPFHEAD.m _EXP.m _FL.m _FREECNT.m _G.m _GBLDEF.m _GC.m _GCE.m _GD.m _GED.m _GI.m _GO.m _GSE.m _GSEL.m _H.m _HD.m _HEX2UTF.m _HO.m _JSWRITE.m
    _LCASE.m _LCLCOL.m _MPIECE.m _OD.m _OH.m _PATCODE.m _PEEKBYNAME.m _RANDSTR.m _RCE.m _RD.m _RI.m _RO.m _RSE.m _RSEL.m _SQROOT.m _T.m _TI.m _TO.m _TRIM.m _UCASE.m _UTF2HEX.m _XCMD.m _YDBENV.m _YDBJNLF.m _YDBPROCSTUCKEXEC.m _YGBLSTAT.m _ZMVALID.m _
    ZSHOWVTOLCL.m _convbaseutil.m _d.m _date.m _dh.m _do.m _dsewrap.m _dumpfhead.m _exp.m _fl.m _freecnt.m _g.m _gbldef.m _gc.m _gce.m _gd.m _ged.m _gi.m _go.m _gse.m _gsel.m _h.m _hd.m _hex2utf.m _ho.m _jswrite.m _lcase.m _lclcol.m _mpiece.m _od.m _oh.m _
    patcode.m _peekbyname.m _randstr.m _rce.m _rd.m _ri.m _ro.m _rse.m _rsel.m _sqroot.m _t.m _ti.m _to.m _trim.m _ucase.m _utf2hex.m _xcmd.m _ydbenv.m _ydbjnlf.m _ydbprocstuckexec.m _ygblstat.m _zmvalid.m _zshowvtolcl.m decomment.m gtmhelp.m scantypedefs.m
    %YDB-E-DLLNOOPEN, Failed to load external dynamic library /usr/local/lib/yottadb/r138/libyottadb.so
    %YDB-E-TEXT, /usr/local/lib/yottadb/r138/libyottadb.so: cannot open shared object file: No such file or directory
    ...
    + /bin/echo -e YottaDB installation FAILED -- please review error messages
    + /bin/echo -e
    + chmod -R a-x /usr/local/lib/yottadb/r138
    + exit 1
    YottaDB installation aborted due to above error. Run ydbinstall.sh --help for detailed option list
    root-RASPI4:/tmp/tmp# uname -a
    Linux RASPI4 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From K.S. Bhaskar@21:1/5 to Jens on Fri Oct 27 08:16:44 2023
    On Friday, October 27, 2023 at 5:17:20 AM UTC-4, Jens wrote:
    The full log seems to be too long so I try the post the relevant parts: root-RASPI4:/tmp/tmp# ./ydbinstall.sh --force-install --utf8
    configure.sh failed. Output follows
    YottaDB Configuration Script
    Copyright 2009, 2014 Fidelity Information Services, Inc. Use of this software is restricted by the provisions of your license agreement. Copyright (c) 2017-2019 YottaDB LLC and/or its subsidiaries.
    All rights reserved.

    What user account should own the files? (root) root
    What group should own the files? (root) root
    Should execution of YottaDB be restricted to this group? (y or n) N
    In what directory should YottaDB be installed? /usr/local/lib/yottadb/r138

    Directory /usr/local/lib/yottadb/r138 does not exist. Do you wish to create it as part of
    this installation? (y or n) y

    Installing YottaDB....

    Should UTF-8 support be installed? (y or n) y
    Should an ICU version other than the default be used? (y or n) y
    Enter ICU version (at least ICU version 3.6 is required. Enter as <major-ver>.<minor-ver>): 65
    Should deprecated components be installed? (y or n) y

    All of the YottaDB MUMPS routines are distributed with uppercase names.
    You can create lowercase copies of these routines if you wish, but
    to avoid problems with compatibility in the future, consider keeping
    only the uppercase versions of the files.

    Do you want uppercase and lowercase versions of the MUMPS routines? (y or n) Y
    ...
    + cp -p ydb_tls_interface.h /usr/local/lib/yottadb/r138
    + chown root /usr/local/lib/yottadb/r138/ydb_tls_interface.h
    + cp -p ydbcrypt_interface.h /usr/local/lib/yottadb/r138
    + chown root /usr/local/lib/yottadb/r138/ydbcrypt_interface.h
    + [ -f /usr/bin/chcon ]
    + chcon -t texrel_shlib_t /usr/local/lib/yottadb/r138/libyottadb.so
    chcon: der unvollständige Kontext kann nicht auf Datei '/usr/local/lib/yottadb/r138/libyottadb.so' ohne Label angewendt werden
    + exit 0
    + mkdir /usr/local/lib/yottadb/r138/plugin
    mkdir: das Verzeichnis „/usr/local/lib/yottadb/r138/plugin“ kann nicht angelegt werden: Die Datei existiert bereits
    ...
    + ./yottadb -noignore DECOMMENT.m GTMHELP.m SCANTYPEDEFS.m _CONVBASEUTIL.m _D.m _DATE.m _DH.m _DO.m _DSEWRAP.m _DUMPFHEAD.m _EXP.m _FL.m _FREECNT.m _G.m _GBLDEF.m _GC.m _GCE.m _GD.m _GED.m _GI.m _GO.m _GSE.m _GSEL.m _H.m _HD.m _HEX2UTF.m _HO.m _JSWRITE.
    m _LCASE.m _LCLCOL.m _MPIECE.m _OD.m _OH.m _PATCODE.m _PEEKBYNAME.m _RANDSTR.m _RCE.m _RD.m _RI.m _RO.m _RSE.m _RSEL.m _SQROOT.m _T.m _TI.m _TO.m _TRIM.m _UCASE.m _UTF2HEX.m _XCMD.m _YDBENV.m _YDBJNLF.m _YDBPROCSTUCKEXEC.m _YGBLSTAT.m _ZMVALID.m _
    ZSHOWVTOLCL.m _convbaseutil.m _d.m _date.m _dh.m _do.m _dsewrap.m _dumpfhead.m _exp.m _fl.m _freecnt.m _g.m _gbldef.m _gc.m _gce.m _gd.m _ged.m _gi.m _go.m _gse.m _gsel.m _h.m _hd.m _hex2utf.m _ho.m _jswrite.m _lcase.m _lclcol.m _mpiece.m _od.m _oh.m _
    patcode.m _peekbyname.m _randstr.m _rce.m _rd.m _ri.m _ro.m _rse.m _rsel.m _sqroot.m _t.m _ti.m _to.m _trim.m _ucase.m _utf2hex.m _xcmd.m _ydbenv.m _ydbjnlf.m _ydbprocstuckexec.m _ygblstat.m _zmvalid.m _zshowvtolcl.m decomment.m gtmhelp.m scantypedefs.m
    %YDB-E-DLLNOOPEN, Failed to load external dynamic library /usr/local/lib/yottadb/r138/libyottadb.so
    %YDB-E-TEXT, /usr/local/lib/yottadb/r138/libyottadb.so: cannot open shared object file: No such file or directory
    ...
    + /bin/echo -e YottaDB installation FAILED -- please review error messages
    + /bin/echo -e
    + chmod -R a-x /usr/local/lib/yottadb/r138
    + exit 1
    YottaDB installation aborted due to above error. Run ydbinstall.sh --help for detailed option list
    root-RASPI4:/tmp/tmp# uname -a
    Linux RASPI4 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux

    Jens -

    I got the full log that you emailed me. The difference may be something in the libraries between Debian and Raspbian. Can you try ./ydbinstall.sh --from-source --utf8 which will build it from source on your Raspberry Pi 4? Thank you.

    Regards
    - Bhaskar

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jens@21:1/5 to All on Fri Oct 27 09:18:39 2023
    # ulimit -n 4096 <-- I have to do this, else the compilation fails earlier
    # ./ydbinstall.sh --from-source --utf8

    ...
    [100%] Generating gdehelp.dat, gdehelp.gld
    [100%] Generating mupiphelp.dat, mupiphelp.gld
    %YDB-E-INVOBJFILE, Cannot ZLINK object file /tmp/tmp.rdZkMRDdL5/YDB/build/GDE.o due to unexpected format
    %YDB-I-TEXT, Object compiled with CHSET=M which is different from $ZCHSET
    CMake Error at /tmp/tmp.rdZkMRDdL5/YDB/sr_unix/mumps.cmake:43 (message):
    Command </tmp/tmp.rdZkMRDdL5/YDB/build/yottadb -run;GDE
    INPUT_FILE;/tmp/tmp.rdZkMRDdL5/YDB/build/gtmhelp.in1 > failed with result
    ='253'


    make[2]: *** [CMakeFiles/place_files.dir/build.make:1142: gtmhelp.dat] Fehler 1 make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet....
    [100%] Generating dsehelp.dat, dsehelp.gld
    %YDB-E-INVOBJFILE, Cannot ZLINK object file /tmp/tmp.rdZkMRDdL5/YDB/build/GDE.o due to unexpected format
    %YDB-I-TEXT, Object compiled with CHSET=M which is different from $ZCHSET
    CMake Error at /tmp/tmp.rdZkMRDdL5/YDB/sr_unix/mumps.cmake:43 (message):
    Command </tmp/tmp.rdZkMRDdL5/YDB/build/yottadb -run;GDE
    INPUT_FILE;/tmp/tmp.rdZkMRDdL5/YDB/build/gdehelp.in1 > failed with result
    ='253'


    make[2]: *** [CMakeFiles/place_files.dir/build.make:1259: gdehelp.dat] Fehler 1 %YDB-E-INVOBJFILE, Cannot ZLINK object file /tmp/tmp.rdZkMRDdL5/YDB/build/GDE.o due to unexpected format
    %YDB-I-TEXT, Object compiled with CHSET=M which is different from $ZCHSET
    CMake Error at /tmp/tmp.rdZkMRDdL5/YDB/sr_unix/mumps.cmake:43 (message):
    Command </tmp/tmp.rdZkMRDdL5/YDB/build/yottadb -run;GDE
    INPUT_FILE;/tmp/tmp.rdZkMRDdL5/YDB/build/mupiphelp.in1 > failed with result
    ='253'


    make[2]: *** [CMakeFiles/place_files.dir/build.make:1376: mupiphelp.dat] Fehler 1
    %YDB-E-INVOBJFILE, Cannot ZLINK object file /tmp/tmp.rdZkMRDdL5/YDB/build/GDE.o due to unexpected format
    %YDB-I-TEXT, Object compiled with CHSET=M which is different from $ZCHSET
    CMake Error at /tmp/tmp.rdZkMRDdL5/YDB/sr_unix/mumps.cmake:43 (message):
    Command </tmp/tmp.rdZkMRDdL5/YDB/build/yottadb -run;GDE
    INPUT_FILE;/tmp/tmp.rdZkMRDdL5/YDB/build/dsehelp.in1 > failed with result
    ='253'


    make[2]: *** [CMakeFiles/place_files.dir/build.make:1493: dsehelp.dat] Fehler 1 make[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/place_files.dir/all] Fehler 2
    make: *** [Makefile:130: all] Fehler 2
    Build failed. Exiting. Temporary directory /tmp/tmp.rdZkMRDdL5 will not be deleted.
    YottaDB installation aborted due to above error. Run ydbinstall.sh --help for detailed option list

    Okay, then I tried:
    # ulimit -n 4096
    # export ydb_chset=M
    # ./ydbinstall.sh --from-source --utf8

    that worked, but before running my routines I had to set
    # export ydb_chset=UTF-8

    Thank you Bhaskar for pointing me to this option.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From K.S. Bhaskar@21:1/5 to Jens on Fri Oct 27 10:20:57 2023
    On Friday, October 27, 2023 at 12:18:40 PM UTC-4, Jens wrote:
    # ulimit -n 4096 <-- I have to do this, else the compilation fails earlier
    # ./ydbinstall.sh --from-source --utf8

    ...
    [100%] Generating gdehelp.dat, gdehelp.gld
    [100%] Generating mupiphelp.dat, mupiphelp.gld
    %YDB-E-INVOBJFILE, Cannot ZLINK object file /tmp/tmp.rdZkMRDdL5/YDB/build/GDE.o due to unexpected format
    %YDB-I-TEXT, Object compiled with CHSET=M which is different from $ZCHSET CMake Error at /tmp/tmp.rdZkMRDdL5/YDB/sr_unix/mumps.cmake:43 (message): Command </tmp/tmp.rdZkMRDdL5/YDB/build/yottadb -run;GDE INPUT_FILE;/tmp/tmp.rdZkMRDdL5/YDB/build/gtmhelp.in1 > failed with result ='253'


    make[2]: *** [CMakeFiles/place_files.dir/build.make:1142: gtmhelp.dat] Fehler 1
    make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet....
    [100%] Generating dsehelp.dat, dsehelp.gld
    %YDB-E-INVOBJFILE, Cannot ZLINK object file /tmp/tmp.rdZkMRDdL5/YDB/build/GDE.o due to unexpected format
    %YDB-I-TEXT, Object compiled with CHSET=M which is different from $ZCHSET CMake Error at /tmp/tmp.rdZkMRDdL5/YDB/sr_unix/mumps.cmake:43 (message): Command </tmp/tmp.rdZkMRDdL5/YDB/build/yottadb -run;GDE INPUT_FILE;/tmp/tmp.rdZkMRDdL5/YDB/build/gdehelp.in1 > failed with result ='253'


    make[2]: *** [CMakeFiles/place_files.dir/build.make:1259: gdehelp.dat] Fehler 1
    %YDB-E-INVOBJFILE, Cannot ZLINK object file /tmp/tmp.rdZkMRDdL5/YDB/build/GDE.o due to unexpected format
    %YDB-I-TEXT, Object compiled with CHSET=M which is different from $ZCHSET CMake Error at /tmp/tmp.rdZkMRDdL5/YDB/sr_unix/mumps.cmake:43 (message): Command </tmp/tmp.rdZkMRDdL5/YDB/build/yottadb -run;GDE INPUT_FILE;/tmp/tmp.rdZkMRDdL5/YDB/build/mupiphelp.in1 > failed with result ='253'


    make[2]: *** [CMakeFiles/place_files.dir/build.make:1376: mupiphelp.dat] Fehler 1
    %YDB-E-INVOBJFILE, Cannot ZLINK object file /tmp/tmp.rdZkMRDdL5/YDB/build/GDE.o due to unexpected format
    %YDB-I-TEXT, Object compiled with CHSET=M which is different from $ZCHSET CMake Error at /tmp/tmp.rdZkMRDdL5/YDB/sr_unix/mumps.cmake:43 (message): Command </tmp/tmp.rdZkMRDdL5/YDB/build/yottadb -run;GDE INPUT_FILE;/tmp/tmp.rdZkMRDdL5/YDB/build/dsehelp.in1 > failed with result ='253'


    make[2]: *** [CMakeFiles/place_files.dir/build.make:1493: dsehelp.dat] Fehler 1
    make[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/place_files.dir/all] Fehler 2
    make: *** [Makefile:130: all] Fehler 2
    Build failed. Exiting. Temporary directory /tmp/tmp.rdZkMRDdL5 will not be deleted.
    YottaDB installation aborted due to above error. Run ydbinstall.sh --help for detailed option list
    Okay, then I tried:
    # ulimit -n 4096
    # export ydb_chset=M
    # ./ydbinstall.sh --from-source --utf8

    that worked, but before running my routines I had to set
    # export ydb_chset=UTF-8

    Thank you Bhaskar for pointing me to this option.

    I'm glad it worked. Thanks for the confirmation.

    Regards
    – Bhaskar

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)