Skip to content

Multiple doinstall issues #61

@fatso83

Description

@fatso83

AFAIK the install script has these issues:

  1. It should immediately exit on critical errors (adding set -e should prevent this)
  2. It uses GNU extensions to utilities like ln without mentioning that it only works with GNU tooling, even though it would be trivial to change the options used to something that works on both BSD and GNU toolsets. ✅ in Make linking command BSD compatible (essentially POSIX) #62
  3. It puts binaries in the wrong folders. The GCC folder gets 1400 binaries added to its base folder. It seems these should have been put in the bin folder.
  4. It says everything installed and ready to be used when it is not.

Per the first point

Running ./doinstall gives me these errors upon running:

./doinstall: line 125: /opt/gcc-14.2.0-3-aarch64/bin/gtkada-env.sh: No such file or directory
./doinstall: line 129: /opt/gcc-14.2.0-3-aarch64/bin/gdk-pixbuf-query-loaders: No such file or directory
./doinstall: line 136: /opt/gcc-14.2.0-3-aarch64/bin/gtk-query-immodules-3.0: No such file or directory

Per the second point

Additionally I also see

ln -s /opt/gcc-14.2.0-3-aarch64/lib /opt/gcc-14.2.0-3-aarch64/share/examples/gtkada --force

Per the third point

# Before
❯ ls /opt/gcc-14.2.0-3-aarch64/ | wc -l
       8

# After
❯ ls /opt/gcc-14.2.0-3-aarch64 | wc -l
    1422
Image
Output of running `./doinstall` (trimmed the middle sectiond)

This script is provided to simplify the installation of GtkAda.

You will be asked for confirmation before the actual installation is
done. You can break out of this script at any time before this.

Hit RETURN to continue.

GNAT has been found in /opt/gcc-14.2.0-3-aarch64.
Do you want to install GtkAda there too? Hit RETURN if yes or enter
the name of the directory in which GtkAda should be installed:

[/opt/gcc-14.2.0-3-aarch64]

Are you now ready to proceed with the installation [Y/n] ?

Copying the Gtk+ binaries
Setting up the environment
./doinstall: line 125: /opt/gcc-14.2.0-3-aarch64/bin/gtkada-env.sh: No such file or directory
./doinstall: line 129: /opt/gcc-14.2.0-3-aarch64/bin/gdk-pixbuf-query-loaders: No such file or directory
./doinstall: line 136: /opt/gcc-14.2.0-3-aarch64/bin/gtk-query-immodules-3.0: No such file or directory
Compiling GtkAda
...
warning: file does not exist '/users/carlerik/dev/gtkada/src/../docs/gtkada_ug/_build/html/'
warning: file does not exist '/users/carlerik/dev/gtkada/src/../docs/gtkada_ug/_build/latex/GtkAda.pdf'
/opt/gcc-14.2.0-3-aarch64/bin/gprinstall -p -f --project-subdir=lib/gnat --build-var=GTKADA_BUILD,LIBRARY_TYPE --install-name=gtkada --prefix=/opt/gcc-14.2.0-3-aarch64 -XGTK_PREFIX=/opt/gcc-14.2.0-3-aarch64 -XLIBRARY_TYPE=static-pic --build-name=static-pic
--sources-subdir=include/gtkada/gtkada.static-pic
--lib-subdir=lib/gtkada/gtkada.static-pic
-Psrc/gtkada.gpr
Install project GtkAda - static-pic
warning: file does not exist '/users/carlerik/dev/gtkada/src/../docs/gtkada_ug/_build/html/
'
warning: file does not exist '/users/carlerik/dev/gtkada/src/../docs/gtkada_ug/_build/latex/GtkAda.pdf'
/opt/gcc-14.2.0-3-aarch64/bin/gprinstall -p -f --project-subdir=lib/gnat --build-var=GTKADA_BUILD,LIBRARY_TYPE --install-name=gtkada --prefix=/opt/gcc-14.2.0-3-aarch64 -XGTK_PREFIX=/opt/gcc-14.2.0-3-aarch64 -XLIBRARY_TYPE=relocatable --build-name=relocatable
--sources-subdir=include/gtkada/gtkada.relocatable
--lib-subdir=lib/gtkada/gtkada.relocatable
-Psrc/gtkada.gpr
Install project GtkAda - relocatable
warning: file does not exist '/users/carlerik/dev/gtkada/src/../docs/gtkada_ug/_build/html/*'
warning: file does not exist '/users/carlerik/dev/gtkada/src/../docs/gtkada_ug/_build/latex/GtkAda.pdf'
/opt/gcc-14.2.0-3-aarch64/bin/gprinstall -p -f --project-subdir=lib/gnat --build-var=GTKADA_BUILD,LIBRARY_TYPE --install-name=gtkada --prefix=/opt/gcc-14.2.0-3-aarch64 -XGTK_PREFIX=/opt/gcc-14.2.0-3-aarch64 -XLIBRARY_TYPE=static
--mode=usage -Psrc/tools/tools.gpr
Install project Tools
cd testgtk; /opt/gcc-14.2.0-3-aarch64/bin/gprinstall -p -f --project-subdir=lib/gnat --build-var=GTKADA_BUILD,LIBRARY_TYPE --install-name=gtkada --prefix=/opt/gcc-14.2.0-3-aarch64 -XGTK_PREFIX=/opt/gcc-14.2.0-3-aarch64 -XLIBRARY_TYPE=static
--mode=usage --exec-subdir=/opt/gcc-14.2.0-3-aarch64/share/examples/gtkada/testgtk
-Ptestgtk.gpr -aP ../src
Install project TestGtk
ln -s /opt/gcc-14.2.0-3-aarch64/lib /opt/gcc-14.2.0-3-aarch64/share/examples/gtkada --force
ln: --force: No such file or directory
make: *** [install] Error 1

GtkAda has now been installed on your machine.

You can enter the GtkAda environment by doing:

  "/opt/gcc-14.2.0-3-aarch64/bin/gtkada-env.sh"

Per the fourth point

Example issue:

-----------------------------------------------------------------------
--  GtkAda has now been installed.                                   --
--  To use the library, you may need to update LD_LIBRARY_PATH       --
--  or to run ldconfig. You may also need to update GPR_PROJECT_PATH --
--  to include                                                       --
--  /opt/gcc-14.2.0-3-aarch64/lib/gnat
-----------------------------------------------------------------------

   GtkAda has now been installed on your machine.

   You can enter the GtkAda environment by doing:

      "/opt/gcc-14.2.0-3-aarch64/bin/gtkada-env.sh"

❯ v /opt/gcc-14.2.0-3-aarch64/bin/gtkada-env.sh
ls: /opt/gcc-14.2.0-3-aarch64/bin/gtkada-env.sh: No such file or directory


❯ v /opt/gcc-14.2.0-3-aarch64/gtkada-env.sh
ls: /opt/gcc-14.2.0-3-aarch64/gtkada-env.sh: No such file or directory

This file is simply not available.

System info

GCC from simonjwright's distributed-gcc repo: gcc-14.2.0-3-aarch64

❯ npx envinfo --system

  System:
    OS: macOS 15.1.1
    CPU: (12) arm64 Apple M2 Max
    Memory: 638.78 MB / 64.00 GB
    Shell: 5.2.37 - /opt/homebrew/bin/bash

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions