Opened 2 years ago
Closed 19 months ago
#9267 closed defect (fixed)
make build-from-scratch fails on Linux
| Reported by: | Tom Goddard | Owned by: | Zach Pearson |
|---|---|---|---|
| Priority: | moderate | Milestone: | |
| Component: | Build System | Version: | |
| Keywords: | Cc: | Greg Couch, Eric Pettersen | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
Build fails on Ubuntu 22.04 trying right at the start doing distclean.
The problem seems to be that Makefile.bundle is trying to run "devel clean" if it finds ChimeraX has already been built. It hasn't been built but it tests if CX_BIN = /bin/chimerax exists and it does because this machine has ChimeraX 1.6.1 installed. CX_BIN should really be ChimeraX.app/bin/chimerax but the CHIMERAX_APP variable isn't set correctly because the build ChimeraX.app directory doesn't exist yet.
% make build-from-scratch ... make[3]: Entering directory '/home/goddard/ucsf/chimerax/src/bundles/add_charge' if [ -x /bin/chimerax -a -e bundle_info.xml ]; then \ PYTHONNOUSERSITE=1 /bin/python3.11 -I -m chimerax.core --nogui --exit --safemode --cmd "devel clean . exit true" ; \ else \ rm -rf build dist *.egg-info src/__pycache__ src/*/__pycache__ ; \ fi /bin/python3.11: Error while finding module specification for 'chimerax.core' (ModuleNotFoundError: No module named 'chimerax') make[3]: *** [../Makefile.bundle:116: clean] Error 1 make[3]: Leaving directory '/home/goddard/ucsf/chimerax/src/bundles/add_charge' make[2]: *** [/home/goddard/ucsf/chimerax/mk/subdir.make:36: add_charge.clean] Error 2 make[2]: Leaving directory '/home/goddard/ucsf/chimerax/src/bundles' make[1]: *** [/home/goddard/ucsf/chimerax/mk/subdir.make:36: bundles.clean] Error 2 make[1]: Leaving directory '/home/goddard/ucsf/chimerax/src' make: *** [/home/goddard/ucsf/chimerax/mk/subdir.make:36: src.clean] Error 2
Change History (6)
comment:1 by , 2 years ago
comment:2 by , 2 years ago
Maybe saner, if ChimeraX*.app does not exist then CHIMERAX_APP=ChimeraX.app.
comment:3 by , 2 years ago
Sounded good to me. If the wildcard fails it can just be set to $(TOP)/ChimeraX.app so we're unambiguous about what directories we expect to exist.
comment:5 by , 19 months ago
I don't know. I reported this 10 months ago. Best to test a fix when you made it and close the ticket. I suggest you close it now and it will get reported again some day if there is still a problem.
Not sure why build-dirs and build-app-dirs are different steps, let me try a build that combines them. That'd ensure ChimeraX.app always exists as soon as a build starts.