﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	notify_on_close	platform	project
1172	Problems encountered building bundle for Windows	Tristan Croll	Conrad Huang	"A somewhat catch-all list of issues encountered while building the Clipper and ISOLDE plugins for Windows:

- non-gui ChimeraX command-line switches (e.g. `ChimeraX -m pip ...`, `ChimeraX --nogui`, `ChimeraX --nogui --cmd ...`) appear to do nothing. In all cases it simply immediately returns to the prompt. `ChimeraX --cmd ...` does work. I'm managing by starting the ChimeraX gui and running `devel install .` from the inside.

- it wasn't clear to me that `toolshed install xxx` could be used to install non-ChimeraX-specific wheels. I spent some time trying to figure out how to pip install the base Clipper-Python module. For what it's worth, the iPython magic `!pip install xxx` is really *quite* magic - it manages to install the wheel to the *system* Python rather than ChimeraX.

- #1147 is still a pain in the neck. I'm quite sure that in `bundle_builder._get_bundle_dirs()`, line 500 should just be 

{{{
            return None, None
}}}

rather than raising an error - otherwise any bundle with a dependency that *isn't* a ChimeraX bundle fails at this point.

- In bundle_info.xml the <CLibrary> option is undocumented. Seems I've been getting by on luck up to now, using the <CModule> option for libraries that are actually just designed for ctypes and have no `PyInit__` functions. The Windows build pipeline fails on linking under that scheme. I found <CLibrary> by looking through some core ChimeraX bundles. That works, once I amend bundle_builder.py to provide the ChimeraX core library directory (in `_CLibrary.compile()` at line 560):

{{{
            compiler.add_library_dir(os.path.join(sys.exec_prefix, '..', 'lib')
}}}

That has me as far as successfully building the Clipper plugin. Will add to this if I find any other issues going forward into building ISOLDE."	defect	closed	major		Tool Shed		fixed		Eric Pettersen Greg Couch				all	ChimeraX
