Opened 5 years ago

Closed 5 years ago

#4132 closed defect (fixed)

Build fails "no such option: --extra-index-url"

Reported by: Tom Goddard Owned by: Greg Couch
Priority: moderate Milestone:
Component: Build System Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Looks like your change to handling of ChimeraX.exe options broke the Linux build. Here is where the build from scratch failed installing bundle arrays.

make -C arrays build
make[5]: Entering directory '/home/goddard/ucsf/chimerax/src/bundles/arrays'
../../../ChimeraX.app/bin/ChimeraX --nogui --safemode --exit --cmd "devel install . user false exit true noDeps true"
INFO:
Executing: devel install . user false exit true noDeps true
Warning: Can't read registry to find the necessary compiler setting
Make sure that Python modules winreg, win32api or win32con are installed.
C compiler: gcc -pipe -fPIC -std=gnu99 -fstack-protector-strong -DUSE_DYLD_GLOBAL_NAMESPACE -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -D_FORTIFY=2 -fstack-protector-strong -fPIC

compile options: '-std=c++11 -DDYNAMIC_LIBRARY=1 -I/home/goddard/ucsf/chimerax/src/bundles/arrays/../../../ChimeraX.app/include -I/home/goddard/ucsf/chimerax/ChimeraX.app/lib/python3.8/site-packages/numpy/core/include -I/home/goddard/ucsf/chimerax/ChimeraX.app/include/python3.8 -c'
gcc: _arrays/refcount.cpp
gcc: _arrays/rcarray.cpp
gcc: _arrays/pythonarray.cpp
cc1plus: warning: command line option ‘-std=gnu99’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-std=gnu99’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-std=gnu99’ is valid for C/ObjC but not for C++
_arrays/refcount.cpp: In copy constructor ‘Reference_Count::Reference_Count(const Reference_Count&)’:
_arrays/refcount.cpp:45:28: warning: ‘*<unknown>.Reference_Count::ref_count’ is used uninitialized in this function [-Wuninitialized]

45 | decrement_reference_count(ref_count);

| ~

creating src/lib
c++ -pipe -fPIC -std=gnu99 -fdebug-prefix-map=/home/goddard/ucsf/chimerax/build=. -fstack-protector-strong -I/home/goddard/ucsf/chimerax/build/include -L/home/goddard/ucsf/chimerax/build/lib -DUSE_DYLD_GLOBAL_NAMESPACE -pthread -shared -O3 -Wall -Wextra -D_FORTIFY=2 -Wl,-rpath,$ORIGIN/lib _arrays/pythonarray.o _arrays/rcarray.o _arrays/refcount.o -L/home/goddard/ucsf/chimerax/src/bundles/arrays/../../../ChimeraX.app/lib -o src/lib/libarrays.so
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/chimerax
creating build/lib.linux-x86_64-3.8/chimerax/arrays
copying src/init.py -> build/lib.linux-x86_64-3.8/chimerax/arrays
creating build/lib.linux-x86_64-3.8/chimerax/arrays/include
creating build/lib.linux-x86_64-3.8/chimerax/arrays/include/arrays
copying src/include/arrays/pythonarray.h -> build/lib.linux-x86_64-3.8/chimerax/arrays/include/arrays
copying src/include/arrays/rcarray.h -> build/lib.linux-x86_64-3.8/chimerax/arrays/include/arrays
copying src/include/arrays/refcount.h -> build/lib.linux-x86_64-3.8/chimerax/arrays/include/arrays
copying src/include/arrays/imex.h -> build/lib.linux-x86_64-3.8/chimerax/arrays/include/arrays
creating build/lib.linux-x86_64-3.8/chimerax/arrays/lib
copying src/lib/libarrays.so -> build/lib.linux-x86_64-3.8/chimerax/arrays/lib
running build_ext
building 'chimerax.arrays._arrays' extension
C compiler: gcc -pipe -fPIC -std=gnu99 -fstack-protector-strong -DUSE_DYLD_GLOBAL_NAMESPACE -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -D_FORTIFY=2 -fstack-protector-strong -fPIC

creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/_arrays
compile options: '-DMAJOR_VERSION=0 -DMINOR_VERSION=1 -I/home/goddard/ucsf/chimerax/src/bundles/arrays/../../../ChimeraX.app/include -Isrc/include -I/home/goddard/ucsf/chimerax/ChimeraX.app/include/python3.8 -c'
extra options: '-std=c++11'
gcc: _arrays/load_arrays.cpp
cc1plus: warning: command line option ‘-std=gnu99’ is valid for C/ObjC but not for C++
c++ -pipe -fPIC -std=gnu99 -fdebug-prefix-map=/home/goddard/ucsf/chimerax/build=. -fstack-protector-strong -I/home/goddard/ucsf/chimerax/build/include -L/home/goddard/ucsf/chimerax/build/lib -DUSE_DYLD_GLOBAL_NAMESPACE -pthread -shared -O3 -Wall -Wextra -D_FORTIFY=2 build/temp.linux-x86_64-3.8/_arrays/load_arrays.o -L/home/goddard/ucsf/chimerax/src/bundles/arrays/../../../ChimeraX.app/lib -Lsrc/lib -L/home/goddard/ucsf/chimerax/build/lib -larrays -o build/lib.linux-x86_64-3.8/chimerax/arrays/_arrays.cpython-38-x86_64-linux-gnu.so -Wl,-rpath,$ORIGIN/lib
running bdist_wheel
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
running build_ext
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/chimerax
creating build/bdist.linux-x86_64/wheel/chimerax/arrays
creating build/bdist.linux-x86_64/wheel/chimerax/arrays/include
creating build/bdist.linux-x86_64/wheel/chimerax/arrays/include/arrays
copying build/lib.linux-x86_64-3.8/chimerax/arrays/include/arrays/refcount.h -> build/bdist.linux-x86_64/wheel/chimerax/arrays/include/arrays
copying build/lib.linux-x86_64-3.8/chimerax/arrays/include/arrays/pythonarray.h -> build/bdist.linux-x86_64/wheel/chimerax/arrays/include/arrays
copying build/lib.linux-x86_64-3.8/chimerax/arrays/include/arrays/imex.h -> build/bdist.linux-x86_64/wheel/chimerax/arrays/include/arrays
copying build/lib.linux-x86_64-3.8/chimerax/arrays/include/arrays/rcarray.h -> build/bdist.linux-x86_64/wheel/chimerax/arrays/include/arrays
copying build/lib.linux-x86_64-3.8/chimerax/arrays/init.py -> build/bdist.linux-x86_64/wheel/chimerax/arrays
copying build/lib.linux-x86_64-3.8/chimerax/arrays/_arrays.cpython-38-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/chimerax/arrays
creating build/bdist.linux-x86_64/wheel/chimerax/arrays/lib
copying build/lib.linux-x86_64-3.8/chimerax/arrays/lib/libarrays.so -> build/bdist.linux-x86_64/wheel/chimerax/arrays/lib
running install_egg_info
running egg_info
creating ChimeraX_Arrays.egg-info
writing ChimeraX_Arrays.egg-info/PKG-INFO
writing dependency_links to ChimeraX_Arrays.egg-info/dependency_links.txt
writing top-level names to ChimeraX_Arrays.egg-info/top_level.txt
writing manifest file 'ChimeraX_Arrays.egg-info/SOURCES.txt'
reading manifest file 'ChimeraX_Arrays.egg-info/SOURCES.txt'
writing manifest file 'ChimeraX_Arrays.egg-info/SOURCES.txt'
Copying ChimeraX_Arrays.egg-info to build/bdist.linux-x86_64/wheel/ChimeraX_Arrays-1.0-py3.8.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/ChimeraX_Arrays-1.0.dist-info/WHEEL
creating 'dist/ChimeraX_Arrays-1.0-cp38-cp38-manylinux_2_31_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'chimerax/arrays/init.py'
adding 'chimerax/arrays/_arrays.cpython-38-x86_64-linux-gnu.so'
adding 'chimerax/arrays/include/arrays/imex.h'
adding 'chimerax/arrays/include/arrays/pythonarray.h'
adding 'chimerax/arrays/include/arrays/rcarray.h'
adding 'chimerax/arrays/include/arrays/refcount.h'
adding 'chimerax/arrays/lib/libarrays.so'
adding 'ChimeraX_Arrays-1.0.dist-info/METADATA'
adding 'ChimeraX_Arrays-1.0.dist-info/WHEEL'
adding 'ChimeraX_Arrays-1.0.dist-info/top_level.txt'
adding 'ChimeraX_Arrays-1.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Distribution is in ./dist/ChimeraX_Arrays-1.0-cp38-cp38-manylinux_2_31_x86_64.whl
INFO:
Executing: toolshed install ./dist/ChimeraX_Arrays-1.0-cp38-cp38-manylinux_2_31_x86_64.whl userOnly false noDeps true
Traceback (most recent call last):

File "/home/goddard/ucsf/chimerax/ChimeraX.app/lib/python3.8/site-packages/chimerax/toolshed_utils/init.py", line 495, in _pip_install

results = _run_pip(command, logger)

File "/home/goddard/ucsf/chimerax/ChimeraX.app/lib/python3.8/site-packages/chimerax/toolshed_utils/init.py", line 546, in _run_pip

raise RuntimeError(s)

RuntimeError:
Usage:

/home/goddard/ucsf/chimerax/src/bundles/arrays/../../../ChimeraX.app/bin/ChimeraX -m pip <command> [options]

no such option: --extra-index-url

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/home/goddard/ucsf/chimerax/ChimeraX.app/lib/python3.8/site-packages/chimerax/core/commands/devel.py", line 162, in _run

unbound_method(bb, *args, kw)

File "/home/goddard/ucsf/chimerax/ChimeraX.app/lib/python3.8/site-packages/chimerax/bundle_builder/bundle_builder.py", line 118, in make_install

run(session, cmd)

File "/home/goddard/ucsf/chimerax/ChimeraX.app/lib/python3.8/site-packages/chimerax/core/commands/run.py", line 36, in run

results = command.run(text, log=log, return_json=return_json)

File "/home/goddard/ucsf/chimerax/ChimeraX.app/lib/python3.8/site-packages/chimerax/core/commands/cli.py", line 2852, in run

result = ci.function(session, kw_args)

File "/home/goddard/ucsf/chimerax/ChimeraX.app/lib/python3.8/site-packages/chimerax/core/commands/toolshed.py", line 301, in toolshed_install

ts.install_bundle(bundles, logger, kw)

File "/home/goddard/ucsf/chimerax/ChimeraX.app/lib/python3.8/site-packages/chimerax/core/toolshed/init.py", line 898, in install_bundle

_install_bundle(self, bundle, logger, per_user=per_user, reinstall=reinstall, session=session, no_deps=no_deps)

File "/home/goddard/ucsf/chimerax/ChimeraX.app/lib/python3.8/site-packages/chimerax/toolshed_utils/init.py", line 237, in _install_bundle

results = _pip_install(

File "/home/goddard/ucsf/chimerax/ChimeraX.app/lib/python3.8/site-packages/chimerax/toolshed_utils/init.py", line 498, in _pip_install

raise UserError(str(e))

chimerax.core.errors.UserError:
Usage:

/home/goddard/ucsf/chimerax/src/bundles/arrays/../../../ChimeraX.app/bin/ChimeraX -m pip <command> [options]

no such option: --extra-index-url

0.00% done: Initializing core
50.00% done: Initializing bundles
make[5]: * install Error 1
make[5]: Leaving directory '/home/goddard/ucsf/chimerax/src/bundles/arrays'
make[4]:
* arrays.build Error 2
make[4]: Leaving directory '/home/goddard/ucsf/chimerax/src/bundles'
make[3]: * [Makefile:68: install] Error 2
make[3]: Leaving directory '/home/goddard/ucsf/chimerax/src/bundles'
make[2]:
* bundles.install Error 2
make[2]: Leaving directory '/home/goddard/ucsf/chimerax/src'
make[1]: * [Makefile:35: install] Error 2
make[1]: Leaving directory '/home/goddard/ucsf/chimerax'
make:
* [Makefile:110: build-from-scratch] Error 2

Change History (3)

comment:1 by Greg Couch, 5 years ago

Thanks, I'm looking into it. I'm looking for an easy way to reproduce this. It reproduced when doing a fresh build. But then doing a "make install" in the bundles/arrays worked.

comment:2 by Greg Couch, 5 years ago

Fixed. I didn't see the bug because I had an unchecked-in modification to the build process that masked the problem.

comment:3 by Greg Couch, 5 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.