Opened 5 years ago
Closed 3 years ago
#4166 closed defect (fixed)
ISOLDE/ParmEd: UnboundLocalError: local variable 'compiler_package' referenced before assignment
| Reported by: | Owned by: | Tristan Croll | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Third Party | Version: | |
| Keywords: | Cc: | Greg Couch | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Windows-10-10.0.18362
ChimeraX Version: 1.1 (2020-09-09 22:22:27 UTC)
Description
UnboundLocalError: local variable 'compiler_package' referenced before assignment
UnboundLocalError: local variable 'compiler_package' referenced before assignment
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-packages\chimerax\isolde\parmed\__init__.py", line 52, in install_parmed
'Please install {} and try again. \n\n{}'.format(compiler_package,
See log for complete Python traceback.
Log:
UCSF ChimeraX version: 1.1 (2020-09-09)
© 2016-2020 Regents of the University of California. All rights reserved.
> open "D:\Dropbox (NYU Langone
> Health)\LabIgor\Structural\yeastDot1More\SupplementPAPER\Building_010820\Isolde012320\Isolde012320.cxs"
> format session
restore_snapshot for "RotamerRestraintMgr" returned None
restore_snapshot for "RotamerRestraintMgr" returned None
Log from Sat Jan 23 20:35:08 2021UCSF ChimeraX version: 1.1 (2020-09-09)
© 2016-2020 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> toolshed show
Downloading bundle ChimeraX_Clipper-0.15.0-cp37-cp37m-win_amd64.whl
Traceback (most recent call last):
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\help_viewer\tool.py", line 389, in download_finished
session=self.session)
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 903, in install_bundle
_install_bundle(self, bundle, logger, per_user=per_user, reinstall=reinstall,
session=session, no_deps=no_deps)
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\toolshed_utils\\__init__.py", line 213, in _install_bundle
raise ToolshedInstalledError("bundle %r already installed" % bundle.name)
AttributeError: 'str' object has no attribute 'name'
AttributeError: 'str' object has no attribute 'name'
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\toolshed_utils\\__init__.py", line 213, in _install_bundle
raise ToolshedInstalledError("bundle %r already installed" % bundle.name)
See log for complete Python traceback.
> open "D:\Dropbox (NYU Langone
> Health)\LabIgor\Structural\yeastDot1More\Maps\maps_Aceto\1stProcesing\cryosparc_P45_J85_007_volume_map_sharp_local.mrc"
> format mrc
Opened cryosparc_P45_J85_007_volume_map_sharp_local.mrc, grid size
300,300,300, pixel 1.03, shown at level 0.334, step 2, values float32
> open "D:/Dropbox (NYU Langone
> Health)/LabIgor/Structural/yeastDot1More/SupplementPAPER/PDB/a_Aceto_PDB/Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb"
Summary of feedback from opening D:/Dropbox (NYU Langone
Health)/LabIgor/Structural/yeastDot1More/SupplementPAPER/PDB/a_Aceto_PDB/Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb
---
warnings | Start residue of secondary structure not found: HELIX 13 13 ALA D
35 VAL D 45 1 11
Start residue of secondary structure not found: HELIX 14 14 SER D 53 TYR D 80
1 28
Start residue of secondary structure not found: HELIX 15 15 SER D 88 LEU D 98
1 11
Start residue of secondary structure not found: HELIX 16 16 GLU D 102 THR D
119 1 18
Start residue of secondary structure not found: HELIX 29 29 ALA H 35 VAL H 45
1 11
3 messages similar to the above omitted
Chain information for Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb #2
---
Chain | Description
A | No description available
B | No description available
C G | No description available
D H | No description available
E | No description available
F | No description available
I | No description available
J | No description available
K | No description available
L | No description available
> select #2
15784 atoms, 16664 bonds, 4 pseudobonds, 1528 residues, 2 models selected
> show sel atoms
> style #2 stick
Changed 15784 atom styles
> ui tool show ISOLDE
> set selectionWidth 4
Chain information for Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb
---
Chain | Description
2.2/A | No description available
2.2/B | No description available
2.2/C 2.2/G | No description available
2.2/D 2.2/H | No description available
2.2/E | No description available
2.2/F | No description available
2.2/I | No description available
2.2/J | No description available
2.2/K | No description available
2.2/L | No description available
Done loading forcefield
> select #2.2
15784 atoms, 16664 bonds, 4 pseudobonds, 1528 residues, 6 models selected
> select #2.3
1 model selected
> select #2.2
15784 atoms, 16664 bonds, 4 pseudobonds, 1528 residues, 6 models selected
> addh
Summary of feedback from adding hydrogens to
Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb #2.2
---
warnings | Not adding hydrogens to /A LYS 37 CB because it is missing heavy-
atom bond partners
Not adding hydrogens to /A ARG 134 CB because it is missing heavy-atom bond
partners
Not adding hydrogens to /B LYS 12 CB because it is missing heavy-atom bond
partners
Not adding hydrogens to /C LYS 13 CB because it is missing heavy-atom bond
partners
Not adding hydrogens to /C LYS 36 CB because it is missing heavy-atom bond
partners
19 messages similar to the above omitted
notes | No usable SEQRES records for
Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb (#2.2) chain A; guessing
termini instead
No usable SEQRES records for
Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb (#2.2) chain B; guessing
termini instead
No usable SEQRES records for
Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb (#2.2) chain C; guessing
termini instead
No usable SEQRES records for
Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb (#2.2) chain D; guessing
termini instead
No usable SEQRES records for
Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb (#2.2) chain E; guessing
termini instead
7 messages similar to the above omitted
Chain-initial residues that are actual N termini: /A LYS 37, /B GLY 11, /C ALA
12, /D THR 32, /E ARG 40, /F GLY 11, /G ALA 12, /H THR 32, /I DT 2, /J DA 1,
/K SER 176, /L MET 1
Chain-initial residues that are not actual N termini: /K THR 235, /K PRO 577
Chain-final residues that are actual C termini: /F GLY 102, /I DT 147, /J DA
146
Chain-final residues that are not actual C termini: /A ARG 134, /B GLY 101, /C
LYS 118, /D ALA 124, /E ARG 134, /G LYS 118, /H ALA 124, /K TYR 580, /K ARG
216, /K ARG 572, /L CYS 76
1622 hydrogen bonds
Adding 'H' to /K THR 235
/A ARG 134 is not terminus, removing H atom from 'C'
/B GLY 101 is not terminus, removing H atom from 'C'
/C LYS 118 is not terminus, removing H atom from 'C'
/D ALA 124 is not terminus, removing H atom from 'C'
/E ARG 134 is not terminus, removing H atom from 'C'
4 messages similar to the above omitted
13337 hydrogens added
> volume #1 step 1
> volume #1 level 2.707
> set bgColor white
> volume #1 level 0.6593
> select #2.2
29121 atoms, 30001 bonds, 4 pseudobonds, 1528 residues, 6 models selected
> select #2.2
29121 atoms, 30001 bonds, 4 pseudobonds, 1528 residues, 6 models selected
> select #2
29121 atoms, 30001 bonds, 4 pseudobonds, 1528 residues, 9 models selected
> select #2
29121 atoms, 30001 bonds, 4 pseudobonds, 1528 residues, 9 models selected
> select #2.2
29121 atoms, 30001 bonds, 4 pseudobonds, 1528 residues, 6 models selected
> select #2.2
29121 atoms, 30001 bonds, 4 pseudobonds, 1528 residues, 6 models selected
> select #2
29121 atoms, 30001 bonds, 4 pseudobonds, 1528 residues, 9 models selected
> select #2
29121 atoms, 30001 bonds, 4 pseudobonds, 1528 residues, 9 models selected
> select #2
29121 atoms, 30001 bonds, 4 pseudobonds, 1528 residues, 9 models selected
> open "D:/Dropbox (NYU Langone
> Health)/LabIgor/Structural/phenix/phenix_mac2/eLBOWx_30/SOP_elbow.cif"
Summary of feedback from opening D:/Dropbox (NYU Langone
Health)/LabIgor/Structural/phenix/phenix_mac2/eLBOWx_30/SOP_elbow.cif
---
warning | Skipping chem_comp category: Missing column 'type' near line 18
> open "D:/Dropbox (NYU Langone
> Health)/LabIgor/Structural/phenix/phenix_mac2/eLBOWx_30/SOP_elbow.pdb"
> select #3
49 atoms, 51 bonds, 1 residue, 1 model selected
> select #2
29121 atoms, 30001 bonds, 4 pseudobonds, 1528 residues, 15 models selected
> select #3
49 atoms, 51 bonds, 1 residue, 1 model selected
QFileSystemWatcher::removePaths: list is empty
> save "D:/Dropbox (NYU Langone
> Health)/LabIgor/Structural/yeastDot1More/SupplementPAPER/Building_010820/Isolde012320/Isolde012320.cxs"
Taking snapshot of stepper: Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb
Restoring stepper: Ref83_noHydrogen_H4ac5av5_s_pdbset1_H2B120_Cis.pdb
opened ChimeraX session
> ui tool show ISOLDE
> set selectionWidth 4
Done loading forcefield
> select ::name="SAM"
50 atoms, 52 bonds, 1 residue, 1 model selected
Traceback (most recent call last):
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-packages\chimerax\ui\gui.py",
line 1574, in <lambda>
action.triggered.connect(lambda arg, cb = callback: cb())
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\menu\menu.py", line 58, in f
module.run_script(session)
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\menu\prep\parameterise_ligand_with_current_h.py",
line 19, in run_script
parameterise_residue_with_elbow(sel, include_hydrogens=True,
keep_elbow_files=False)
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\phenix\parameterise.py", line 16, in
parameterise_residue_with_elbow
install_parmed_if_necessary(session)
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\parmed\\__init__.py", line 30, in
install_parmed_if_necessary
install_parmed(session)
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\parmed\\__init__.py", line 52, in install_parmed
'Please install {} and try again. \n\n{}'.format(compiler_package,
UnboundLocalError: local variable 'compiler_package' referenced before
assignment
UnboundLocalError: local variable 'compiler_package' referenced before
assignment
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\parmed\\__init__.py", line 52, in install_parmed
'Please install {} and try again. \n\n{}'.format(compiler_package,
See log for complete Python traceback.
Traceback (most recent call last):
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-packages\chimerax\ui\gui.py",
line 1574, in <lambda>
action.triggered.connect(lambda arg, cb = callback: cb())
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\menu\menu.py", line 58, in f
module.run_script(session)
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\menu\prep\parameterise_ligand_with_auto_h.py", line
19, in run_script
parameterise_residue_with_elbow(sel, include_hydrogens=False,
keep_elbow_files=False)
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\phenix\parameterise.py", line 16, in
parameterise_residue_with_elbow
install_parmed_if_necessary(session)
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\parmed\\__init__.py", line 30, in
install_parmed_if_necessary
install_parmed(session)
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\parmed\\__init__.py", line 52, in install_parmed
'Please install {} and try again. \n\n{}'.format(compiler_package,
UnboundLocalError: local variable 'compiler_package' referenced before
assignment
UnboundLocalError: local variable 'compiler_package' referenced before
assignment
File "C:\Users\marcv\AppData\Local\UCSF\ChimeraX\1.1\site-
packages\chimerax\isolde\parmed\\__init__.py", line 52, in install_parmed
'Please install {} and try again. \n\n{}'.format(compiler_package,
See log for complete Python traceback.
OpenGL version: 3.3.13560 Core Profile Forward-Compatible Context 26.20.11030.14002
OpenGL renderer: AMD Radeon(TM) Vega 8 Graphics
OpenGL vendor: ATI Technologies Inc.
Manufacturer: HUAWEI
Model: NBLK-WAX9X
OS: Microsoft Windows 10 Home Single Language (Build 18363)
Memory: 7,448,702,976
MaxProcessMemory: 137,438,953,344
CPU: 8 AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx "
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.9
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
Babel: 2.8.0
backcall: 0.2.0
blockdiag: 2.0.1
certifi: 2020.6.20
chardet: 3.0.4
ChimeraX-AddH: 2.1.1
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.1
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.6.1
ChimeraX-AtomSearch: 2.0
ChimeraX-AxesPlanes: 2.0
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 1.0.1
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.0
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.0
ChimeraX-ButtonPanel: 1.0
ChimeraX-CageBuilder: 1.0
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.1
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.0
ChimeraX-Clipper: 0.15.0
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-CommandLine: 1.1.3
ChimeraX-ConnectStructure: 2.0
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.1
ChimeraX-CoreFormats: 1.0
ChimeraX-coulombic: 1.0.1
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-DataFormats: 1.0
ChimeraX-Dicom: 1.0
ChimeraX-DistMonitor: 1.1
ChimeraX-DistUI: 1.0
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ExperimentalCommands: 1.0
ChimeraX-FileHistory: 1.0
ChimeraX-FunctionKey: 1.0
ChimeraX-Geometry: 1.1
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.0
ChimeraX-Hbonds: 2.0
ChimeraX-Help: 1.0
ChimeraX-HKCage: 1.0
ChimeraX-IHM: 1.0
ChimeraX-ImageFormats: 1.0
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0
ChimeraX-ISOLDE: 1.1.0
ChimeraX-Label: 1.0
ChimeraX-ListInfo: 1.0
ChimeraX-Log: 1.1.1
ChimeraX-LookingGlass: 1.1
ChimeraX-Map: 1.0.1
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.0
ChimeraX-Markers: 1.0
ChimeraX-Mask: 1.0
ChimeraX-MatchMaker: 1.1
ChimeraX-MDcrds: 2.0
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.0
ChimeraX-mmCIF: 2.2
ChimeraX-MMTF: 2.0
ChimeraX-Modeller: 1.0
ChimeraX-ModelPanel: 1.0
ChimeraX-ModelSeries: 1.0
ChimeraX-Mol2: 2.0
ChimeraX-Morph: 1.0
ChimeraX-MouseModes: 1.0
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nucleotides: 2.0
ChimeraX-OpenCommand: 1.2.1
ChimeraX-PDB: 2.1
ChimeraX-PDBBio: 1.0
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.0
ChimeraX-PubChem: 2.0
ChimeraX-Read-Pbonds: 1.0
ChimeraX-Registration: 1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-ResidueFit: 1.0
ChimeraX-RestServer: 1.0
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.2
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SeqView: 2.2
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0
ChimeraX-Shortcuts: 1.0
ChimeraX-ShowAttr: 1.0
ChimeraX-ShowSequences: 1.0
ChimeraX-SideView: 1.0
ChimeraX-Smiles: 2.0
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.0.4
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-Struts: 1.0
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0
ChimeraX-SwapRes: 2.0
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.0
ChimeraX-ToolshedUtils: 1.0
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.2.3
ChimeraX-uniprot: 2.0
ChimeraX-ViewDockX: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0
ChimeraX-WebServices: 1.0
ChimeraX-Zone: 1.0
colorama: 0.4.3
comtypes: 1.1.7
cxservices: 1.0
cycler: 0.10.0
Cython: 0.29.20
decorator: 4.4.2
distlib: 0.3.1
docutils: 0.16
filelock: 3.0.12
funcparserlib: 0.3.6
gdcm: 2.8.8
grako: 3.16.5
h5py: 2.10.0
html2text: 2020.1.16
idna: 2.10
ihm: 0.16
imagecodecs: 2020.5.30
imagecodecs-lite: 2020.1.31
imagesize: 1.2.0
ipykernel: 5.3.0
ipython: 7.15.0
ipython-genutils: 0.2.0
jedi: 0.17.2
Jinja2: 2.11.2
jupyter-client: 6.1.3
jupyter-core: 4.6.3
kiwisolver: 1.2.0
line-profiler: 2.1.2
lxml: 4.5.1
MarkupSafe: 1.1.1
matplotlib: 3.2.1
msgpack: 1.0.0
netifaces: 0.10.9
networkx: 2.4
numexpr: 2.7.1
numpy: 1.18.5+mkl
numpydoc: 1.0.0
openvr: 1.12.501
packaging: 20.4
parso: 0.7.1
pickleshare: 0.7.5
Pillow: 7.1.2
pip: 20.2.2
pkginfo: 1.5.0.1
prompt-toolkit: 3.0.7
psutil: 5.7.0
pycollada: 0.7.1
pydicom: 2.0.0
Pygments: 2.6.1
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 2.4.7
PyQt5-commercial: 5.12.3
PyQt5-sip: 4.19.19
PyQtWebEngine-commercial: 5.12.1
python-dateutil: 2.8.1
pytz: 2020.1
pywin32: 228
pyzmq: 19.0.2
qtconsole: 4.7.4
QtPy: 1.9.0
RandomWords: 0.3.0
requests: 2.24.0
scipy: 1.4.1
setuptools: 49.4.0
sfftk-rw: 0.6.6.dev0
six: 1.15.0
snowballstemmer: 2.0.0
sortedcontainers: 2.2.2
Sphinx: 3.1.1
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 2.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 1.0.3
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.4
suds-jurko: 0.6
tables: 3.6.1
tifffile: 2020.6.3
tinyarray: 1.2.2
tornado: 6.0.4
traitlets: 5.0.4
urllib3: 1.25.10
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.34.2
WMI: 1.5.1
Change History (3)
comment:1 by , 5 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Third Party |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → ISOLDE/ParmEd: UnboundLocalError: local variable 'compiler_package' referenced before assignment |
comment:2 by , 5 years ago
comment:3 by , 3 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.
Oops. What ISOLDE is *trying* to tell you is that you'll need to install Visual Studio before you can install ParmEd (because it's only available as a source distribution on the PyPI). But clearly I messed up the construction of the error message.