Menu

cobc: symbol lookup error: cobc: undefined symbol: cob_is_valid_uri

Anonymous
2022-05-12
2022-05-15
  • Anonymous

    Anonymous - 2022-05-12

    Hi I downloaded 3.1.2 Friday May 13.
    After install I get error:
    cobc -V
    cobc: symbol lookup error: cobc: undefined symbol: cob_is_valid_uri

    Previous version 2.2-5 downloaded from repositories was running fine
    ========================== my system
    uname -srm
    Linux 5.4.0-110-generic x86_64

    cat /etc/os-release
    NAME="Linux Mint"
    VERSION="20.1 (Ulyssa)"
    ID=linuxmint
    ID_LIKE=ubuntu
    PRETTY_NAME="Linux Mint 20.1"
    VERSION_ID="20.1"
    HOME_URL="https://www.linuxmint.com/"
    SUPPORT_URL="https://forums.linuxmint.com/"
    BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
    PRIVACY_POLICY_URL="https://www.linuxmint.com/"
    VERSION_CODENAME=ulyssa
    UBUNTU_CODENAME=focal

    ======================== install

    $ sudo make install
    Making install in .
    make[1]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2'
    make[2]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2'
    make[2]: Nothing to be done for 'install-exec-am'.
    /usr/bin/mkdir -p '/usr/local/include'
    /usr/bin/install -c -m 644 libcob.h '/usr/local/include'
    make[2]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2'
    make[1]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2'
    Making install in lib
    make[1]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/lib'
    make[2]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/lib'
    make[2]: Nothing to be done for 'install-exec-am'.
    make[2]: Nothing to be done for 'install-data-am'.
    make[2]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/lib'
    make[1]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/lib'
    Making install in libcob
    make[1]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/libcob'
    make[2]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/libcob'
    /usr/bin/mkdir -p '/usr/local/lib'
    /bin/bash ../libtool --mode=install /usr/bin/install -c libcob.la '/usr/local/lib'
    libtool: install: /usr/bin/install -c .libs/libcob.so.4.1.0 /usr/local/lib/libcob.so.4.1.0
    libtool: install: (cd /usr/local/lib && { ln -s -f libcob.so.4.1.0 libcob.so.4 || { rm -f libcob.so.4 && ln -s libcob.so.4.1.0 libcob.so.4; }; })
    libtool: install: (cd /usr/local/lib && { ln -s -f libcob.so.4.1.0 libcob.so || { rm -f libcob.so && ln -s libcob.so.4.1.0 libcob.so; }; })
    libtool: install: /usr/bin/install -c .libs/libcob.lai /usr/local/lib/libcob.la
    libtool: install: /usr/bin/install -c .libs/libcob.a /usr/local/lib/libcob.a
    libtool: install: chmod 644 /usr/local/lib/libcob.a
    libtool: install: ranlib /usr/local/lib/libcob.a
    libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib


    Libraries have been installed in:
    /usr/local/lib

    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the '-LLIBDIR'
    flag during linking and do at least one of the following:
    - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
    during execution
    - add LIBDIR to the 'LD_RUN_PATH' environment variable
    during linking
    - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
    - have your system administrator add LIBDIR to '/etc/ld.so.conf'

    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.


    /usr/bin/mkdir -p '/usr/local/include/libcob'
    /usr/bin/install -c -m 644 common.h cobgetopt.h exception.def exception-io.def '/usr/local/include/libcob'
    make[2]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/libcob'
    make[1]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/libcob'
    Making install in bin
    make[1]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/bin'
    make[2]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/bin'
    /usr/bin/mkdir -p '/usr/local/bin'
    /bin/bash ../libtool --mode=install /usr/bin/install -c cobcrun '/usr/local/bin'
    libtool: install: /usr/bin/install -c .libs/cobcrun /usr/local/bin/cobcrun
    /usr/bin/mkdir -p '/usr/local/bin'
    /usr/bin/install -c cob-config '/usr/local/bin'
    /usr/bin/mkdir -p '/usr/local/share/man/man1'
    /usr/bin/install -c -m 644 cobcrun.1 cob-config.1 '/usr/local/share/man/man1'
    make[2]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/bin'
    make[1]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/bin'
    Making install in cobc
    make[1]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/cobc'
    make install-am
    make[2]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/cobc'
    make[3]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/cobc'
    /usr/bin/mkdir -p '/usr/local/bin'
    /bin/bash ../libtool --mode=install /usr/bin/install -c cobc '/usr/local/bin'
    libtool: install: /usr/bin/install -c .libs/cobc /usr/local/bin/cobc
    /usr/bin/mkdir -p '/usr/local/share/man/man1'
    /usr/bin/install -c -m 644 cobc.1 '/usr/local/share/man/man1'
    make[3]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/cobc'
    make[2]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/cobc'
    make[1]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/cobc'
    Making install in config
    make[1]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/config'
    make[2]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/config'
    make[2]: Nothing to be done for 'install-exec-am'.
    /usr/bin/mkdir -p '/usr/local/share/gnucobol/config'
    /usr/bin/install -c -m 644 default.conf cobol85.conf cobol2002.conf cobol2014.conf acu.conf mf.conf ibm.conf mvs.conf bs2000.conf realia.conf rm.conf acu-strict.conf mf-strict.conf ibm-strict.conf mvs-strict.conf bs2000-strict.conf realia-strict.conf rm-strict.conf xopen.conf lax.conf-inc cobol85.words cobol2002.words cobol2014.words acu.words mf.words ibm.words mvs.words bs2000.words realia.words rm.words runtime.cfg runtime_empty.cfg '/usr/local/share/gnucobol/config'
    make[2]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/config'
    make[1]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/config'
    Making install in copy
    make[1]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/copy'
    make[2]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/copy'
    make[2]: Nothing to be done for 'install-exec-am'.
    /usr/bin/mkdir -p '/usr/local/share/gnucobol/copy'
    /usr/bin/install -c -m 644 screenio.cpy sqlca.cpy sqlda.cpy xfhfcd.cpy xfhfcd3.cpy '/usr/local/share/gnucobol/copy'
    make[2]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/copy'
    make[1]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/copy'
    Making install in po
    make[1]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/po'
    installing en@boldquot.gmo as /usr/local/share/locale/en@boldquot/LC_MESSAGES/gnucobol.mo
    installing en@quot.gmo as /usr/local/share/locale/en@quot/LC_MESSAGES/gnucobol.mo
    installing de.gmo as /usr/local/share/locale/de/LC_MESSAGES/gnucobol.mo
    installing es.gmo as /usr/local/share/locale/es/LC_MESSAGES/gnucobol.mo
    installing fr.gmo as /usr/local/share/locale/fr/LC_MESSAGES/gnucobol.mo
    installing it.gmo as /usr/local/share/locale/it/LC_MESSAGES/gnucobol.mo
    installing ja.gmo as /usr/local/share/locale/ja/LC_MESSAGES/gnucobol.mo
    installing nl.gmo as /usr/local/share/locale/nl/LC_MESSAGES/gnucobol.mo
    installing pt.gmo as /usr/local/share/locale/pt/LC_MESSAGES/gnucobol.mo
    installing sv.gmo as /usr/local/share/locale/sv/LC_MESSAGES/gnucobol.mo
    installing sr.gmo as /usr/local/share/locale/sr/LC_MESSAGES/gnucobol.mo
    if test "gnucobol" = "gettext-tools"; then \
    /usr/bin/mkdir -p /usr/local/share/gettext/po; \
    for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot Makevars.template; do \
    /usr/bin/install -c -m 644 ./$file \
    /usr/local/share/gettext/po/$file; \
    done; \
    for file in Makevars; do \
    rm -f /usr/local/share/gettext/po/$file; \
    done; \
    else \
    ; \
    fi
    make[1]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/po'
    Making install in extras
    make[1]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/extras'
    make[2]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/extras'
    make[2]: Nothing to be done for 'install-exec-am'.
    /usr/bin/mkdir -p '/usr/local/lib/gnucobol'
    /usr/bin/install -c -m 644 CBL_OC_DUMP.so '/usr/local/lib/gnucobol'
    make[2]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/extras'
    make[1]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/extras'
    Making install in doc
    make[1]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/doc'
    make install-am
    make[2]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/doc'
    make[3]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/doc'
    make[3]: Nothing to be done for 'install-exec-am'.
    /usr/bin/mkdir -p '/usr/local/share/info'
    /usr/bin/install -c -m 644 ./gnucobol.info '/usr/local/share/info'
    install-info --info-dir='/usr/local/share/info' '/usr/local/share/info/gnucobol.info'
    make[3]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/doc'
    make[2]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/doc'
    make[1]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/doc'
    Making install in tests
    make[1]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/tests'
    Making install in cobol85
    make[2]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/tests/cobol85'
    make[3]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/tests/cobol85'
    make[3]: Nothing to be done for 'install-exec-am'.
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/tests/cobol85'
    make[2]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/tests/cobol85'
    make[2]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/tests'
    make[3]: Entering directory '/home/julian/Desktop/gnucobol-3.1.2/tests'
    make[3]: Nothing to be done for 'install-exec-am'.
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/tests'
    make[2]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/tests'
    make[1]: Leaving directory '/home/julian/Desktop/gnucobol-3.1.2/tests'
    julian@julian:~/Desktop/gnucobol-3.1.2$
     
    • Vincent (Bryan) Coen

      Did you uninstall the old version BEFORE installing the new one ?

      If no,t uninstall it now, then reinstall the latest one - just in case
      any of the new version libs get removed.

      Then in /etc/ld.so.conf.d

      create gnucobol.conf  with the following lines :

      /usr/local/lib/gnu-cobol
      /usr/local/lib
      /usr/lib

      and save it then run sudo ldconfig

      Now run your tests again.

      If you uninstall a old one a install a later one rerun sudo ldconfig.

      Vince

       

      Last edit: Vincent (Bryan) Coen 2022-05-14
  • Anonymous

    Anonymous - 2022-05-14

    While this note is not an answer to this issue, I have noticed that the majority of issues with GNU Cobol is due to how to install it!!!!!!!! I recommend that the web admin performs a statistic on the most common problem areas and ask the developers to kindly produce a solution - Most software can be run out of the box in this day and age!

     
    • Brian Tiffin

      Brian Tiffin - 2022-05-15

      First up, I'd ask if there was the prompt$ sudo ldconfig step after sudo make install. This looks and feels like a link library stale cache problem.

      We should spend a few minutes pondering automating that step every time there is a build from source and make install.

      Second, we are out of the box in most places.

      prompt$ sudo apt install gnucobol
      or
      prompt$ sudo dnf install gnucobol
      or
      prompt$ sudo pacman -S gnucobol or... Details vary by flavour.

      Not our doing. The distributions all have package maintainers that know what they need to do in terms of avoiding packaging snarls for the specific distro details as a collection.

      And yes, will not disagree that installation is a head ache for many. The project lucked out with Arnold ~~falling into~~ taking up a role as Windows packager. So that's a thing. It was quite a bit more head achey before that.

      One thing that will help is when we get better at tagging/advertising releases, and the world figures out we got better at tagging/advertising releases. That would let package maintainers feel more comfortable about spending the time to properly build distro specific cuts. Well that, and we've been on release schedules measured in half-decades and that is nigh on eternity with the Internet. Old packages stayed in the distro lists far too long. Getting better.

      Cheers,
      Blue

       

      Last edit: Brian Tiffin 2022-05-15
  • Vincent (Bryan) Coen

    You have not advised the results of my suggested fixes.

    The reason that it is not" a out of the box" product is that many if not most Linux distributions differ in many ways but not limited to platform 32 or 64 bit, versions of required libraries installed and location for the installation, as some users need to be able to have total control of it and the need to use specific versions of libraries.

    GnuCobol is not unique in that it has to be downloaded then built before use, and many if not most other products for use on Linux do the same.

    I suggest you register in sourceforge so your posts are not delayed for 12 - 48 hours before appearing.

    Remember, for many, GnuCobol users are professional Cobol programmers and have been for a long time.

     

Anonymous
Anonymous

Add attachments
Cancel