Menu

fresh install on a clean Ubuntu 24

2024-09-09
2024-09-09
  • Mickey White

    Mickey White - 2024-09-09

    I had a crash on my Linux Ubuntu box when I updated from Ubuntu 22 to 24, the new version as of 08/2024.
    It would not boot so I had flash the Ubuntu 24 ios file and install it on a more or less empty box. The install then went OK but I had to Mount my old drives so it would see them. I then installed berkeley db and Jason (I think). I put my old disk in the PATH statement.
    Then I tried to Install GnuCOBOL 3.3 dev and Got ./configure errors on Jason and Berkeley and perhaps XML. and the Install fails and is listed below. My box is probably not right, and I am not a sys admin... I need help ! I have been working on this for a week...

    mickeyw@mickeyw-Meerkat:~/gnucobol-3.3-dev$
    mickeyw@mickeyw-Meerkat:~/gnucobol-3.3-dev$ ./configure
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
    checking for gawk... no
    checking for mawk... mawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking for make... make
    checking whether make can handle common constructs... yes
    checking whether make supports order-only prerequisites... yes
    checking whether CFLAGS -O can be modified... yes
    checking for gcc... gcc
    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 gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking whether gcc understands -c and -o together... yes
    checking whether make supports the include directive... yes (GNU style)
    checking dependency style of gcc... gcc3
    checking how to run the C preprocessor... gcc -E
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking minix/config.h usability... no
    checking minix/config.h presence... no
    checking for minix/config.h... no
    checking whether it is safe to define __EXTENSIONS__... yes
    checking for __INTEL_COMPILER... no
    checking for __clang__... no
    checking for __xlc__... no
    checking for __WATCOMC__... no
    checking for __SUNPRO_C... no
    checking how to error on warnings during configure checks... -Wall -Werror
    checking for windres... no
    checking for ar... ar
    checking the archiver (ar) interface... ar
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    checking how to print strings... printf
    checking for a sed that does not truncate output... /usr/bin/sed
    checking for fgrep... /usr/bin/grep -F
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 1572864
    checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for archiver @FILE support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    checking for a working dd... /usr/bin/dd
    checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
    checking for mt... mt
    checking if mt is a manifest tool... no
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking for shl_load... no
    checking for shl_load in -ldld... no
    checking for dlopen... yes
    checking whether a program can dlopen itself... yes
    checking whether a statically linked program can dlopen itself... no
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... yes
    checking for flex... no
    checking for lex... no
    checking if flex is the lexer generator... no
    checking for bison... no
    checking for byacc... no
    checking if bison is the parser generator... no
    checking for diff arguments... --strip-trailing-cr
    checking whether ln -s works... yes
    checking whether make sets $(MAKE)... (cached) yes
    checking for ld used by gcc... /usr/bin/ld -m elf_x86_64
    checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
    checking for shared library run path origin... done
    checking for sys/types.h... (cached) yes
    checking signal.h usability... yes
    checking signal.h presence... yes
    checking for signal.h... yes
    checking stddef.h usability... yes
    checking stddef.h presence... yes
    checking for stddef.h... yes
    checking sys/time.h usability... yes
    checking sys/time.h presence... yes
    checking for sys/time.h... yes
    checking locale.h usability... yes
    checking locale.h presence... yes
    checking for locale.h... yes
    checking fcntl.h usability... yes
    checking fcntl.h presence... yes
    checking for fcntl.h... yes
    checking for dlfcn.h... (cached) yes
    checking for stdint.h... (cached) yes
    checking for inttypes.h... (cached) yes
    checking for an ANSI C-conforming const... yes
    checking whether byte ordering is bigendian... no
    checking for size_t... yes
    checking whether struct tm is in sys/time.h or time.h... time.h
    checking for sig_atomic_t... yes
    checking for inline keyword... __inline
    checking for vprintf... yes
    checking for _doprnt... no
    checking for memmove... yes
    checking for memset... yes
    checking for setlocale... yes
    checking for fcntl... yes
    checking for strerror... yes
    checking for strcasecmp... yes
    checking for strchr... yes
    checking for strrchr... yes
    checking for strdup... yes
    checking for strstr... yes
    checking for strtol... yes
    checking for gettimeofday... yes
    checking for localeconv... yes
    checking for getexecname... no
    checking for canonicalize_file_name... yes
    checking for popen... yes
    checking for raise... yes
    checking for readlink... yes
    checking for realpath... yes
    checking for setenv... yes
    checking for strcoll... yes
    checking for flockfile... yes
    checking for timezone variable access... yes
    checking for designated initializers... yes
    checking whether to build with code coverage support... no
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    configure: Checks for math library ...
    configure: none needed
    configure: Checks for GMP/MPIR ...
    checking for gmp... yes
    checking gmp.h usability... yes
    checking gmp.h presence... yes
    checking for gmp.h... yes
    checking whether linking against libgmp with "-lgmp " works... yes
    checking matching GMP version... yes (6.3)
    checking for __gmp_get_memory_functions in -lgmp... yes
    checking for iconv... yes
    checking for working iconv... yes
    checking whether iconv is compatible with its POSIX signature... yes
    checking for libxml-2.0... yes
    checking libxml/xmlwriter.h usability... yes
    checking libxml/xmlwriter.h presence... yes
    checking for libxml/xmlwriter.h... yes
    checking libxml/xmlversion.h usability... yes
    checking libxml/xmlversion.h presence... yes
    checking for libxml/xmlversion.h... yes
    checking libxml/uri.h usability... yes
    checking libxml/uri.h presence... yes
    checking for libxml/uri.h... yes
    checking libxml/parser.h usability... yes
    checking libxml/parser.h presence... yes
    checking for libxml/parser.h... yes
    checking libxml/tree.h usability... yes
    checking libxml/tree.h presence... yes
    checking for libxml/tree.h... yes
    checking for LIBXML_WRITER_ENABLED defined in libxml/xmlwriter.h... yes
    checking whether linking against libxml2 with "-lxml2 " works... yes
    configure: Checks for JSON handler
    configure: Checks for local cJSON ...
    configure: using local cJSON: no
    checking for libcjson... no
    checking cJSON.h usability... no
    checking cJSON.h presence... no
    checking for cJSON.h... no
    configure: WARNING: header for libcjson missing, you may adjust CJSON_CFLAGS or put cJSON sources in "libcob"
    checking cjson/cJSON.h usability... no
    checking cjson/cJSON.h presence... no
    checking for cjson/cJSON.h... no
    configure: WARNING: header for libcjson missing, you may adjust CJSON_CFLAGS or put cJSON sources in "libcob"
    checking for json-c... yes
    checking json.h usability... yes
    checking json.h presence... yes
    checking for json.h... yes
    checking whether linking against libjson-c with "-ljson-c " works... yes
    checking for clock_gettime and CLOCK_REALTIME... yes
    checking for isfinite... yes
    checking for fdatasync... yes
    checking for sigaction... yes
    checking for fmemopen... yes
    checking whether fdatasync is declared... yes
    checking whether fmemopen is declared... yes
    configure: Checks for curses ...
    checking for ncursesw... yes
    checking ncursesw/ncurses.h usability... yes
    checking ncursesw/ncurses.h presence... yes
    checking for ncursesw/ncurses.h... yes
    checking for ncurses _nc_freeall function... yes
    checking for ncurses use_legacy_coding function... yes
    checking for curses color_set function... yes
    checking for curses resize_term function... yes
    checking for curses define_key function... yes
    checking for curses mouseinterval function... yes
    checking for curses has_mouse function... yes
    checking for curses mousemask function and mmask_t... yes
    configure: Checks for Berkeley DB ...
    checking db.h usability... no
    checking db.h presence... no
    checking for db.h... no
    configure: error: Berkeley DB db.h is missing, you may adjust BDB_CFLAGS
    mickeyw@mickeyw-Meerkat:~/gnucobol-3.3-dev$
    

    THANKS !

     
    • Vincent (Bryan) Coen

      On 09/09/2024 15:49, Mickey White wrote:

      I had a crash on my Linux Ubuntu box when I updated from Ubuntu 22 to
      24, the new version as of 08/2024.
      It would not boot so I had flash the Ubuntu 24 ios file and install it
      on a more or less empty box. The install then went OK but I had to
      Mount my old drives so it would see them. I then installed berkeley db
      and Jason (I think). I put my old disk in the PATH statement.
      Then I tried to Install GnuCOBOL 3.3 dev and Got ./configure errors on
      Jason and Berkeley and perhaps XML. and the Install fails and is
      listed below. My box is probably not right, and I am not a sys
      admin... I need help ! I have been working on this for a week...

      ||
      |I am guessing here but :-

      The mount point used for your old drives is wrong compared to how you
      had them prior to your attempted update.

      By doing a fresh install most if not all of your prior set ups and
      installed for the GC system is missing and has to be done again.

      I would recommend re-installing ALL required libs and then the GnuCobol
      compiler, then run the full set of tests using make installcheck   or
      make checkall (for doing every test / checks).
      Only then for a successful pass on them all (subject to expected fails
      etc) attempt to build any Cobol program sources.

      The re-install of the Cobol system may well also mean that any other
      packages that you have installed on the older system will also need
      repeating - possibly before rebuilding the Cobol system such as the gcc
      packages and libraries.

      |

       
  • Simon Sobisch

    Simon Sobisch - 2024-09-09

    I think the build definitions for Ubuntu 22 still apply to Ubuntu 24.
    I guess you miss the dev packages during install. Please have a look at [7c6b048b95].

    If you don't have the necessary rights to install by apt you could install all of the missing dependencies "locally" in your user directly - but in this case you'd likely have specified --prefix=$HOME or similar, so that's likely not the case.

     

    Related

    Discussion: 7c6b048b95

  • Mickey White

    Mickey White - 2024-09-09

    Thanks. I was looking on the board at https://sourceforge.net/projects/gnucobol/files/gnucobol/
    and it says to look for DEPENDENCIES "See DEPENDENCIES for a complete list of these which may be helpful if you build GnuCOBOL from source. "
    But it does not tell you where to look!
    it works Now.
    Thanks Simon. And Vincent (even the old compiled programs in my bin directory work without me recompiling them. )
    This site is Great.
    This was the saving grace, not sure were it is ,but not sure why it was so hard to find ( in the link simon gave for Ubuntu 22).

    Prerequisites

    $ sudo apt update # necessary
    $ sudo apt upgrade # optional to get newest versions
    $ sudo apt install build-essential libgmp-dev libdb-dev libncurses-dev libxml2-dev libjson-c-dev

    possibly add GDB, drop xml/curses/json if not needed

    THANKS !!!

     

Anonymous
Anonymous

Add attachments
Cancel