pemsley/coot

Problem with Hombrew install script for intel macs (M1's work fine)

Closed this issue ยท 11 comments

Many thanks for the work that has been done on this.

Whilst the homebrew install script completes for both intel and M1 processors when coot is opened on an intel machine it throws the following errors.

WARNING:: validation failed: model-as-mesh.shader validation status 0
GL ERROR:: Shader::Use() "model-as-mesh.shader" err 1282 for program_id 94
GL ERROR:: set_uniform_locations() error 1: 1282
GL ERROR:: set_uniform_locations() error 2: 1282
GL ERROR:: set_uniform_locations() error 3: 1282
GL ERROR:: set_uniform_locations() error 4: 1282
Shader compile               model-as-mesh.shader validation-failed

And

GL ERROR:: Shader::set_int_for_uniform() "screen.shader" B glUniform1i for uniform screenTexture loc: 1 value: 0 err 1282
GL ERROR:: Shader::set_int_for_uniform() "screen.shader" B glUniform1i for uniform screenDepth loc: 2 value: 1 err 1282
GL ERROR:: Shader::set_int_for_uniform() "blur.shader" B glUniform1i for uniform screenTexture loc: 4 value: 0 err 1282
GL ERROR:: Shader::set_int_for_uniform() "blur.shader" B glUniform1i for uniform screenDepth loc: 5 value: 1 err 1282

This results in a marked reduction in performance for coot running on intel Mac's.

Note: Use --HEAD in the brew install command to track the latest progress.

Is the model-as-mesh.shader file in the same directory as the other shader files?
screen.shader and blur.shader are no longer used. I thought I had removed them from the execution path. Hmm...

Also, for Coot 1 on MacOS, try using @YoshitakaMo's cootgtk4.rb script for dramatically improved performance

$ wget https://raw.githubusercontent.com/YoshitakaMo/homebrew-bio/cootgtk4/Formula/cootgtk4.rb -O cootgtk4.rb
$ brew install ./cootgtk4.rb --verbose --debug --keep-tmp --HEAD

#33 (comment)

I can confirm that model-as-mesh.shader is in the same directory

/usr/local/Cellar/coot/1.0.05/share/coot/shaders

as the other shaders on the intel install.

using

https://raw.githubusercontent.com/YoshitakaMo/homebrew-bio/cootgtk4/Formula/cootgtk4.rb

on intel I'm hitting the error

mv -f .deps/c-interface-build.Tpo .deps/c-interface-build.Plo
make: *** [all-recursive] Error 1
/usr/local/Homebrew/Library/Homebrew/shims/shared/git --version
/usr/local/Homebrew/Library/Homebrew/shims/shared/curl --version
/usr/local/Homebrew/Library/Homebrew/ignorable.rb:29:in `block in raise'
BuildError: Failed executing: make
1. raise
2. ignore
3. backtrace
4. irb
5. shell

ignoring takes me to a further error

glade-callbacks.cc:1673:42: error: unknown type name 'GtkMenuItem'
                                        (GtkMenuItem     *menuitem,
                                         ^
glade-callbacks.cc:1682:53: error: unknown type name 'GtkMenuItem'
on_fetch_alphafold_model_using_uniprot_id1_activate(GtkMenuItem     *menuitem,
                                                    ^
2 errors generated.
make[1]: *** [glade-callbacks.o] Error 1
make: *** [install-recursive] Error 1
/usr/local/Homebrew/Library/Homebrew/shims/shared/curl --version
/usr/local/Homebrew/Library/Homebrew/ignorable.rb:29:in `block in raise'
BuildError: Failed executing: make install
1. raise
2. ignore
3. backtrace
4. irb
5. shell

The install fails (running coot from the command line doesn't work) and the coot executable doesn't show in
/usr/local/Cellar/cootgtk4/HEAD-6baf0de/bin
or
/usr/local/bin/

Whilst on the M1 it fails at

mv -f .deps/atom-overlaps.Tpo .deps/atom-overlaps.Plo
make: *** [all-recursive] Error 1
/opt/homebrew/Library/Homebrew/shims/shared/git --version
/opt/homebrew/Library/Homebrew/shims/shared/curl --version
/opt/homebrew/Library/Homebrew/ignorable.rb:29:in `block in raise'
BuildError: Failed executing: make

when ignored it proceeds to

glade-callbacks.cc:1673:42: error: unknown type name 'GtkMenuItem'
                                        (GtkMenuItem     *menuitem,
                                         ^
glade-callbacks.cc:1682:53: error: unknown type name 'GtkMenuItem'
on_fetch_alphafold_model_using_uniprot_id1_activate(GtkMenuItem     *menuitem,
                                                    ^
2 errors generated.
make[1]: *** [glade-callbacks.o] Error 1
make: *** [install-recursive] Error 1
/opt/homebrew/Library/Homebrew/shims/shared/curl --version
/opt/homebrew/Library/Homebrew/ignorable.rb:29:in `block in raise'
BuildError: Failed executing: make install

which when ignored fails to install with no coot in /opt/homebrew/bin/ or ../Cellar/cootgtk4/HEAD-6baf0de/bin/

I am greatly appreciative of any help you can offer.

I am new to this and approaching it from the point of view of providing IT support for scientists who previously relied on another scientist guiding them with coot installation.

If there is a more appropriate place for me to raise this issue please feel free to direct me to it.

@JoblessLoser are you using --HEAD?
I've (just now) pushed the relevant fix d540009
Please try again.
#65 (comment)

approaching it from the point of view of providing IT support for scientists who previously relied on another scientist guiding them with coot installation

If your scientist is using a Mac and wants Coot 1, then things are problematic at the moment. Gtk3 Coot is slow and GTK4 Coot has missing features. They should be made aware of that.

Updating the toolkit is a non-trivial operation (look, for example, at how fast GIMP and Inkscape have moved to Gtk3 and GTK4 - they are programs about the same size as Coot (Note also that the GIMP has 4 main authors and Coot has only one)).

I can confirm that I am using the full command
brew install ./cootgtk4.rb --verbose --debug --keep-tmp --HEAD
(including the --HEAD parameter)
to run the gtk4 script but I have not been using any parameters to run the coot.rb script

The gtk4 script now complies without error however the application is broken when complied.

When running coot from terminal I get the following output

% coot
WARNING:: The reference structures directory (COOT_REF_STRUCTS): /usr/local/Cellar/cootgtk4/HEAD-800183e/share/coot/reference-structures was not found.
          Ca->Mainchain will not be possible.
WARNING:: Coot REFMAC dictionary override COOT_REFMAC_LIB_DIRfailed to find a dictionary /usr/local/Cellar/cootgtk4/HEAD-800183e/share/coot/lib
WARNING:: COOT_PREFIX set, but no dictionary lib found
WARNING: Failed to read restraints dictionary. 
WARNING:: The reference structures directory (COOT_REF_STRUCTS): /usr/local/Cellar/cootgtk4/HEAD-800183e/share/coot/reference-structures was not found.
          Ca->Mainchain will not be possible.
WARNING:: Coot REFMAC dictionary override COOT_REFMAC_LIB_DIRfailed to find a dictionary /usr/local/Cellar/cootgtk4/HEAD-800183e/share/coot/lib
WARNING:: COOT_PREFIX set, but no dictionary lib found
WARNING: Failed to read restraints dictionary. 
debug:: new_startup_application_activate(): Window id: 1
new_startup_realize() ------------------- start ------------------
INFO:: GL Version:                  4.1 INTEL-18.8.4
INFO:: GL Shading Language Version: 4.10
INFO:: GL Renderer:                 Intel(R) UHD Graphics 630
INFO:: GL Vendor:                   Intel Inc.
DEBUG:: use_framebuffers: 1
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer screen/occlusion is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer blur-y is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer blur-x is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer new-blur is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer blur is not complete
--- start framebuffer effects-framebuffer init() err is 1282
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer effects-framebuffer is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer blur-y is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer blur-x is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer new-blur is not complete
GL ERROR:: attach_buffers --- post gtk_gl_area_attach_buffers()
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer SSAO-gBuffer-framebuffer is not complete
Framebuffer not complete!
SSAO Framebuffer not complete!
SSAO Blur Framebuffer not complete!
WARNING:: validation failed: meshes-with-shadows.shader validation status 0
Shader compile         meshes-with-shadows.shader validation-failed
WARNING:: validation failed: meshes-shadow-map.shader validation status 0
Shader compile           meshes-shadow-map.shader validation-failed
WARNING:: validation failed: meshes-for-ssao.shader validation status 0
Shader compile             meshes-for-ssao.shader validation-failed
WARNING:: validation failed: texture-meshes-for-ssao.shader validation status 0
Shader compile     texture-meshes-for-ssao.shader validation-failed
WARNING:: validation failed: texture-meshes-with-shadows.shader validation status 0
Shader compile texture-meshes-with-shadows.shader validation-failed
WARNING:: validation failed: texture-meshes-shadow-map.shader validation status 0
Shader compile   texture-meshes-shadow-map.shader validation-failed
WARNING:: validation failed: texture-meshes.shader validation status 0
Shader compile              texture-meshes.shader validation-failed
WARNING:: validation failed: shadow-map-image-texture.shader validation status 0
Shader compile    shadow-map-image-texture.shader validation-failed
WARNING:: validation failed: 9.ssao_geometry.shader validation status 0
Shader compile             9.ssao_geometry.shader validation-failed
WARNING:: validation failed: 9.ssao.shader validation status 0
Shader compile                      9.ssao.shader validation-failed
WARNING:: validation failed: 9.ssao_blur.shader validation status 0
Shader compile                 9.ssao_blur.shader validation-failed
WARNING:: validation failed: outline-of-active-residue.shader validation status 0
Shader compile   outline-of-active-residue.shader validation-failed
WARNING:: validation failed: map.shader validation status 0
Shader compile                         map.shader validation-failed
WARNING:: validation failed: draw-map-cap.shader validation status 0
Shader compile                draw-map-cap.shader validation-failed
WARNING:: validation failed: model.shader validation status 0
Shader compile                       model.shader validation-failed
WARNING:: validation failed: central-cube.shader validation status 0
Shader compile                central-cube.shader validation-failed
WARNING:: validation failed: central-cube.shader validation status 0
Shader compile                central-cube.shader validation-failed
WARNING:: validation failed: hud-text.shader validation status 0
Shader compile                    hud-text.shader validation-failed
WARNING:: validation failed: hud-bars.shader validation status 0
Shader compile                    hud-bars.shader validation-failed
WARNING:: validation failed: hud-labels.shader validation status 0
Shader compile                  hud-labels.shader validation-failed
WARNING:: validation failed: hud-image-texture.shader validation status 0
Shader compile           hud-image-texture.shader validation-failed
WARNING:: validation failed: atom-label.shader validation status 0
Shader compile                  atom-label.shader validation-failed
WARNING:: validation failed: moleculestotriangles.shader validation status 0
Shader compile        moleculestotriangles.shader validation-failed
WARNING:: validation failed: lines.shader validation status 0
Shader compile                       lines.shader validation-failed
WARNING:: validation failed: lines-pulse.shader validation status 0
Shader compile                 lines-pulse.shader validation-failed
WARNING:: validation failed: rama-balls.shader validation status 0
Shader compile                  rama-balls.shader validation-failed
WARNING:: validation failed: particles.shader validation status 0
Shader compile                   particles.shader validation-failed
WARNING:: validation failed: instanced-objects.shader validation status 0
Shader compile           instanced-objects.shader validation-failed
WARNING:: validation failed: hud-geometry-tooltip-text.shader validation status 0
Shader compile   hud-geometry-tooltip-text.shader validation-failed
WARNING:: validation failed: residue-markers.shader validation status 0
Shader compile             residue-markers.shader validation-failed
WARNING:: validation failed: residue-markers-for-ssao.shader validation status 0
Shader compile    residue-markers-for-ssao.shader validation-failed
WARNING:: validation failed: ligand-view.shader validation status 0
Shader compile                 ligand-view.shader validation-failed
WARNING:: validation failed: model-as-mesh.shader validation status 0
Shader compile               model-as-mesh.shader validation-failed
WARNING:: validation failed: symmetry-atoms-lines.shader validation status 0
Shader compile        symmetry-atoms-lines.shader validation-failed
WARNING:: validation failed: hud-bars.shader validation status 0
Shader compile                    hud-bars.shader validation-failed
WARNING:: validation failed: rama-plot-axes-and-ticks.shader validation status 0
Shader compile    rama-plot-axes-and-ticks.shader validation-failed
WARNING:: validation failed: rama-plot-phi-psi-markers.shader validation status 0
Shader compile   rama-plot-phi-psi-markers.shader validation-failed
WARNING:: validation failed: hud-lines.shader validation status 0
Shader compile                   hud-lines.shader validation-failed
WARNING:: validation failed: meshes.shader validation status 0
Shader compile                      meshes.shader validation-failed
WARNING:: validation failed: texture-meshes.shader validation status 0
Shader compile              texture-meshes.shader validation-failed
WARNING:: validation failed: effects.shader validation status 0
Shader compile                     effects.shader validation-failed
WARNING:: validation failed: blur-x.shader validation status 0
Shader compile                      blur-x.shader validation-failed
WARNING:: validation failed: blur-y.shader validation status 0
Shader compile                      blur-y.shader validation-failed
WARNING:: validation failed: depth-of-field.shader validation status 0
Shader compile              depth-of-field.shader validation-failed
WARNING:: validation failed: rotation-centre-cross-hairs-for-ssao.shader validation status 0
Shader compile rotation-centre-cross-hairs-for-ssao.shader validation-failed
GL error HUDMesh setup_buffers()
---------- done setup_hud_geometry_bars
debug:: in setup_hud_buttons() use_graphics_interface_flag 1 glareas[0] 0x7f82e8d9ba60
GL ERROR:: attach_buffers --- post gtk_gl_area_attach_buffers()
debug:: in setup_hud_buttons() no error
debug:: in setup_hud_buttons() 2 no error
in setup_hud_buttons() 1 
in setup_hud_buttons() 2 
in setup_hud_buttons() 3 
in setup_hud_buttons() done 
GL ERROR:: setup_draw_for_happy_face_residue_markers_init() Post attach buffers err is 1282
GL ERROR:: attach_buffers --- post gtk_gl_area_attach_buffers()
GL ERROR:: attach_buffers --- post gtk_gl_area_attach_buffers()
GL ERROR:: attach_buffers --- post gtk_gl_area_attach_buffers()
================= setting up GTK4 style event controlllers ====================
DEBUG: -----------------@@@ new_startup_on_glarea_resize() 700 610
PDB Accession Code: 7QSM
dialog: 0x7f82f006e510
DEBUG:: extracted accession code handle mode n 12
debug:: safe_python_command() PyRun_SimpleString() import get_ebi ; get_ebi.get_eds_pdb_and_mtz("7QSM")
objc[83792]: Class gdkCoreCursor is implemented in both /usr/local/Cellar/gtk4/4.6.6_1/lib/libgtk-4.1.dylib (0x111839a60) and /usr/local/Cellar/gtk+3/3.24.34/lib/libgdk-3.0.dylib (0x155d1f200). One of the two will be used. Which one is undefined.
/usr/local/Cellar/python@3.10/3.10.6_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gi/module.py:163: Warning: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed
  g_type = info.get_g_type()
/usr/local/Cellar/python@3.10/3.10.6_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gi/module.py:163: Warning: g_once_init_leave: assertion 'result != 0' failed
  g_type = info.get_g_type()
/usr/local/Cellar/python@3.10/3.10.6_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gi/module.py:197: Warning: g_type_get_qdata: assertion 'node != NULL' failed
  type_ = g_type.pytype

The directory

/usr/local/Cellar/cootgtk4/HEAD-800183e/share/coot/

is present just not the subdirectory

/usr/local/Cellar/cootgtk4/HEAD-800183e/share/coot/lib
or
/usr/local/Cellar/cootgtk4/HEAD-800183e/share/coot/reference-structures

When loaded the UI is different in comparison to previous versions.

All icons are missing.
goto atom & goto ligand are missing
The menubar has moved from the window to the top of the screen.

The performance test I had been given was to

Fetch with PDB Accession Code 7QSM and check for delay in rotate the model

doing so now just hangs the application.

In terms of providing the scientists with a working version of coot, I have had some success following a very old set of instructions which lead me to install 0.9.8.1 as part of a pre-complied package ccpem-1.6.0 available here

https://www.ccpem.ac.uk/download.php

since fink doesn't exist on Monterey trying to building 0.9.8.3 seems like a dead end but I am open to other solutions.

I will investigate gtk4 on the M1
and try https://raw.githubusercontent.com/YoshitakaMo/homebrew-bio/coot/Formula/coot.rb with the changes intel if I find anything interesting I'll post back.

on intel

https://raw.githubusercontent.com/YoshitakaMo/homebrew-bio/coot/Formula/coot.rb

installs and runs without errors.

so

Shader compile model-as-mesh.shader success

I ran with

brew install ./coot.rb --verbose --debug --keep-tmp --HEAD

this time (so using the --HEAD parameter)

I can confirm that I am using the full command brew install ./cootgtk4.rb --verbose --debug --keep-tmp --HEAD (including the --HEAD parameter) to run the gtk4 script but I have not been using any parameters to run the coot.rb script

The gtk4 script now complies without error

Good

however the application is broken when complied.

OK.

When running coot from terminal I get the following output

% coot
WARNING:: The reference structures directory (COOT_REF_STRUCTS): /usr/local/Cellar/cootgtk4/HEAD-800183e/share/coot/reference-structures was not found.
          Ca->Mainchain will not be possible.
WARNING:: Coot REFMAC dictionary override COOT_REFMAC_LIB_DIRfailed to find a dictionary /usr/local/Cellar/cootgtk4/HEAD-800183e/share/coot/lib

The reference structures can be found here:
https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/reference-structures.tar.gz
Just untar them to the right directory. I think the coot.rb does this, so you can read that for more information.

WARNING:: COOT_PREFIX set, but no dictionary lib found
WARNING: Failed to read restraints dictionary.

Likewise the use of the dictionary refmac-monomer-library.tar.gz (many .cif files) can be found in the coot.rb file.

debug:: new_startup_application_activate(): Window id: 1
new_startup_realize() ------------------- start ------------------
INFO:: GL Version: 4.1 INTEL-18.8.4
INFO:: GL Shading Language Version: 4.10
INFO:: GL Renderer: Intel(R) UHD Graphics 630
INFO:: GL Vendor: Intel Inc.
DEBUG:: use_framebuffers: 1
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer screen/occlusion is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer blur-y is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer blur-x is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer new-blur is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer blur is not complete
--- start framebuffer effects-framebuffer init() err is 1282
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer effects-framebuffer is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer blur-y is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer blur-x is not complete
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer new-blur is not complete
GL ERROR:: attach_buffers --- post gtk_gl_area_attach_buffers()
xxxxxxxxxxxxxxxxxxxxx Error! FrameBuffer SSAO-gBuffer-framebuffer is not complete
Framebuffer not complete!
SSAO Framebuffer not complete!
SSAO Blur Framebuffer not complete!
[snip] shader validation failures.

This works as it does on my laptop (the graphics works there).

GL error HUDMesh setup_buffers()
---------- done setup_hud_geometry_bars
debug:: in setup_hud_buttons() use_graphics_interface_flag 1 glareas[0] 0x7f82e8d9ba60
GL ERROR:: attach_buffers --- post gtk_gl_area_attach_buffers()
debug:: in setup_hud_buttons() no error
debug:: in setup_hud_buttons() 2 no error
in setup_hud_buttons() 1
in setup_hud_buttons() 2
in setup_hud_buttons() 3
in setup_hud_buttons() done
GL ERROR:: setup_draw_for_happy_face_residue_markers_init() Post attach buffers err is 1282
GL ERROR:: attach_buffers --- post gtk_gl_area_attach_buffers()
GL ERROR:: attach_buffers --- post gtk_gl_area_attach_buffers()
GL ERROR:: attach_buffers --- post gtk_gl_area_attach_buffers()

These are the same messages as I get (seems harmless at the moment).

================= setting up GTK4 style event controlllers ====================
DEBUG: -----------------@@@ new_startup_on_glarea_resize() 700 610
PDB Accession Code: 7QSM
dialog: 0x7f82f006e510
DEBUG:: extracted accession code handle mode n 12
debug:: safe_python_command() PyRun_SimpleString() import get_ebi ; get_ebi.get_eds_pdb_and_mtz("7QSM")
objc[83792]: Class gdkCoreCursor is implemented in both /usr/local/Cellar/gtk4/4.6.6_1/lib/libgtk-4.1.dylib (0x111839a60) and /usr/local/Cellar/gtk+3/3.24.34/lib/libgdk-3.0.dylib (0x155d1f200). One of the two will be used. Which one is undefined.

OK, there is a conflict here between Gtk3 and GTK4 - that's bad. gtk4coot should not be using Gtk3 - I will check the python scripts.

/usr/local/Cellar/python@3.10/3.10.6_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gi/module.py:163: Warning: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed

This is linking with Python 3.10 - that's interesting and useful.

g_type = info.get_g_type()
/usr/local/Cellar/python@3.10/3.10.6_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gi/module.py:163: Warning: g_once_init_leave: assertion 'result != 0' failed
g_type = info.get_g_type()

Yes, this is a result of mixing the GTK versions.

When loaded the UI is different in comparison to previous versions.

Yes, that's GTK4 for you. I've had to rewrite the interface from scratch.

All icons are missing.

Yes, I don't know how to add them.

goto atom & goto ligand are missing

They should be easy to add - but won't have icons for the moment.

The menubar has moved from the window to the top of the screen.

That's a feature - that's what proper Mac applications do.

The performance test I had been given was to

Fetch with PDB Accession Code 7QSM and check for delay in rotate the model

doing so now just hangs the application.

Yes, because fetching a file uses scripting - and scripting is broken as noted above.
Maybe it is simply fixed - I don't know.

In terms of providing the scientists with a working version of coot, I have had some success following a very old set of instructions which lead me to install 0.9.8.1 as part of a pre-complied package ccpem-1.6.0 available here

https://www.ccpem.ac.uk/download.php

That I think is likely to be the best method today.

since fink doesn't exist on Monterey trying to building 0.9.8.3 seems like a dead end but I am open to other solutions.

Fink project not seen much love - it's a lot of effort and not many of us have the time.

I will investigate gtk4 on the M1 and try https://raw.githubusercontent.com/YoshitakaMo/homebrew-bio/coot/Formula/coot.rb with the changes intel if I find anything interesting I'll post back.

OK sounds interesting. If we've done things right, then the Intel should behave like the M1 chip - there is no chip-specific code in Coot.

I was able to copy the

/usr/local/Cellar/cootgtk4/HEAD-800183e/share/coot/reference-structures
&
/usr/local/Cellar/cootgtk4/HEAD-800183e/share/coot/lib

Directories from the gtk3 install after which gtk4 operated and I was able to view some structures so I assume it is working.

As far as I can tell the lines for installing

https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/reference-structures.tar.gz

are the same in

https://raw.githubusercontent.com/YoshitakaMo/homebrew-bio/coot/Formula/coot.rb
https://raw.githubusercontent.com/YoshitakaMo/homebrew-bio/cootgtk4/Formula/cootgtk4.rb

running diff shows

mbu001094 ~ % diff coot.rb cootgtk4.rb
1c1
< class Coot < Formula
---
> class Cootgtk4 < Formula
11c11
<     url "https://github.com/pemsley/coot.git", branch: "gtk3"
---
>     url "https://github.com/pemsley/coot.git", branch: "gtk4"
32d31
<   depends_on "goocanvas"
34c33
<   depends_on "gtk+3"
---
>   depends_on "gtk4"
39d37
<   depends_on "pygobject3"
87a86
>     # --with-enhanced-ligand-tools is now disabled.
94c93
<       --with-enhanced-ligand-tools
---
>       --with-gtk4

so the only differences beyond the switch from gtk+3 to gtk4 are missing

depends_on "goocanvas"
depends_on "pygobject3"

and the --with-enhanced-ligand-tools parameter

none of which sound like they would effect the behaviour of

# install reference data
# install data, #{pkgshare} is /path/to/share/coot
(pkgshare/"reference-structures").install resource("reference-structures")
(pkgshare/"lib/data/monomers").install resource("monomers")

which are identical

but this is far beyond my understanding.

The feed back I got from users was that gtk4 is much faster but is lacking in functionality (which I'm guessing you are aware of)

Many thanks for your help.