diff --git a/skylink_ros2_ws/build/.built_by b/skylink_ros2_ws/build/.built_by new file mode 100644 index 0000000..06e74ac --- /dev/null +++ b/skylink_ros2_ws/build/.built_by @@ -0,0 +1 @@ +colcon diff --git a/skylink_ros2_ws/build/COLCON_IGNORE b/skylink_ros2_ws/build/COLCON_IGNORE new file mode 100644 index 0000000..e69de29 diff --git a/skylink_ros2_ws/build/skylink_bridge_python/colcon_build.rc b/skylink_ros2_ws/build/skylink_bridge_python/colcon_build.rc new file mode 100644 index 0000000..573541a --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/colcon_build.rc @@ -0,0 +1 @@ +0 diff --git a/skylink_ros2_ws/build/skylink_bridge_python/colcon_command_prefix_setup_py.sh b/skylink_ros2_ws/build/skylink_bridge_python/colcon_command_prefix_setup_py.sh new file mode 100644 index 0000000..f9867d5 --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/colcon_command_prefix_setup_py.sh @@ -0,0 +1 @@ +# generated from colcon_core/shell/template/command_prefix.sh.em diff --git a/skylink_ros2_ws/build/skylink_bridge_python/colcon_command_prefix_setup_py.sh.env b/skylink_ros2_ws/build/skylink_bridge_python/colcon_command_prefix_setup_py.sh.env new file mode 100644 index 0000000..1e57e03 --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/colcon_command_prefix_setup_py.sh.env @@ -0,0 +1,59 @@ +AMENT_PREFIX_PATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python:/opt/ros/humble +BROWSER=/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/bin/helpers/browser.sh +CMAKE_PREFIX_PATH=/home/flower/app/Qt/6.5.3/gcc_64:/opt/ros/humble/include +COLCON=1 +COLCON_PREFIX_PATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/install +COLORTERM=truecolor +DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus +GIT_ASKPASS=/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/extensions/git/dist/askpass.sh +HOME=/home/flower +LANG=zh_CN.UTF-8 +LANGUAGE=zh_CN:zh:en_US:en +LC_ADDRESS=zh_CN.UTF-8 +LC_IDENTIFICATION=zh_CN.UTF-8 +LC_MEASUREMENT=zh_CN.UTF-8 +LC_MONETARY=zh_CN.UTF-8 +LC_NAME=zh_CN.UTF-8 +LC_NUMERIC=zh_CN.UTF-8 +LC_PAPER=zh_CN.UTF-8 +LC_TELEPHONE=zh_CN.UTF-8 +LC_TIME=zh_CN.UTF-8 +LD_LIBRARY_PATH=/opt/ros/humble/opt/rviz_ogre_vendor/lib:/opt/ros/humble/lib/x86_64-linux-gnu:/opt/ros/humble/lib:/home/flower/app/Qt/6.5.3/gcc_64/lib +LESSCLOSE=/usr/bin/lesspipe %s %s +LESSOPEN=| /usr/bin/lesspipe %s +LOGNAME=flower +LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36: +MOTD_SHOWN=pam +NVM_BIN=/home/flower/app/NVM/.nvm/versions/node/v16.0.0/bin +NVM_CD_FLAGS= +NVM_DIR=/home/flower/app/NVM/.nvm +NVM_INC=/home/flower/app/NVM/.nvm/versions/node/v16.0.0/include/node +OLDPWD=/home/flower/code/camera/flyLink +PATH=/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/bin/remote-cli:/opt/ros/humble/bin:/home/flower/app/NVM/.nvm/versions/node/v16.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/flower/.vscode-server/data/User/globalStorage/github.copilot-chat/debugCommand +PWD=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python +PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:/opt/ros/humble/lib/python3.10/site-packages:/opt/ros/humble/local/lib/python3.10/dist-packages +ROS_DISTRO=humble +ROS_LOCALHOST_ONLY=0 +ROS_PYTHON_VERSION=3 +ROS_VERSION=2 +SHELL=/bin/bash +SHLVL=2 +SSH_CLIENT=192.168.31.107 52414 22 +SSH_CONNECTION=192.168.31.107 52414 192.168.31.21 22 +SSL_CERT_DIR=/usr/lib/ssl/certs +SSL_CERT_FILE=/usr/lib/ssl/certs/ca-certificates.crt +TERM=xterm-256color +TERM_PROGRAM=vscode +TERM_PROGRAM_VERSION=1.101.1 +USER=flower +VSCODE_GIT_ASKPASS_EXTRA_ARGS= +VSCODE_GIT_ASKPASS_MAIN=/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/extensions/git/dist/askpass-main.js +VSCODE_GIT_ASKPASS_NODE=/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/node +VSCODE_GIT_IPC_HANDLE=/run/user/1000/vscode-git-cb34e795ae.sock +VSCODE_IPC_HOOK_CLI=/run/user/1000/vscode-ipc-9c363232-2bf9-4710-8997-fe36d048c317.sock +XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop +XDG_RUNTIME_DIR=/run/user/1000 +XDG_SESSION_CLASS=user +XDG_SESSION_ID=159 +XDG_SESSION_TYPE=tty +_=/usr/bin/colcon diff --git a/skylink_ros2_ws/build/skylink_bridge_python/config/params.yaml b/skylink_ros2_ws/build/skylink_bridge_python/config/params.yaml new file mode 120000 index 0000000..4e79874 --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/config/params.yaml @@ -0,0 +1 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python/config/params.yaml \ No newline at end of file diff --git a/skylink_ros2_ws/build/skylink_bridge_python/launch/bridge.launch.py b/skylink_ros2_ws/build/skylink_bridge_python/launch/bridge.launch.py new file mode 120000 index 0000000..1a8d5d8 --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/launch/bridge.launch.py @@ -0,0 +1 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python/launch/bridge.launch.py \ No newline at end of file diff --git a/skylink_ros2_ws/build/skylink_bridge_python/package.xml b/skylink_ros2_ws/build/skylink_bridge_python/package.xml new file mode 120000 index 0000000..204b340 --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/package.xml @@ -0,0 +1 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python/package.xml \ No newline at end of file diff --git a/skylink_ros2_ws/build/skylink_bridge_python/prefix_override/__pycache__/sitecustomize.cpython-310.pyc b/skylink_ros2_ws/build/skylink_bridge_python/prefix_override/__pycache__/sitecustomize.cpython-310.pyc new file mode 100644 index 0000000..f90f2b6 Binary files /dev/null and b/skylink_ros2_ws/build/skylink_bridge_python/prefix_override/__pycache__/sitecustomize.cpython-310.pyc differ diff --git a/skylink_ros2_ws/build/skylink_bridge_python/prefix_override/sitecustomize.py b/skylink_ros2_ws/build/skylink_bridge_python/prefix_override/sitecustomize.py new file mode 100644 index 0000000..db074eb --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/prefix_override/sitecustomize.py @@ -0,0 +1,4 @@ +import sys +if sys.prefix == '/usr': + sys.real_prefix = sys.prefix + sys.prefix = sys.exec_prefix = '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python' diff --git a/skylink_ros2_ws/build/skylink_bridge_python/resource/skylink_bridge_python b/skylink_ros2_ws/build/skylink_bridge_python/resource/skylink_bridge_python new file mode 120000 index 0000000..fca4c1c --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/resource/skylink_bridge_python @@ -0,0 +1 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python/resource/skylink_bridge_python \ No newline at end of file diff --git a/skylink_ros2_ws/build/skylink_bridge_python/setup.cfg b/skylink_ros2_ws/build/skylink_bridge_python/setup.cfg new file mode 120000 index 0000000..0bbc8cc --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/setup.cfg @@ -0,0 +1 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python/setup.cfg \ No newline at end of file diff --git a/skylink_ros2_ws/build/skylink_bridge_python/setup.py b/skylink_ros2_ws/build/skylink_bridge_python/setup.py new file mode 120000 index 0000000..f9bddf3 --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/setup.py @@ -0,0 +1 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python/setup.py \ No newline at end of file diff --git a/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.dsv b/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.dsv new file mode 100644 index 0000000..55dbf8f --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.dsv @@ -0,0 +1 @@ +prepend-non-duplicate;PYTHONPATH;/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python diff --git a/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.ps1 b/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.ps1 new file mode 100644 index 0000000..f3776be --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.ps1 @@ -0,0 +1,3 @@ +# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em + +colcon_prepend_unique_value PYTHONPATH "$env:COLCON_CURRENT_PREFIX\/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python" diff --git a/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.sh b/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.sh new file mode 100644 index 0000000..5725861 --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.sh @@ -0,0 +1,3 @@ +# generated from colcon_core/shell/template/hook_prepend_value.sh.em + +_colcon_prepend_unique_value PYTHONPATH "/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python" diff --git a/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python new file mode 120000 index 0000000..c9555fa --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python @@ -0,0 +1 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python/skylink_bridge_python \ No newline at end of file diff --git a/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/PKG-INFO b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/PKG-INFO new file mode 100644 index 0000000..57b2e9a --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/PKG-INFO @@ -0,0 +1,13 @@ +Metadata-Version: 2.1 +Name: skylink-bridge-python +Version: 0.0.0 +Summary: TODO: Package description +Home-page: UNKNOWN +Maintainer: flower +Maintainer-email: 737666956@qq.com +License: TODO: License declaration +Platform: UNKNOWN +Provides-Extra: test + +UNKNOWN + diff --git a/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/SOURCES.txt b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/SOURCES.txt new file mode 100644 index 0000000..a6e0800 --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/SOURCES.txt @@ -0,0 +1,15 @@ +package.xml +setup.cfg +setup.py +config/params.yaml +launch/bridge.launch.py +resource/skylink_bridge_python +skylink_bridge_python/__init__.py +skylink_bridge_python/camera_driver_node.py +skylink_bridge_python.egg-info/PKG-INFO +skylink_bridge_python.egg-info/SOURCES.txt +skylink_bridge_python.egg-info/dependency_links.txt +skylink_bridge_python.egg-info/entry_points.txt +skylink_bridge_python.egg-info/requires.txt +skylink_bridge_python.egg-info/top_level.txt +skylink_bridge_python.egg-info/zip-safe \ No newline at end of file diff --git a/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/dependency_links.txt b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/entry_points.txt b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/entry_points.txt new file mode 100644 index 0000000..64121eb --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/entry_points.txt @@ -0,0 +1,3 @@ +[console_scripts] +camera_driver_node = skylink_bridge_python.camera_driver_node:main + diff --git a/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/requires.txt b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/requires.txt new file mode 100644 index 0000000..f6960fb --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/requires.txt @@ -0,0 +1,4 @@ +setuptools + +[test] +pytest diff --git a/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/top_level.txt b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/top_level.txt new file mode 100644 index 0000000..9b2677e --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/top_level.txt @@ -0,0 +1 @@ +skylink_bridge_python diff --git a/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/zip-safe b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/zip-safe new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/skylink_ros2_ws/build/skylink_bridge_python/skylink_bridge_python.egg-info/zip-safe @@ -0,0 +1 @@ + diff --git a/skylink_ros2_ws/install/.colcon_install_layout b/skylink_ros2_ws/install/.colcon_install_layout new file mode 100644 index 0000000..3aad533 --- /dev/null +++ b/skylink_ros2_ws/install/.colcon_install_layout @@ -0,0 +1 @@ +isolated diff --git a/skylink_ros2_ws/install/COLCON_IGNORE b/skylink_ros2_ws/install/COLCON_IGNORE new file mode 100644 index 0000000..e69de29 diff --git a/skylink_ros2_ws/install/_local_setup_util_ps1.py b/skylink_ros2_ws/install/_local_setup_util_ps1.py new file mode 100644 index 0000000..3c6d9e8 --- /dev/null +++ b/skylink_ros2_ws/install/_local_setup_util_ps1.py @@ -0,0 +1,407 @@ +# Copyright 2016-2019 Dirk Thomas +# Licensed under the Apache License, Version 2.0 + +import argparse +from collections import OrderedDict +import os +from pathlib import Path +import sys + + +FORMAT_STR_COMMENT_LINE = '# {comment}' +FORMAT_STR_SET_ENV_VAR = 'Set-Item -Path "Env:{name}" -Value "{value}"' +FORMAT_STR_USE_ENV_VAR = '$env:{name}' +FORMAT_STR_INVOKE_SCRIPT = '_colcon_prefix_powershell_source_script "{script_path}"' # noqa: E501 +FORMAT_STR_REMOVE_LEADING_SEPARATOR = '' # noqa: E501 +FORMAT_STR_REMOVE_TRAILING_SEPARATOR = '' # noqa: E501 + +DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists' +DSV_TYPE_SET = 'set' +DSV_TYPE_SET_IF_UNSET = 'set-if-unset' +DSV_TYPE_SOURCE = 'source' + + +def main(argv=sys.argv[1:]): # noqa: D103 + parser = argparse.ArgumentParser( + description='Output shell commands for the packages in topological ' + 'order') + parser.add_argument( + 'primary_extension', + help='The file extension of the primary shell') + parser.add_argument( + 'additional_extension', nargs='?', + help='The additional file extension to be considered') + parser.add_argument( + '--merged-install', action='store_true', + help='All install prefixes are merged into a single location') + args = parser.parse_args(argv) + + packages = get_packages(Path(__file__).parent, args.merged_install) + + ordered_packages = order_packages(packages) + for pkg_name in ordered_packages: + if _include_comments(): + print( + FORMAT_STR_COMMENT_LINE.format_map( + {'comment': 'Package: ' + pkg_name})) + prefix = os.path.abspath(os.path.dirname(__file__)) + if not args.merged_install: + prefix = os.path.join(prefix, pkg_name) + for line in get_commands( + pkg_name, prefix, args.primary_extension, + args.additional_extension + ): + print(line) + + for line in _remove_ending_separators(): + print(line) + + +def get_packages(prefix_path, merged_install): + """ + Find packages based on colcon-specific files created during installation. + + :param Path prefix_path: The install prefix path of all packages + :param bool merged_install: The flag if the packages are all installed + directly in the prefix or if each package is installed in a subdirectory + named after the package + :returns: A mapping from the package name to the set of runtime + dependencies + :rtype: dict + """ + packages = {} + # since importing colcon_core isn't feasible here the following constant + # must match colcon_core.location.get_relative_package_index_path() + subdirectory = 'share/colcon-core/packages' + if merged_install: + # return if workspace is empty + if not (prefix_path / subdirectory).is_dir(): + return packages + # find all files in the subdirectory + for p in (prefix_path / subdirectory).iterdir(): + if not p.is_file(): + continue + if p.name.startswith('.'): + continue + add_package_runtime_dependencies(p, packages) + else: + # for each subdirectory look for the package specific file + for p in prefix_path.iterdir(): + if not p.is_dir(): + continue + if p.name.startswith('.'): + continue + p = p / subdirectory / p.name + if p.is_file(): + add_package_runtime_dependencies(p, packages) + + # remove unknown dependencies + pkg_names = set(packages.keys()) + for k in packages.keys(): + packages[k] = {d for d in packages[k] if d in pkg_names} + + return packages + + +def add_package_runtime_dependencies(path, packages): + """ + Check the path and if it exists extract the packages runtime dependencies. + + :param Path path: The resource file containing the runtime dependencies + :param dict packages: A mapping from package names to the sets of runtime + dependencies to add to + """ + content = path.read_text() + dependencies = set(content.split(os.pathsep) if content else []) + packages[path.name] = dependencies + + +def order_packages(packages): + """ + Order packages topologically. + + :param dict packages: A mapping from package name to the set of runtime + dependencies + :returns: The package names + :rtype: list + """ + # select packages with no dependencies in alphabetical order + to_be_ordered = list(packages.keys()) + ordered = [] + while to_be_ordered: + pkg_names_without_deps = [ + name for name in to_be_ordered if not packages[name]] + if not pkg_names_without_deps: + reduce_cycle_set(packages) + raise RuntimeError( + 'Circular dependency between: ' + ', '.join(sorted(packages))) + pkg_names_without_deps.sort() + pkg_name = pkg_names_without_deps[0] + to_be_ordered.remove(pkg_name) + ordered.append(pkg_name) + # remove item from dependency lists + for k in list(packages.keys()): + if pkg_name in packages[k]: + packages[k].remove(pkg_name) + return ordered + + +def reduce_cycle_set(packages): + """ + Reduce the set of packages to the ones part of the circular dependency. + + :param dict packages: A mapping from package name to the set of runtime + dependencies which is modified in place + """ + last_depended = None + while len(packages) > 0: + # get all remaining dependencies + depended = set() + for pkg_name, dependencies in packages.items(): + depended = depended.union(dependencies) + # remove all packages which are not dependent on + for name in list(packages.keys()): + if name not in depended: + del packages[name] + if last_depended: + # if remaining packages haven't changed return them + if last_depended == depended: + return packages.keys() + # otherwise reduce again + last_depended = depended + + +def _include_comments(): + # skipping comment lines when COLCON_TRACE is not set speeds up the + # processing especially on Windows + return bool(os.environ.get('COLCON_TRACE')) + + +def get_commands(pkg_name, prefix, primary_extension, additional_extension): + commands = [] + package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv') + if os.path.exists(package_dsv_path): + commands += process_dsv_file( + package_dsv_path, prefix, primary_extension, additional_extension) + return commands + + +def process_dsv_file( + dsv_path, prefix, primary_extension=None, additional_extension=None +): + commands = [] + if _include_comments(): + commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path})) + with open(dsv_path, 'r') as h: + content = h.read() + lines = content.splitlines() + + basenames = OrderedDict() + for i, line in enumerate(lines): + # skip over empty or whitespace-only lines + if not line.strip(): + continue + # skip over comments + if line.startswith('#'): + continue + try: + type_, remainder = line.split(';', 1) + except ValueError: + raise RuntimeError( + "Line %d in '%s' doesn't contain a semicolon separating the " + 'type from the arguments' % (i + 1, dsv_path)) + if type_ != DSV_TYPE_SOURCE: + # handle non-source lines + try: + commands += handle_dsv_types_except_source( + type_, remainder, prefix) + except RuntimeError as e: + raise RuntimeError( + "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e + else: + # group remaining source lines by basename + path_without_ext, ext = os.path.splitext(remainder) + if path_without_ext not in basenames: + basenames[path_without_ext] = set() + assert ext.startswith('.') + ext = ext[1:] + if ext in (primary_extension, additional_extension): + basenames[path_without_ext].add(ext) + + # add the dsv extension to each basename if the file exists + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if os.path.exists(basename + '.dsv'): + extensions.add('dsv') + + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if 'dsv' in extensions: + # process dsv files recursively + commands += process_dsv_file( + basename + '.dsv', prefix, primary_extension=primary_extension, + additional_extension=additional_extension) + elif primary_extension in extensions and len(extensions) == 1: + # source primary-only files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + primary_extension})] + elif additional_extension in extensions: + # source non-primary files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + additional_extension})] + + return commands + + +def handle_dsv_types_except_source(type_, remainder, prefix): + commands = [] + if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET): + try: + env_name, value = remainder.split(';', 1) + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the value') + try_prefixed_value = os.path.join(prefix, value) if value else prefix + if os.path.exists(try_prefixed_value): + value = try_prefixed_value + if type_ == DSV_TYPE_SET: + commands += _set(env_name, value) + elif type_ == DSV_TYPE_SET_IF_UNSET: + commands += _set_if_unset(env_name, value) + else: + assert False + elif type_ in ( + DSV_TYPE_APPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS + ): + try: + env_name_and_values = remainder.split(';') + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the values') + env_name = env_name_and_values[0] + values = env_name_and_values[1:] + for value in values: + if not value: + value = prefix + elif not os.path.isabs(value): + value = os.path.join(prefix, value) + if ( + type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and + not os.path.exists(value) + ): + comment = f'skip extending {env_name} with not existing ' \ + f'path: {value}' + if _include_comments(): + commands.append( + FORMAT_STR_COMMENT_LINE.format_map({'comment': comment})) + elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE: + commands += _append_unique_value(env_name, value) + else: + commands += _prepend_unique_value(env_name, value) + else: + raise RuntimeError( + 'contains an unknown environment hook type: ' + type_) + return commands + + +env_state = {} + + +def _append_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # append even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional leading separator + extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': extend + value}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +def _prepend_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # prepend even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional trailing separator + extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value + extend}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +# generate commands for removing prepended underscores +def _remove_ending_separators(): + # do nothing if the shell extension does not implement the logic + if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None: + return [] + + global env_state + commands = [] + for name in env_state: + # skip variables that already had values before this script started prepending + if name in os.environ: + continue + commands += [ + FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}), + FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})] + return commands + + +def _set(name, value): + global env_state + env_state[name] = value + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + return [line] + + +def _set_if_unset(name, value): + global env_state + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + if env_state.get(name, os.environ.get(name)): + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +if __name__ == '__main__': # pragma: no cover + try: + rc = main() + except RuntimeError as e: + print(str(e), file=sys.stderr) + rc = 1 + sys.exit(rc) diff --git a/skylink_ros2_ws/install/_local_setup_util_sh.py b/skylink_ros2_ws/install/_local_setup_util_sh.py new file mode 100644 index 0000000..f67eaa9 --- /dev/null +++ b/skylink_ros2_ws/install/_local_setup_util_sh.py @@ -0,0 +1,407 @@ +# Copyright 2016-2019 Dirk Thomas +# Licensed under the Apache License, Version 2.0 + +import argparse +from collections import OrderedDict +import os +from pathlib import Path +import sys + + +FORMAT_STR_COMMENT_LINE = '# {comment}' +FORMAT_STR_SET_ENV_VAR = 'export {name}="{value}"' +FORMAT_STR_USE_ENV_VAR = '${name}' +FORMAT_STR_INVOKE_SCRIPT = 'COLCON_CURRENT_PREFIX="{prefix}" _colcon_prefix_sh_source_script "{script_path}"' # noqa: E501 +FORMAT_STR_REMOVE_LEADING_SEPARATOR = 'if [ "$(echo -n ${name} | head -c 1)" = ":" ]; then export {name}=${{{name}#?}} ; fi' # noqa: E501 +FORMAT_STR_REMOVE_TRAILING_SEPARATOR = 'if [ "$(echo -n ${name} | tail -c 1)" = ":" ]; then export {name}=${{{name}%?}} ; fi' # noqa: E501 + +DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists' +DSV_TYPE_SET = 'set' +DSV_TYPE_SET_IF_UNSET = 'set-if-unset' +DSV_TYPE_SOURCE = 'source' + + +def main(argv=sys.argv[1:]): # noqa: D103 + parser = argparse.ArgumentParser( + description='Output shell commands for the packages in topological ' + 'order') + parser.add_argument( + 'primary_extension', + help='The file extension of the primary shell') + parser.add_argument( + 'additional_extension', nargs='?', + help='The additional file extension to be considered') + parser.add_argument( + '--merged-install', action='store_true', + help='All install prefixes are merged into a single location') + args = parser.parse_args(argv) + + packages = get_packages(Path(__file__).parent, args.merged_install) + + ordered_packages = order_packages(packages) + for pkg_name in ordered_packages: + if _include_comments(): + print( + FORMAT_STR_COMMENT_LINE.format_map( + {'comment': 'Package: ' + pkg_name})) + prefix = os.path.abspath(os.path.dirname(__file__)) + if not args.merged_install: + prefix = os.path.join(prefix, pkg_name) + for line in get_commands( + pkg_name, prefix, args.primary_extension, + args.additional_extension + ): + print(line) + + for line in _remove_ending_separators(): + print(line) + + +def get_packages(prefix_path, merged_install): + """ + Find packages based on colcon-specific files created during installation. + + :param Path prefix_path: The install prefix path of all packages + :param bool merged_install: The flag if the packages are all installed + directly in the prefix or if each package is installed in a subdirectory + named after the package + :returns: A mapping from the package name to the set of runtime + dependencies + :rtype: dict + """ + packages = {} + # since importing colcon_core isn't feasible here the following constant + # must match colcon_core.location.get_relative_package_index_path() + subdirectory = 'share/colcon-core/packages' + if merged_install: + # return if workspace is empty + if not (prefix_path / subdirectory).is_dir(): + return packages + # find all files in the subdirectory + for p in (prefix_path / subdirectory).iterdir(): + if not p.is_file(): + continue + if p.name.startswith('.'): + continue + add_package_runtime_dependencies(p, packages) + else: + # for each subdirectory look for the package specific file + for p in prefix_path.iterdir(): + if not p.is_dir(): + continue + if p.name.startswith('.'): + continue + p = p / subdirectory / p.name + if p.is_file(): + add_package_runtime_dependencies(p, packages) + + # remove unknown dependencies + pkg_names = set(packages.keys()) + for k in packages.keys(): + packages[k] = {d for d in packages[k] if d in pkg_names} + + return packages + + +def add_package_runtime_dependencies(path, packages): + """ + Check the path and if it exists extract the packages runtime dependencies. + + :param Path path: The resource file containing the runtime dependencies + :param dict packages: A mapping from package names to the sets of runtime + dependencies to add to + """ + content = path.read_text() + dependencies = set(content.split(os.pathsep) if content else []) + packages[path.name] = dependencies + + +def order_packages(packages): + """ + Order packages topologically. + + :param dict packages: A mapping from package name to the set of runtime + dependencies + :returns: The package names + :rtype: list + """ + # select packages with no dependencies in alphabetical order + to_be_ordered = list(packages.keys()) + ordered = [] + while to_be_ordered: + pkg_names_without_deps = [ + name for name in to_be_ordered if not packages[name]] + if not pkg_names_without_deps: + reduce_cycle_set(packages) + raise RuntimeError( + 'Circular dependency between: ' + ', '.join(sorted(packages))) + pkg_names_without_deps.sort() + pkg_name = pkg_names_without_deps[0] + to_be_ordered.remove(pkg_name) + ordered.append(pkg_name) + # remove item from dependency lists + for k in list(packages.keys()): + if pkg_name in packages[k]: + packages[k].remove(pkg_name) + return ordered + + +def reduce_cycle_set(packages): + """ + Reduce the set of packages to the ones part of the circular dependency. + + :param dict packages: A mapping from package name to the set of runtime + dependencies which is modified in place + """ + last_depended = None + while len(packages) > 0: + # get all remaining dependencies + depended = set() + for pkg_name, dependencies in packages.items(): + depended = depended.union(dependencies) + # remove all packages which are not dependent on + for name in list(packages.keys()): + if name not in depended: + del packages[name] + if last_depended: + # if remaining packages haven't changed return them + if last_depended == depended: + return packages.keys() + # otherwise reduce again + last_depended = depended + + +def _include_comments(): + # skipping comment lines when COLCON_TRACE is not set speeds up the + # processing especially on Windows + return bool(os.environ.get('COLCON_TRACE')) + + +def get_commands(pkg_name, prefix, primary_extension, additional_extension): + commands = [] + package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv') + if os.path.exists(package_dsv_path): + commands += process_dsv_file( + package_dsv_path, prefix, primary_extension, additional_extension) + return commands + + +def process_dsv_file( + dsv_path, prefix, primary_extension=None, additional_extension=None +): + commands = [] + if _include_comments(): + commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path})) + with open(dsv_path, 'r') as h: + content = h.read() + lines = content.splitlines() + + basenames = OrderedDict() + for i, line in enumerate(lines): + # skip over empty or whitespace-only lines + if not line.strip(): + continue + # skip over comments + if line.startswith('#'): + continue + try: + type_, remainder = line.split(';', 1) + except ValueError: + raise RuntimeError( + "Line %d in '%s' doesn't contain a semicolon separating the " + 'type from the arguments' % (i + 1, dsv_path)) + if type_ != DSV_TYPE_SOURCE: + # handle non-source lines + try: + commands += handle_dsv_types_except_source( + type_, remainder, prefix) + except RuntimeError as e: + raise RuntimeError( + "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e + else: + # group remaining source lines by basename + path_without_ext, ext = os.path.splitext(remainder) + if path_without_ext not in basenames: + basenames[path_without_ext] = set() + assert ext.startswith('.') + ext = ext[1:] + if ext in (primary_extension, additional_extension): + basenames[path_without_ext].add(ext) + + # add the dsv extension to each basename if the file exists + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if os.path.exists(basename + '.dsv'): + extensions.add('dsv') + + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if 'dsv' in extensions: + # process dsv files recursively + commands += process_dsv_file( + basename + '.dsv', prefix, primary_extension=primary_extension, + additional_extension=additional_extension) + elif primary_extension in extensions and len(extensions) == 1: + # source primary-only files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + primary_extension})] + elif additional_extension in extensions: + # source non-primary files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + additional_extension})] + + return commands + + +def handle_dsv_types_except_source(type_, remainder, prefix): + commands = [] + if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET): + try: + env_name, value = remainder.split(';', 1) + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the value') + try_prefixed_value = os.path.join(prefix, value) if value else prefix + if os.path.exists(try_prefixed_value): + value = try_prefixed_value + if type_ == DSV_TYPE_SET: + commands += _set(env_name, value) + elif type_ == DSV_TYPE_SET_IF_UNSET: + commands += _set_if_unset(env_name, value) + else: + assert False + elif type_ in ( + DSV_TYPE_APPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS + ): + try: + env_name_and_values = remainder.split(';') + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the values') + env_name = env_name_and_values[0] + values = env_name_and_values[1:] + for value in values: + if not value: + value = prefix + elif not os.path.isabs(value): + value = os.path.join(prefix, value) + if ( + type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and + not os.path.exists(value) + ): + comment = f'skip extending {env_name} with not existing ' \ + f'path: {value}' + if _include_comments(): + commands.append( + FORMAT_STR_COMMENT_LINE.format_map({'comment': comment})) + elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE: + commands += _append_unique_value(env_name, value) + else: + commands += _prepend_unique_value(env_name, value) + else: + raise RuntimeError( + 'contains an unknown environment hook type: ' + type_) + return commands + + +env_state = {} + + +def _append_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # append even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional leading separator + extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': extend + value}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +def _prepend_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # prepend even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional trailing separator + extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value + extend}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +# generate commands for removing prepended underscores +def _remove_ending_separators(): + # do nothing if the shell extension does not implement the logic + if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None: + return [] + + global env_state + commands = [] + for name in env_state: + # skip variables that already had values before this script started prepending + if name in os.environ: + continue + commands += [ + FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}), + FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})] + return commands + + +def _set(name, value): + global env_state + env_state[name] = value + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + return [line] + + +def _set_if_unset(name, value): + global env_state + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + if env_state.get(name, os.environ.get(name)): + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +if __name__ == '__main__': # pragma: no cover + try: + rc = main() + except RuntimeError as e: + print(str(e), file=sys.stderr) + rc = 1 + sys.exit(rc) diff --git a/skylink_ros2_ws/install/local_setup.bash b/skylink_ros2_ws/install/local_setup.bash new file mode 100644 index 0000000..03f0025 --- /dev/null +++ b/skylink_ros2_ws/install/local_setup.bash @@ -0,0 +1,121 @@ +# generated from colcon_bash/shell/template/prefix.bash.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# a bash script is able to determine its own path if necessary +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)" +else + _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# function to prepend a value to a variable +# which uses colons as separators +# duplicates as well as trailing separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +_colcon_prefix_bash_prepend_unique_value() { + # arguments + _listname="$1" + _value="$2" + + # get values from variable + eval _values=\"\$$_listname\" + # backup the field separator + _colcon_prefix_bash_prepend_unique_value_IFS="$IFS" + IFS=":" + # start with the new value + _all_values="$_value" + _contained_value="" + # iterate over existing values in the variable + for _item in $_values; do + # ignore empty strings + if [ -z "$_item" ]; then + continue + fi + # ignore duplicates of _value + if [ "$_item" = "$_value" ]; then + _contained_value=1 + continue + fi + # keep non-duplicate values + _all_values="$_all_values:$_item" + done + unset _item + if [ -z "$_contained_value" ]; then + if [ -n "$COLCON_TRACE" ]; then + if [ "$_all_values" = "$_value" ]; then + echo "export $_listname=$_value" + else + echo "export $_listname=$_value:\$$_listname" + fi + fi + fi + unset _contained_value + # restore the field separator + IFS="$_colcon_prefix_bash_prepend_unique_value_IFS" + unset _colcon_prefix_bash_prepend_unique_value_IFS + # export the updated variable + eval export $_listname=\"$_all_values\" + unset _all_values + unset _values + + unset _value + unset _listname +} + +# add this prefix to the COLCON_PREFIX_PATH +_colcon_prefix_bash_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX" +unset _colcon_prefix_bash_prepend_unique_value + +# check environment variable for custom Python executable +if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then + if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then + echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" + return 1 + fi + _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" +else + # try the Python executable known at configure time + _colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if [ ! -f "$_colcon_python_executable" ]; then + if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then + echo "error: unable to find python3 executable" + return 1 + fi + _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` + fi +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# get all commands in topological order +_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh bash)" +unset _colcon_python_executable +if [ -n "$COLCON_TRACE" ]; then + echo "$(declare -f _colcon_prefix_sh_source_script)" + echo "# Execute generated script:" + echo "# <<<" + echo "${_colcon_ordered_commands}" + echo "# >>>" + echo "unset _colcon_prefix_sh_source_script" +fi +eval "${_colcon_ordered_commands}" +unset _colcon_ordered_commands + +unset _colcon_prefix_sh_source_script + +unset _colcon_prefix_bash_COLCON_CURRENT_PREFIX diff --git a/skylink_ros2_ws/install/local_setup.ps1 b/skylink_ros2_ws/install/local_setup.ps1 new file mode 100644 index 0000000..6f68c8d --- /dev/null +++ b/skylink_ros2_ws/install/local_setup.ps1 @@ -0,0 +1,55 @@ +# generated from colcon_powershell/shell/template/prefix.ps1.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# check environment variable for custom Python executable +if ($env:COLCON_PYTHON_EXECUTABLE) { + if (!(Test-Path "$env:COLCON_PYTHON_EXECUTABLE" -PathType Leaf)) { + echo "error: COLCON_PYTHON_EXECUTABLE '$env:COLCON_PYTHON_EXECUTABLE' doesn't exist" + exit 1 + } + $_colcon_python_executable="$env:COLCON_PYTHON_EXECUTABLE" +} else { + # use the Python executable known at configure time + $_colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if (!(Test-Path "$_colcon_python_executable" -PathType Leaf)) { + if (!(Get-Command "python3" -ErrorAction SilentlyContinue)) { + echo "error: unable to find python3 executable" + exit 1 + } + $_colcon_python_executable="python3" + } +} + +# function to source another script with conditional trace output +# first argument: the path of the script +function _colcon_prefix_powershell_source_script { + param ( + $_colcon_prefix_powershell_source_script_param + ) + # source script with conditional trace output + if (Test-Path $_colcon_prefix_powershell_source_script_param) { + if ($env:COLCON_TRACE) { + echo ". '$_colcon_prefix_powershell_source_script_param'" + } + . "$_colcon_prefix_powershell_source_script_param" + } else { + Write-Error "not found: '$_colcon_prefix_powershell_source_script_param'" + } +} + +# get all commands in topological order +$_colcon_ordered_commands = & "$_colcon_python_executable" "$(Split-Path $PSCommandPath -Parent)/_local_setup_util_ps1.py" ps1 + +# execute all commands in topological order +if ($env:COLCON_TRACE) { + echo "Execute generated script:" + echo "<<<" + $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Write-Output + echo ">>>" +} +if ($_colcon_ordered_commands) { + $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Invoke-Expression +} diff --git a/skylink_ros2_ws/install/local_setup.sh b/skylink_ros2_ws/install/local_setup.sh new file mode 100644 index 0000000..405ce19 --- /dev/null +++ b/skylink_ros2_ws/install/local_setup.sh @@ -0,0 +1,137 @@ +# generated from colcon_core/shell/template/prefix.sh.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# since a plain shell script can't determine its own path when being sourced +# either use the provided COLCON_CURRENT_PREFIX +# or fall back to the build time prefix (if it exists) +_colcon_prefix_sh_COLCON_CURRENT_PREFIX="/home/flower/code/camera/flyLink/skylink_ros2_ws/install" +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + if [ ! -d "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" ]; then + echo "The build time path \"$_colcon_prefix_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2 + unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX + return 1 + fi +else + _colcon_prefix_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# function to prepend a value to a variable +# which uses colons as separators +# duplicates as well as trailing separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +_colcon_prefix_sh_prepend_unique_value() { + # arguments + _listname="$1" + _value="$2" + + # get values from variable + eval _values=\"\$$_listname\" + # backup the field separator + _colcon_prefix_sh_prepend_unique_value_IFS="$IFS" + IFS=":" + # start with the new value + _all_values="$_value" + _contained_value="" + # iterate over existing values in the variable + for _item in $_values; do + # ignore empty strings + if [ -z "$_item" ]; then + continue + fi + # ignore duplicates of _value + if [ "$_item" = "$_value" ]; then + _contained_value=1 + continue + fi + # keep non-duplicate values + _all_values="$_all_values:$_item" + done + unset _item + if [ -z "$_contained_value" ]; then + if [ -n "$COLCON_TRACE" ]; then + if [ "$_all_values" = "$_value" ]; then + echo "export $_listname=$_value" + else + echo "export $_listname=$_value:\$$_listname" + fi + fi + fi + unset _contained_value + # restore the field separator + IFS="$_colcon_prefix_sh_prepend_unique_value_IFS" + unset _colcon_prefix_sh_prepend_unique_value_IFS + # export the updated variable + eval export $_listname=\"$_all_values\" + unset _all_values + unset _values + + unset _value + unset _listname +} + +# add this prefix to the COLCON_PREFIX_PATH +_colcon_prefix_sh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" +unset _colcon_prefix_sh_prepend_unique_value + +# check environment variable for custom Python executable +if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then + if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then + echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" + return 1 + fi + _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" +else + # try the Python executable known at configure time + _colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if [ ! -f "$_colcon_python_executable" ]; then + if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then + echo "error: unable to find python3 executable" + return 1 + fi + _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` + fi +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# get all commands in topological order +_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh)" +unset _colcon_python_executable +if [ -n "$COLCON_TRACE" ]; then + echo "_colcon_prefix_sh_source_script() { + if [ -f \"\$1\" ]; then + if [ -n \"\$COLCON_TRACE\" ]; then + echo \"# . \\\"\$1\\\"\" + fi + . \"\$1\" + else + echo \"not found: \\\"\$1\\\"\" 1>&2 + fi + }" + echo "# Execute generated script:" + echo "# <<<" + echo "${_colcon_ordered_commands}" + echo "# >>>" + echo "unset _colcon_prefix_sh_source_script" +fi +eval "${_colcon_ordered_commands}" +unset _colcon_ordered_commands + +unset _colcon_prefix_sh_source_script + +unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX diff --git a/skylink_ros2_ws/install/local_setup.zsh b/skylink_ros2_ws/install/local_setup.zsh new file mode 100644 index 0000000..b648710 --- /dev/null +++ b/skylink_ros2_ws/install/local_setup.zsh @@ -0,0 +1,134 @@ +# generated from colcon_zsh/shell/template/prefix.zsh.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# a zsh script is able to determine its own path if necessary +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)" +else + _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# function to convert array-like strings into arrays +# to workaround SH_WORD_SPLIT not being set +_colcon_prefix_zsh_convert_to_array() { + local _listname=$1 + local _dollar="$" + local _split="{=" + local _to_array="(\"$_dollar$_split$_listname}\")" + eval $_listname=$_to_array +} + +# function to prepend a value to a variable +# which uses colons as separators +# duplicates as well as trailing separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +_colcon_prefix_zsh_prepend_unique_value() { + # arguments + _listname="$1" + _value="$2" + + # get values from variable + eval _values=\"\$$_listname\" + # backup the field separator + _colcon_prefix_zsh_prepend_unique_value_IFS="$IFS" + IFS=":" + # start with the new value + _all_values="$_value" + _contained_value="" + # workaround SH_WORD_SPLIT not being set + _colcon_prefix_zsh_convert_to_array _values + # iterate over existing values in the variable + for _item in $_values; do + # ignore empty strings + if [ -z "$_item" ]; then + continue + fi + # ignore duplicates of _value + if [ "$_item" = "$_value" ]; then + _contained_value=1 + continue + fi + # keep non-duplicate values + _all_values="$_all_values:$_item" + done + unset _item + if [ -z "$_contained_value" ]; then + if [ -n "$COLCON_TRACE" ]; then + if [ "$_all_values" = "$_value" ]; then + echo "export $_listname=$_value" + else + echo "export $_listname=$_value:\$$_listname" + fi + fi + fi + unset _contained_value + # restore the field separator + IFS="$_colcon_prefix_zsh_prepend_unique_value_IFS" + unset _colcon_prefix_zsh_prepend_unique_value_IFS + # export the updated variable + eval export $_listname=\"$_all_values\" + unset _all_values + unset _values + + unset _value + unset _listname +} + +# add this prefix to the COLCON_PREFIX_PATH +_colcon_prefix_zsh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX" +unset _colcon_prefix_zsh_prepend_unique_value +unset _colcon_prefix_zsh_convert_to_array + +# check environment variable for custom Python executable +if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then + if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then + echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" + return 1 + fi + _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" +else + # try the Python executable known at configure time + _colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if [ ! -f "$_colcon_python_executable" ]; then + if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then + echo "error: unable to find python3 executable" + return 1 + fi + _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` + fi +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# get all commands in topological order +_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh zsh)" +unset _colcon_python_executable +if [ -n "$COLCON_TRACE" ]; then + echo "$(declare -f _colcon_prefix_sh_source_script)" + echo "# Execute generated script:" + echo "# <<<" + echo "${_colcon_ordered_commands}" + echo "# >>>" + echo "unset _colcon_prefix_sh_source_script" +fi +eval "${_colcon_ordered_commands}" +unset _colcon_ordered_commands + +unset _colcon_prefix_sh_source_script + +unset _colcon_prefix_zsh_COLCON_CURRENT_PREFIX diff --git a/skylink_ros2_ws/install/setup.bash b/skylink_ros2_ws/install/setup.bash new file mode 100644 index 0000000..10ea0f7 --- /dev/null +++ b/skylink_ros2_ws/install/setup.bash @@ -0,0 +1,31 @@ +# generated from colcon_bash/shell/template/prefix_chain.bash.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_chain_bash_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source chained prefixes +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/opt/ros/humble" +_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" + +# source this prefix +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)" +_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" + +unset COLCON_CURRENT_PREFIX +unset _colcon_prefix_chain_bash_source_script diff --git a/skylink_ros2_ws/install/setup.ps1 b/skylink_ros2_ws/install/setup.ps1 new file mode 100644 index 0000000..558e9b9 --- /dev/null +++ b/skylink_ros2_ws/install/setup.ps1 @@ -0,0 +1,29 @@ +# generated from colcon_powershell/shell/template/prefix_chain.ps1.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# function to source another script with conditional trace output +# first argument: the path of the script +function _colcon_prefix_chain_powershell_source_script { + param ( + $_colcon_prefix_chain_powershell_source_script_param + ) + # source script with conditional trace output + if (Test-Path $_colcon_prefix_chain_powershell_source_script_param) { + if ($env:COLCON_TRACE) { + echo ". '$_colcon_prefix_chain_powershell_source_script_param'" + } + . "$_colcon_prefix_chain_powershell_source_script_param" + } else { + Write-Error "not found: '$_colcon_prefix_chain_powershell_source_script_param'" + } +} + +# source chained prefixes +_colcon_prefix_chain_powershell_source_script "/opt/ros/humble\local_setup.ps1" + +# source this prefix +$env:COLCON_CURRENT_PREFIX=(Split-Path $PSCommandPath -Parent) +_colcon_prefix_chain_powershell_source_script "$env:COLCON_CURRENT_PREFIX\local_setup.ps1" diff --git a/skylink_ros2_ws/install/setup.sh b/skylink_ros2_ws/install/setup.sh new file mode 100644 index 0000000..527e4d5 --- /dev/null +++ b/skylink_ros2_ws/install/setup.sh @@ -0,0 +1,45 @@ +# generated from colcon_core/shell/template/prefix_chain.sh.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# since a plain shell script can't determine its own path when being sourced +# either use the provided COLCON_CURRENT_PREFIX +# or fall back to the build time prefix (if it exists) +_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX=/home/flower/code/camera/flyLink/skylink_ros2_ws/install +if [ ! -z "$COLCON_CURRENT_PREFIX" ]; then + _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +elif [ ! -d "$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" ]; then + echo "The build time path \"$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2 + unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX + return 1 +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_chain_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source chained prefixes +# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script +COLCON_CURRENT_PREFIX="/opt/ros/humble" +_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" + + +# source this prefix +# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script +COLCON_CURRENT_PREFIX="$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" +_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" + +unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX +unset _colcon_prefix_chain_sh_source_script +unset COLCON_CURRENT_PREFIX diff --git a/skylink_ros2_ws/install/setup.zsh b/skylink_ros2_ws/install/setup.zsh new file mode 100644 index 0000000..54799fd --- /dev/null +++ b/skylink_ros2_ws/install/setup.zsh @@ -0,0 +1,31 @@ +# generated from colcon_zsh/shell/template/prefix_chain.zsh.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_chain_zsh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source chained prefixes +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/opt/ros/humble" +_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" + +# source this prefix +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)" +_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" + +unset COLCON_CURRENT_PREFIX +unset _colcon_prefix_chain_zsh_source_script diff --git a/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link b/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link new file mode 100644 index 0000000..ece875b --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link @@ -0,0 +1,2 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python +. \ No newline at end of file diff --git a/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python/camera_driver_node b/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python/camera_driver_node new file mode 100755 index 0000000..d41eb11 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python/camera_driver_node @@ -0,0 +1,33 @@ +#!/usr/bin/python3 +# EASY-INSTALL-ENTRY-SCRIPT: 'skylink-bridge-python','console_scripts','camera_driver_node' +import re +import sys + +# for compatibility with easy_install; see #2198 +__requires__ = 'skylink-bridge-python' + +try: + from importlib.metadata import distribution +except ImportError: + try: + from importlib_metadata import distribution + except ImportError: + from pkg_resources import load_entry_point + + +def importlib_load_entry_point(spec, group, name): + dist_name, _, _ = spec.partition('==') + matches = ( + entry_point + for entry_point in distribution(dist_name).entry_points + if entry_point.group == group and entry_point.name == name + ) + return next(matches).load() + + +globals().setdefault('load_entry_point', importlib_load_entry_point) + + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(load_entry_point('skylink-bridge-python', 'console_scripts', 'camera_driver_node')()) diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index/packages/skylink_bridge_python b/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index/packages/skylink_bridge_python new file mode 120000 index 0000000..5003b95 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index/packages/skylink_bridge_python @@ -0,0 +1 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/resource/skylink_bridge_python \ No newline at end of file diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/colcon-core/packages/skylink_bridge_python b/skylink_ros2_ws/install/skylink_bridge_python/share/colcon-core/packages/skylink_bridge_python new file mode 100644 index 0000000..a19811f --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/colcon-core/packages/skylink_bridge_python @@ -0,0 +1 @@ +python3-opencv:rclpy:sensor_msgs:std_msgs:std_srvs \ No newline at end of file diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/config/params.yaml b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/config/params.yaml new file mode 120000 index 0000000..27c8b56 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/config/params.yaml @@ -0,0 +1 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/config/params.yaml \ No newline at end of file diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.dsv b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.dsv new file mode 100644 index 0000000..79d4c95 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.dsv @@ -0,0 +1 @@ +prepend-non-duplicate;AMENT_PREFIX_PATH; diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.ps1 b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.ps1 new file mode 100644 index 0000000..26b9997 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.ps1 @@ -0,0 +1,3 @@ +# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em + +colcon_prepend_unique_value AMENT_PREFIX_PATH "$env:COLCON_CURRENT_PREFIX" diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.sh b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.sh new file mode 100644 index 0000000..f3041f6 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.sh @@ -0,0 +1,3 @@ +# generated from colcon_core/shell/template/hook_prepend_value.sh.em + +_colcon_prepend_unique_value AMENT_PREFIX_PATH "$COLCON_CURRENT_PREFIX" diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.dsv b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.dsv new file mode 100644 index 0000000..257067d --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.dsv @@ -0,0 +1 @@ +prepend-non-duplicate;PYTHONPATH;lib/python3.10/site-packages diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.ps1 b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.ps1 new file mode 100644 index 0000000..caffe83 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.ps1 @@ -0,0 +1,3 @@ +# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em + +colcon_prepend_unique_value PYTHONPATH "$env:COLCON_CURRENT_PREFIX\lib/python3.10/site-packages" diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.sh b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.sh new file mode 100644 index 0000000..660c348 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.sh @@ -0,0 +1,3 @@ +# generated from colcon_core/shell/template/hook_prepend_value.sh.em + +_colcon_prepend_unique_value PYTHONPATH "$COLCON_CURRENT_PREFIX/lib/python3.10/site-packages" diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch/__pycache__/bridge.launch.cpython-310.pyc b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch/__pycache__/bridge.launch.cpython-310.pyc new file mode 100644 index 0000000..a3a3d23 Binary files /dev/null and b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch/__pycache__/bridge.launch.cpython-310.pyc differ diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch/bridge.launch.py b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch/bridge.launch.py new file mode 120000 index 0000000..e14eba8 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch/bridge.launch.py @@ -0,0 +1 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/launch/bridge.launch.py \ No newline at end of file diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.bash b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.bash new file mode 100644 index 0000000..c3d697d --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.bash @@ -0,0 +1,31 @@ +# generated from colcon_bash/shell/template/package.bash.em + +# This script extends the environment for this package. + +# a bash script is able to determine its own path if necessary +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + # the prefix is two levels up from the package specific share directory + _colcon_package_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`/../.." > /dev/null && pwd)" +else + _colcon_package_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +# additional arguments: arguments to the script +_colcon_package_bash_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$@" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source sh script of this package +_colcon_package_bash_source_script "$_colcon_package_bash_COLCON_CURRENT_PREFIX/share/skylink_bridge_python/package.sh" + +unset _colcon_package_bash_source_script +unset _colcon_package_bash_COLCON_CURRENT_PREFIX diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.dsv b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.dsv new file mode 100644 index 0000000..01fb5b9 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.dsv @@ -0,0 +1,9 @@ +source;share/skylink_bridge_python/hook/pythonpath.ps1 +source;share/skylink_bridge_python/hook/pythonpath.dsv +source;share/skylink_bridge_python/hook/pythonpath.sh +source;share/skylink_bridge_python/hook/ament_prefix_path.ps1 +source;share/skylink_bridge_python/hook/ament_prefix_path.dsv +source;share/skylink_bridge_python/hook/ament_prefix_path.sh +source;../../build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.ps1 +source;../../build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.dsv +source;../../build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.sh diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.ps1 b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.ps1 new file mode 100644 index 0000000..a230e56 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.ps1 @@ -0,0 +1,117 @@ +# generated from colcon_powershell/shell/template/package.ps1.em + +# function to append a value to a variable +# which uses colons as separators +# duplicates as well as leading separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +function colcon_append_unique_value { + param ( + $_listname, + $_value + ) + + # get values from variable + if (Test-Path Env:$_listname) { + $_values=(Get-Item env:$_listname).Value + } else { + $_values="" + } + $_duplicate="" + # start with no values + $_all_values="" + # iterate over existing values in the variable + if ($_values) { + $_values.Split(";") | ForEach { + # not an empty string + if ($_) { + # not a duplicate of _value + if ($_ -eq $_value) { + $_duplicate="1" + } + if ($_all_values) { + $_all_values="${_all_values};$_" + } else { + $_all_values="$_" + } + } + } + } + # append only non-duplicates + if (!$_duplicate) { + # avoid leading separator + if ($_all_values) { + $_all_values="${_all_values};${_value}" + } else { + $_all_values="${_value}" + } + } + + # export the updated variable + Set-Item env:\$_listname -Value "$_all_values" +} + +# function to prepend a value to a variable +# which uses colons as separators +# duplicates as well as trailing separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +function colcon_prepend_unique_value { + param ( + $_listname, + $_value + ) + + # get values from variable + if (Test-Path Env:$_listname) { + $_values=(Get-Item env:$_listname).Value + } else { + $_values="" + } + # start with the new value + $_all_values="$_value" + # iterate over existing values in the variable + if ($_values) { + $_values.Split(";") | ForEach { + # not an empty string + if ($_) { + # not a duplicate of _value + if ($_ -ne $_value) { + # keep non-duplicate values + $_all_values="${_all_values};$_" + } + } + } + } + # export the updated variable + Set-Item env:\$_listname -Value "$_all_values" +} + +# function to source another script with conditional trace output +# first argument: the path of the script +# additional arguments: arguments to the script +function colcon_package_source_powershell_script { + param ( + $_colcon_package_source_powershell_script + ) + # source script with conditional trace output + if (Test-Path $_colcon_package_source_powershell_script) { + if ($env:COLCON_TRACE) { + echo ". '$_colcon_package_source_powershell_script'" + } + . "$_colcon_package_source_powershell_script" + } else { + Write-Error "not found: '$_colcon_package_source_powershell_script'" + } +} + + +# a powershell script is able to determine its own path +# the prefix is two levels up from the package specific share directory +$env:COLCON_CURRENT_PREFIX=(Get-Item $PSCommandPath).Directory.Parent.Parent.FullName + +colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/skylink_bridge_python/hook/pythonpath.ps1" +colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/skylink_bridge_python/hook/ament_prefix_path.ps1" +colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\../../build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.ps1" + +Remove-Item Env:\COLCON_CURRENT_PREFIX diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.sh b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.sh new file mode 100644 index 0000000..d30e6f4 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.sh @@ -0,0 +1,88 @@ +# generated from colcon_core/shell/template/package.sh.em + +# This script extends the environment for this package. + +# function to prepend a value to a variable +# which uses colons as separators +# duplicates as well as trailing separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +_colcon_prepend_unique_value() { + # arguments + _listname="$1" + _value="$2" + + # get values from variable + eval _values=\"\$$_listname\" + # backup the field separator + _colcon_prepend_unique_value_IFS=$IFS + IFS=":" + # start with the new value + _all_values="$_value" + # workaround SH_WORD_SPLIT not being set in zsh + if [ "$(command -v colcon_zsh_convert_to_array)" ]; then + colcon_zsh_convert_to_array _values + fi + # iterate over existing values in the variable + for _item in $_values; do + # ignore empty strings + if [ -z "$_item" ]; then + continue + fi + # ignore duplicates of _value + if [ "$_item" = "$_value" ]; then + continue + fi + # keep non-duplicate values + _all_values="$_all_values:$_item" + done + unset _item + # restore the field separator + IFS=$_colcon_prepend_unique_value_IFS + unset _colcon_prepend_unique_value_IFS + # export the updated variable + eval export $_listname=\"$_all_values\" + unset _all_values + unset _values + + unset _value + unset _listname +} + +# since a plain shell script can't determine its own path when being sourced +# either use the provided COLCON_CURRENT_PREFIX +# or fall back to the build time prefix (if it exists) +_colcon_package_sh_COLCON_CURRENT_PREFIX="/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python" +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + if [ ! -d "$_colcon_package_sh_COLCON_CURRENT_PREFIX" ]; then + echo "The build time path \"$_colcon_package_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2 + unset _colcon_package_sh_COLCON_CURRENT_PREFIX + return 1 + fi + COLCON_CURRENT_PREFIX="$_colcon_package_sh_COLCON_CURRENT_PREFIX" +fi +unset _colcon_package_sh_COLCON_CURRENT_PREFIX + +# function to source another script with conditional trace output +# first argument: the path of the script +# additional arguments: arguments to the script +_colcon_package_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$@" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source sh hooks +_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/skylink_bridge_python/hook/pythonpath.sh" +_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/skylink_bridge_python/hook/ament_prefix_path.sh" +_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/../../build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.sh" + +unset _colcon_package_sh_source_script +unset COLCON_CURRENT_PREFIX + +# do not unset _colcon_prepend_unique_value since it might be used by non-primary shell hooks diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.xml b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.xml new file mode 120000 index 0000000..dd27dec --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.xml @@ -0,0 +1 @@ +/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/package.xml \ No newline at end of file diff --git a/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.zsh b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.zsh new file mode 100644 index 0000000..78aee35 --- /dev/null +++ b/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.zsh @@ -0,0 +1,42 @@ +# generated from colcon_zsh/shell/template/package.zsh.em + +# This script extends the environment for this package. + +# a zsh script is able to determine its own path if necessary +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + # the prefix is two levels up from the package specific share directory + _colcon_package_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`/../.." > /dev/null && pwd)" +else + _colcon_package_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +# additional arguments: arguments to the script +_colcon_package_zsh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$@" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# function to convert array-like strings into arrays +# to workaround SH_WORD_SPLIT not being set +colcon_zsh_convert_to_array() { + local _listname=$1 + local _dollar="$" + local _split="{=" + local _to_array="(\"$_dollar$_split$_listname}\")" + eval $_listname=$_to_array +} + +# source sh script of this package +_colcon_package_zsh_source_script "$_colcon_package_zsh_COLCON_CURRENT_PREFIX/share/skylink_bridge_python/package.sh" +unset convert_zsh_to_array + +unset _colcon_package_zsh_source_script +unset _colcon_package_zsh_COLCON_CURRENT_PREFIX diff --git a/skylink_ros2_ws/log/COLCON_IGNORE b/skylink_ros2_ws/log/COLCON_IGNORE new file mode 100644 index 0000000..e69de29 diff --git a/skylink_ros2_ws/log/build_2026-02-02_13-52-27/events.log b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/events.log new file mode 100644 index 0000000..5bfdf32 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/events.log @@ -0,0 +1,37 @@ +[0.000000] (-) TimerEvent: {} +[0.000105] (skylink_bridge_python) JobQueued: {'identifier': 'skylink_bridge_python', 'dependencies': OrderedDict()} +[0.000129] (skylink_bridge_python) JobStarted: {'identifier': 'skylink_bridge_python'} +[0.099760] (-) TimerEvent: {} +[0.200075] (-) TimerEvent: {} +[0.262023] (skylink_bridge_python) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'develop', '--editable', '--build-directory', '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build', '--no-deps', 'symlink_data'], 'cwd': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'LANGUAGE': 'zh_CN:zh:en_US:en', 'USER': 'flower', 'SSH_CLIENT': '192.168.31.107 52414 22', 'LC_TIME': 'zh_CN.UTF-8', 'XDG_SESSION_TYPE': 'tty', 'GIT_ASKPASS': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/extensions/git/dist/askpass.sh', 'SHLVL': '2', 'LD_LIBRARY_PATH': '/opt/ros/humble/opt/rviz_ogre_vendor/lib:/opt/ros/humble/lib/x86_64-linux-gnu:/opt/ros/humble/lib:/home/flower/app/Qt/6.5.3/gcc_64/lib', 'BROWSER': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/bin/helpers/browser.sh', 'MOTD_SHOWN': 'pam', 'HOME': '/home/flower', 'OLDPWD': '/home/flower/code/camera/flyLink', 'TERM_PROGRAM_VERSION': '1.101.1', 'NVM_BIN': '/home/flower/app/NVM/.nvm/versions/node/v16.0.0/bin', 'VSCODE_IPC_HOOK_CLI': '/run/user/1000/vscode-ipc-ac488194-cb9e-4022-a4d8-5ff53e665bdf.sock', 'NVM_INC': '/home/flower/app/NVM/.nvm/versions/node/v16.0.0/include/node', 'ROS_PYTHON_VERSION': '3', 'VSCODE_GIT_ASKPASS_MAIN': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/extensions/git/dist/askpass-main.js', 'LC_MONETARY': 'zh_CN.UTF-8', 'VSCODE_GIT_ASKPASS_NODE': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/node', 'SSL_CERT_FILE': '/usr/lib/ssl/certs/ca-certificates.crt', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'COLORTERM': 'truecolor', 'NVM_DIR': '/home/flower/app/NVM/.nvm', 'COLCON_PREFIX_PATH': '/home/flower/code/camera/flyLink/skylink_ros2_ws/install', 'ROS_DISTRO': 'humble', 'LOGNAME': 'flower', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '159', 'ROS_LOCALHOST_ONLY': '0', 'PATH': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/bin/remote-cli:/opt/ros/humble/bin:/home/flower/app/NVM/.nvm/versions/node/v16.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/flower/.vscode-server/data/User/globalStorage/github.copilot-chat/debugCommand', 'LC_ADDRESS': 'zh_CN.UTF-8', 'XDG_RUNTIME_DIR': '/run/user/1000', 'SSL_CERT_DIR': '/usr/lib/ssl/certs', 'LANG': 'zh_CN.UTF-8', 'LC_TELEPHONE': 'zh_CN.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'VSCODE_GIT_IPC_HANDLE': '/run/user/1000/vscode-git-cb34e795ae.sock', 'TERM_PROGRAM': 'vscode', 'AMENT_PREFIX_PATH': '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python:/opt/ros/humble', 'SHELL': '/bin/bash', 'LC_NAME': 'zh_CN.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LC_MEASUREMENT': 'zh_CN.UTF-8', 'LC_IDENTIFICATION': 'zh_CN.UTF-8', 'VSCODE_GIT_ASKPASS_EXTRA_ARGS': '', 'GIT_PAGER': 'cat', 'PWD': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python', 'SSH_CONNECTION': '192.168.31.107 52414 192.168.31.21 22', 'NVM_CD_FLAGS': '', 'XDG_DATA_DIRS': '/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:/opt/ros/humble/lib/python3.10/site-packages:/opt/ros/humble/local/lib/python3.10/dist-packages', 'LC_NUMERIC': 'zh_CN.UTF-8', 'LC_PAPER': 'zh_CN.UTF-8', 'COLCON': '1', 'CMAKE_PREFIX_PATH': '/home/flower/app/Qt/6.5.3/gcc_64:/opt/ros/humble/include'}, 'shell': False} +[0.300137] (-) TimerEvent: {} +[0.378909] (skylink_bridge_python) StdoutLine: {'line': b'running develop\n'} +[0.400204] (-) TimerEvent: {} +[0.443237] (skylink_bridge_python) StdoutLine: {'line': b'running egg_info\n'} +[0.443310] (skylink_bridge_python) StdoutLine: {'line': b'creating skylink_bridge_python.egg-info\n'} +[0.443344] (skylink_bridge_python) StdoutLine: {'line': b'writing skylink_bridge_python.egg-info/PKG-INFO\n'} +[0.443501] (skylink_bridge_python) StdoutLine: {'line': b'writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt\n'} +[0.443556] (skylink_bridge_python) StdoutLine: {'line': b'writing entry points to skylink_bridge_python.egg-info/entry_points.txt\n'} +[0.443582] (skylink_bridge_python) StdoutLine: {'line': b'writing requirements to skylink_bridge_python.egg-info/requires.txt\n'} +[0.443603] (skylink_bridge_python) StdoutLine: {'line': b'writing top-level names to skylink_bridge_python.egg-info/top_level.txt\n'} +[0.443624] (skylink_bridge_python) StdoutLine: {'line': b"writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt'\n"} +[0.444289] (skylink_bridge_python) StdoutLine: {'line': b"reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt'\n"} +[0.444463] (skylink_bridge_python) StdoutLine: {'line': b"writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt'\n"} +[0.444968] (skylink_bridge_python) StdoutLine: {'line': b'running build_ext\n'} +[0.445026] (skylink_bridge_python) StdoutLine: {'line': b'Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .)\n'} +[0.445327] (skylink_bridge_python) StdoutLine: {'line': b'Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python\n'} +[0.445420] (skylink_bridge_python) StdoutLine: {'line': b'\n'} +[0.445459] (skylink_bridge_python) StdoutLine: {'line': b'Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python\n'} +[0.445485] (skylink_bridge_python) StdoutLine: {'line': b'running symlink_data\n'} +[0.445511] (skylink_bridge_python) StdoutLine: {'line': b'creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index\n'} +[0.445547] (skylink_bridge_python) StdoutLine: {'line': b'creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index\n'} +[0.445597] (skylink_bridge_python) StdoutLine: {'line': b'creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index/packages\n'} +[0.445623] (skylink_bridge_python) StdoutLine: {'line': b'symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/resource/skylink_bridge_python -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index/packages\n'} +[0.445661] (skylink_bridge_python) StdoutLine: {'line': b'symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/package.xml -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python\n'} +[0.445683] (skylink_bridge_python) StdoutLine: {'line': b'creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch\n'} +[0.445704] (skylink_bridge_python) StdoutLine: {'line': b'symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/launch/bridge.launch.py -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch\n'} +[0.445725] (skylink_bridge_python) StdoutLine: {'line': b'creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/config\n'} +[0.445746] (skylink_bridge_python) StdoutLine: {'line': b'symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/config/params.yaml -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/config\n'} +[0.457413] (skylink_bridge_python) CommandEnded: {'returncode': 0} +[0.461904] (skylink_bridge_python) JobEnded: {'identifier': 'skylink_bridge_python', 'rc': 0} +[0.462152] (-) EventReactorShutdown: {} diff --git a/skylink_ros2_ws/log/build_2026-02-02_13-52-27/logger_all.log b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/logger_all.log new file mode 100644 index 0000000..7dff240 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/logger_all.log @@ -0,0 +1,132 @@ +[0.045s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build', '--symlink-install', '--cmake-args', '-DCMAKE_BUILD_TYPE=Release'] +[0.045s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=True, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=24, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=['-DCMAKE_BUILD_TYPE=Release'], cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, verb_parser=, verb_extension=, main=>) +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover +[0.116s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/flower/code/camera/flyLink/skylink_ros2_ws' +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install'] +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore' +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install' +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg'] +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg' +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta'] +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta' +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros'] +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['ignore', 'ignore_ament_install'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'ignore' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'ignore_ament_install' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['colcon_pkg'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'colcon_pkg' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['colcon_meta'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'colcon_meta' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['ros'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'ros' +[0.123s] DEBUG:colcon.colcon_core.package_identification:Package 'src/skylink_bridge_python' with type 'ros.ament_python' and name 'skylink_bridge_python' +[0.123s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults +[0.123s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover +[0.123s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults +[0.123s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover +[0.123s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults +[0.136s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters +[0.136s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover +[0.136s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python' in the environment variable AMENT_PREFIX_PATH doesn't exist +[0.137s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 0 installed packages in /home/flower/code/camera/flyLink/skylink_ros2_ws/install +[0.137s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 281 installed packages in /opt/ros/humble +[0.138s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults +[0.153s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_args' from command line to '['-DCMAKE_BUILD_TYPE=Release']' +[0.153s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_target' from command line to 'None' +[0.153s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_target_skip_unavailable' from command line to 'False' +[0.153s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_clean_cache' from command line to 'False' +[0.153s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_clean_first' from command line to 'False' +[0.153s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_force_configure' from command line to 'False' +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'ament_cmake_args' from command line to 'None' +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'catkin_cmake_args' from command line to 'None' +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'catkin_skip_building_tests' from command line to 'False' +[0.154s] DEBUG:colcon.colcon_core.verb:Building package 'skylink_bridge_python' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': ['-DCMAKE_BUILD_TYPE=Release'], 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python', 'merge_install': False, 'path': '/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python', 'symlink_install': True, 'test_result_base': None} +[0.154s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor +[0.154s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete +[0.154s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python' with build type 'ament_python' +[0.155s] Level 1:colcon.colcon_core.shell:create_environment_hook('skylink_bridge_python', 'ament_prefix_path') +[0.155s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems +[0.156s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.ps1' +[0.156s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.dsv' +[0.156s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.sh' +[0.156s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell +[0.157s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment +[0.270s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python' +[0.270s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell +[0.270s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment +[0.418s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +[0.612s] Level 1:colcon.colcon_core.shell:create_environment_hook('skylink_bridge_python', 'pythonpath_develop') +[0.612s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.ps1' +[0.612s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python' returned '0': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +[0.612s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.dsv' +[0.612s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.sh' +[0.613s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python' for CMake module files +[0.614s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python' for CMake config files +[0.614s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib' +[0.614s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/bin' +[0.614s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/pkgconfig/skylink_bridge_python.pc' +[0.614s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages' +[0.614s] Level 1:colcon.colcon_core.shell:create_environment_hook('skylink_bridge_python', 'pythonpath') +[0.614s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.ps1' +[0.614s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.dsv' +[0.614s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.sh' +[0.615s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/bin' +[0.615s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(skylink_bridge_python) +[0.615s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.ps1' +[0.615s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.dsv' +[0.615s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.sh' +[0.616s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.bash' +[0.616s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.zsh' +[0.616s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/colcon-core/packages/skylink_bridge_python) +[0.616s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop +[0.616s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed +[0.616s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0' +[0.616s] DEBUG:colcon.colcon_core.event_reactor:joining thread +[0.619s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems +[0.619s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems +[0.619s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2' +[0.626s] DEBUG:colcon.colcon_core.event_reactor:joined thread +[0.626s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.ps1' +[0.626s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/_local_setup_util_ps1.py' +[0.627s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.ps1' +[0.627s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.sh' +[0.627s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/_local_setup_util_sh.py' +[0.628s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.sh' +[0.628s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.bash' +[0.628s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.bash' +[0.628s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.zsh' +[0.629s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.zsh' diff --git a/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/command.log b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/command.log new file mode 100644 index 0000000..3c850d7 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/command.log @@ -0,0 +1,2 @@ +Invoking command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +Invoked command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python' returned '0': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data diff --git a/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/stderr.log b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/stdout.log b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/stdout.log new file mode 100644 index 0000000..ba54de4 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/stdout.log @@ -0,0 +1,26 @@ +running develop +running egg_info +creating skylink_bridge_python.egg-info +writing skylink_bridge_python.egg-info/PKG-INFO +writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt +writing entry points to skylink_bridge_python.egg-info/entry_points.txt +writing requirements to skylink_bridge_python.egg-info/requires.txt +writing top-level names to skylink_bridge_python.egg-info/top_level.txt +writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +running build_ext +Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .) +Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python + +Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python +running symlink_data +creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index +creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index +creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index/packages +symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/resource/skylink_bridge_python -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index/packages +symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/package.xml -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python +creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch +symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/launch/bridge.launch.py -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch +creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/config +symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/config/params.yaml -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/config diff --git a/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/stdout_stderr.log b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/stdout_stderr.log new file mode 100644 index 0000000..ba54de4 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/stdout_stderr.log @@ -0,0 +1,26 @@ +running develop +running egg_info +creating skylink_bridge_python.egg-info +writing skylink_bridge_python.egg-info/PKG-INFO +writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt +writing entry points to skylink_bridge_python.egg-info/entry_points.txt +writing requirements to skylink_bridge_python.egg-info/requires.txt +writing top-level names to skylink_bridge_python.egg-info/top_level.txt +writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +running build_ext +Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .) +Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python + +Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python +running symlink_data +creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index +creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index +creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index/packages +symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/resource/skylink_bridge_python -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index/packages +symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/package.xml -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python +creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch +symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/launch/bridge.launch.py -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch +creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/config +symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/config/params.yaml -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/config diff --git a/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/streams.log b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/streams.log new file mode 100644 index 0000000..11ec8a6 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_13-52-27/skylink_bridge_python/streams.log @@ -0,0 +1,28 @@ +[0.263s] Invoking command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +[0.379s] running develop +[0.443s] running egg_info +[0.443s] creating skylink_bridge_python.egg-info +[0.443s] writing skylink_bridge_python.egg-info/PKG-INFO +[0.443s] writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt +[0.443s] writing entry points to skylink_bridge_python.egg-info/entry_points.txt +[0.443s] writing requirements to skylink_bridge_python.egg-info/requires.txt +[0.443s] writing top-level names to skylink_bridge_python.egg-info/top_level.txt +[0.444s] writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +[0.444s] reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +[0.444s] writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +[0.445s] running build_ext +[0.445s] Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .) +[0.445s] Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python +[0.445s] +[0.445s] Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python +[0.445s] running symlink_data +[0.445s] creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index +[0.445s] creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index +[0.445s] creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index/packages +[0.446s] symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/resource/skylink_bridge_python -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/ament_index/resource_index/packages +[0.446s] symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/package.xml -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python +[0.446s] creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch +[0.446s] symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/launch/bridge.launch.py -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/launch +[0.446s] creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/config +[0.446s] symbolically linking /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/config/params.yaml -> /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/config +[0.457s] Invoked command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python' returned '0': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-07-50/events.log b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/events.log new file mode 100644 index 0000000..7a5b7bf --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/events.log @@ -0,0 +1,26 @@ +[0.000000] (-) TimerEvent: {} +[0.000318] (skylink_bridge_python) JobQueued: {'identifier': 'skylink_bridge_python', 'dependencies': OrderedDict()} +[0.000423] (skylink_bridge_python) JobStarted: {'identifier': 'skylink_bridge_python'} +[0.100036] (-) TimerEvent: {} +[0.200348] (-) TimerEvent: {} +[0.259149] (skylink_bridge_python) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'develop', '--editable', '--build-directory', '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build', '--no-deps', 'symlink_data'], 'cwd': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'LANGUAGE': 'zh_CN:zh:en_US:en', 'USER': 'flower', 'SSH_CLIENT': '192.168.31.107 52414 22', 'LC_TIME': 'zh_CN.UTF-8', 'XDG_SESSION_TYPE': 'tty', 'GIT_ASKPASS': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/extensions/git/dist/askpass.sh', 'SHLVL': '2', 'LD_LIBRARY_PATH': '/opt/ros/humble/opt/rviz_ogre_vendor/lib:/opt/ros/humble/lib/x86_64-linux-gnu:/opt/ros/humble/lib:/home/flower/app/Qt/6.5.3/gcc_64/lib', 'BROWSER': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/bin/helpers/browser.sh', 'MOTD_SHOWN': 'pam', 'HOME': '/home/flower', 'OLDPWD': '/home/flower/code/camera/flyLink', 'TERM_PROGRAM_VERSION': '1.101.1', 'NVM_BIN': '/home/flower/app/NVM/.nvm/versions/node/v16.0.0/bin', 'VSCODE_IPC_HOOK_CLI': '/run/user/1000/vscode-ipc-9c363232-2bf9-4710-8997-fe36d048c317.sock', 'NVM_INC': '/home/flower/app/NVM/.nvm/versions/node/v16.0.0/include/node', 'ROS_PYTHON_VERSION': '3', 'VSCODE_GIT_ASKPASS_MAIN': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/extensions/git/dist/askpass-main.js', 'LC_MONETARY': 'zh_CN.UTF-8', 'VSCODE_GIT_ASKPASS_NODE': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/node', 'SSL_CERT_FILE': '/usr/lib/ssl/certs/ca-certificates.crt', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'COLORTERM': 'truecolor', 'NVM_DIR': '/home/flower/app/NVM/.nvm', 'ROS_DISTRO': 'humble', 'LOGNAME': 'flower', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '159', 'ROS_LOCALHOST_ONLY': '0', 'PATH': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/bin/remote-cli:/opt/ros/humble/bin:/home/flower/app/NVM/.nvm/versions/node/v16.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/flower/.vscode-server/data/User/globalStorage/github.copilot-chat/debugCommand', 'LC_ADDRESS': 'zh_CN.UTF-8', 'XDG_RUNTIME_DIR': '/run/user/1000', 'SSL_CERT_DIR': '/usr/lib/ssl/certs', 'LANG': 'zh_CN.UTF-8', 'LC_TELEPHONE': 'zh_CN.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'VSCODE_GIT_IPC_HANDLE': '/run/user/1000/vscode-git-cb34e795ae.sock', 'TERM_PROGRAM': 'vscode', 'AMENT_PREFIX_PATH': '/opt/ros/humble', 'SHELL': '/bin/bash', 'LC_NAME': 'zh_CN.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LC_MEASUREMENT': 'zh_CN.UTF-8', 'LC_IDENTIFICATION': 'zh_CN.UTF-8', 'VSCODE_GIT_ASKPASS_EXTRA_ARGS': '', 'PWD': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python', 'SSH_CONNECTION': '192.168.31.107 52414 192.168.31.21 22', 'NVM_CD_FLAGS': '', 'XDG_DATA_DIRS': '/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:/opt/ros/humble/lib/python3.10/site-packages:/opt/ros/humble/local/lib/python3.10/dist-packages', 'LC_NUMERIC': 'zh_CN.UTF-8', 'LC_PAPER': 'zh_CN.UTF-8', 'COLCON': '1', 'CMAKE_PREFIX_PATH': '/home/flower/app/Qt/6.5.3/gcc_64:/opt/ros/humble/include'}, 'shell': False} +[0.300502] (-) TimerEvent: {} +[0.374412] (skylink_bridge_python) StdoutLine: {'line': b'running develop\n'} +[0.400649] (-) TimerEvent: {} +[0.439096] (skylink_bridge_python) StdoutLine: {'line': b'running egg_info\n'} +[0.439174] (skylink_bridge_python) StdoutLine: {'line': b'writing skylink_bridge_python.egg-info/PKG-INFO\n'} +[0.439358] (skylink_bridge_python) StdoutLine: {'line': b'writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt\n'} +[0.439421] (skylink_bridge_python) StdoutLine: {'line': b'writing entry points to skylink_bridge_python.egg-info/entry_points.txt\n'} +[0.439452] (skylink_bridge_python) StdoutLine: {'line': b'writing requirements to skylink_bridge_python.egg-info/requires.txt\n'} +[0.439478] (skylink_bridge_python) StdoutLine: {'line': b'writing top-level names to skylink_bridge_python.egg-info/top_level.txt\n'} +[0.440128] (skylink_bridge_python) StdoutLine: {'line': b"reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt'\n"} +[0.440364] (skylink_bridge_python) StdoutLine: {'line': b"writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt'\n"} +[0.440942] (skylink_bridge_python) StdoutLine: {'line': b'running build_ext\n'} +[0.441001] (skylink_bridge_python) StdoutLine: {'line': b'Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .)\n'} +[0.441185] (skylink_bridge_python) StdoutLine: {'line': b'Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python\n'} +[0.441288] (skylink_bridge_python) StdoutLine: {'line': b'\n'} +[0.441316] (skylink_bridge_python) StdoutLine: {'line': b'Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python\n'} +[0.441358] (skylink_bridge_python) StdoutLine: {'line': b'running symlink_data\n'} +[0.452509] (skylink_bridge_python) CommandEnded: {'returncode': 0} +[0.457515] (skylink_bridge_python) JobEnded: {'identifier': 'skylink_bridge_python', 'rc': 0} +[0.457851] (-) EventReactorShutdown: {} diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-07-50/logger_all.log b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/logger_all.log new file mode 100644 index 0000000..c95a858 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/logger_all.log @@ -0,0 +1,144 @@ +[0.045s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build', '--symlink-install', '--cmake-args', '-DCMAKE_BUILD_TYPE=Release'] +[0.045s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=True, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=24, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=['-DCMAKE_BUILD_TYPE=Release'], cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, verb_parser=, verb_extension=, main=>) +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover +[0.116s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover +[0.116s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/flower/code/camera/flyLink/skylink_ros2_ws' +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install'] +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore' +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install' +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg'] +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg' +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta'] +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta' +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros'] +[0.116s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['ignore', 'ignore_ament_install'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'ignore' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'ignore_ament_install' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['colcon_pkg'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'colcon_pkg' +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['colcon_meta'] +[0.121s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'colcon_meta' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['ros'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'ros' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['cmake', 'python'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'cmake' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'python' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['python_setup_py'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'python_setup_py' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['ignore', 'ignore_ament_install'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'ignore' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'ignore_ament_install' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['colcon_pkg'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'colcon_pkg' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['colcon_meta'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'colcon_meta' +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['ros'] +[0.122s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'ros' +[0.123s] DEBUG:colcon.colcon_core.package_identification:Package 'src/skylink_bridge_python' with type 'ros.ament_python' and name 'skylink_bridge_python' +[0.123s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults +[0.123s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover +[0.123s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults +[0.123s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover +[0.123s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults +[0.137s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters +[0.137s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover +[0.138s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 281 installed packages in /opt/ros/humble +[0.139s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_args' from command line to '['-DCMAKE_BUILD_TYPE=Release']' +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_target' from command line to 'None' +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_target_skip_unavailable' from command line to 'False' +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_clean_cache' from command line to 'False' +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_clean_first' from command line to 'False' +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_force_configure' from command line to 'False' +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'ament_cmake_args' from command line to 'None' +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'catkin_cmake_args' from command line to 'None' +[0.154s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'catkin_skip_building_tests' from command line to 'False' +[0.154s] DEBUG:colcon.colcon_core.verb:Building package 'skylink_bridge_python' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': ['-DCMAKE_BUILD_TYPE=Release'], 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python', 'merge_install': False, 'path': '/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python', 'symlink_install': True, 'test_result_base': None} +[0.154s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor +[0.155s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete +[0.155s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python' with build type 'ament_python' +[0.155s] Level 1:colcon.colcon_core.shell:create_environment_hook('skylink_bridge_python', 'ament_prefix_path') +[0.156s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems +[0.156s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.ps1' +[0.156s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.dsv' +[0.157s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.sh' +[0.157s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell +[0.157s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment +[0.270s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python' +[0.270s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell +[0.271s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment +[0.415s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +[0.607s] Level 1:colcon.colcon_core.shell:create_environment_hook('skylink_bridge_python', 'pythonpath_develop') +[0.607s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.ps1' +[0.608s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python' returned '0': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +[0.608s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.dsv' +[0.608s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.sh' +[0.609s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python' for CMake module files +[0.609s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python' for CMake config files +[0.609s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib' +[0.609s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/bin' +[0.610s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/pkgconfig/skylink_bridge_python.pc' +[0.610s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages' +[0.610s] Level 1:colcon.colcon_core.shell:create_environment_hook('skylink_bridge_python', 'pythonpath') +[0.610s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.ps1' +[0.610s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.dsv' +[0.610s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.sh' +[0.610s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/bin' +[0.610s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(skylink_bridge_python) +[0.611s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.ps1' +[0.611s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.dsv' +[0.611s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.sh' +[0.611s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.bash' +[0.612s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.zsh' +[0.612s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/colcon-core/packages/skylink_bridge_python) +[0.612s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop +[0.612s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed +[0.612s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0' +[0.612s] DEBUG:colcon.colcon_core.event_reactor:joining thread +[0.615s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems +[0.615s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems +[0.615s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2' +[0.622s] DEBUG:colcon.colcon_core.event_reactor:joined thread +[0.622s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.ps1' +[0.622s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/_local_setup_util_ps1.py' +[0.623s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.ps1' +[0.623s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.sh' +[0.623s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/_local_setup_util_sh.py' +[0.624s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.sh' +[0.624s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.bash' +[0.624s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.bash' +[0.625s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.zsh' +[0.625s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.zsh' diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/command.log b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/command.log new file mode 100644 index 0000000..3c850d7 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/command.log @@ -0,0 +1,2 @@ +Invoking command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +Invoked command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python' returned '0': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/stderr.log b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/stdout.log b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/stdout.log new file mode 100644 index 0000000..7188df2 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/stdout.log @@ -0,0 +1,15 @@ +running develop +running egg_info +writing skylink_bridge_python.egg-info/PKG-INFO +writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt +writing entry points to skylink_bridge_python.egg-info/entry_points.txt +writing requirements to skylink_bridge_python.egg-info/requires.txt +writing top-level names to skylink_bridge_python.egg-info/top_level.txt +reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +running build_ext +Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .) +Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python + +Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python +running symlink_data diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/stdout_stderr.log b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/stdout_stderr.log new file mode 100644 index 0000000..7188df2 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/stdout_stderr.log @@ -0,0 +1,15 @@ +running develop +running egg_info +writing skylink_bridge_python.egg-info/PKG-INFO +writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt +writing entry points to skylink_bridge_python.egg-info/entry_points.txt +writing requirements to skylink_bridge_python.egg-info/requires.txt +writing top-level names to skylink_bridge_python.egg-info/top_level.txt +reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +running build_ext +Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .) +Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python + +Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python +running symlink_data diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/streams.log b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/streams.log new file mode 100644 index 0000000..be83e95 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-07-50/skylink_bridge_python/streams.log @@ -0,0 +1,17 @@ +[0.260s] Invoking command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +[0.374s] running develop +[0.439s] running egg_info +[0.439s] writing skylink_bridge_python.egg-info/PKG-INFO +[0.439s] writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt +[0.439s] writing entry points to skylink_bridge_python.egg-info/entry_points.txt +[0.439s] writing requirements to skylink_bridge_python.egg-info/requires.txt +[0.439s] writing top-level names to skylink_bridge_python.egg-info/top_level.txt +[0.440s] reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +[0.440s] writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +[0.441s] running build_ext +[0.441s] Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .) +[0.441s] Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python +[0.441s] +[0.441s] Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python +[0.441s] running symlink_data +[0.452s] Invoked command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python' returned '0': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-25-15/events.log b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/events.log new file mode 100644 index 0000000..7e4df5a --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/events.log @@ -0,0 +1,26 @@ +[0.000000] (-) TimerEvent: {} +[0.000251] (skylink_bridge_python) JobQueued: {'identifier': 'skylink_bridge_python', 'dependencies': OrderedDict()} +[0.000289] (skylink_bridge_python) JobStarted: {'identifier': 'skylink_bridge_python'} +[0.099754] (-) TimerEvent: {} +[0.199998] (-) TimerEvent: {} +[0.260841] (skylink_bridge_python) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'develop', '--editable', '--build-directory', '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build', '--no-deps', 'symlink_data'], 'cwd': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'LANGUAGE': 'zh_CN:zh:en_US:en', 'USER': 'flower', 'SSH_CLIENT': '192.168.31.107 52414 22', 'LC_TIME': 'zh_CN.UTF-8', 'XDG_SESSION_TYPE': 'tty', 'GIT_ASKPASS': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/extensions/git/dist/askpass.sh', 'SHLVL': '2', 'LD_LIBRARY_PATH': '/opt/ros/humble/opt/rviz_ogre_vendor/lib:/opt/ros/humble/lib/x86_64-linux-gnu:/opt/ros/humble/lib:/home/flower/app/Qt/6.5.3/gcc_64/lib', 'BROWSER': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/bin/helpers/browser.sh', 'MOTD_SHOWN': 'pam', 'HOME': '/home/flower', 'OLDPWD': '/home/flower/code/camera/flyLink', 'TERM_PROGRAM_VERSION': '1.101.1', 'NVM_BIN': '/home/flower/app/NVM/.nvm/versions/node/v16.0.0/bin', 'VSCODE_IPC_HOOK_CLI': '/run/user/1000/vscode-ipc-9c363232-2bf9-4710-8997-fe36d048c317.sock', 'NVM_INC': '/home/flower/app/NVM/.nvm/versions/node/v16.0.0/include/node', 'ROS_PYTHON_VERSION': '3', 'VSCODE_GIT_ASKPASS_MAIN': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/extensions/git/dist/askpass-main.js', 'LC_MONETARY': 'zh_CN.UTF-8', 'VSCODE_GIT_ASKPASS_NODE': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/node', 'SSL_CERT_FILE': '/usr/lib/ssl/certs/ca-certificates.crt', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'COLORTERM': 'truecolor', 'NVM_DIR': '/home/flower/app/NVM/.nvm', 'COLCON_PREFIX_PATH': '/home/flower/code/camera/flyLink/skylink_ros2_ws/install', 'ROS_DISTRO': 'humble', 'LOGNAME': 'flower', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '159', 'ROS_LOCALHOST_ONLY': '0', 'PATH': '/home/flower/.vscode-server/cli/servers/Stable-18e3a1ec544e6907be1e944a94c496e302073435/server/bin/remote-cli:/opt/ros/humble/bin:/home/flower/app/NVM/.nvm/versions/node/v16.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/flower/.vscode-server/data/User/globalStorage/github.copilot-chat/debugCommand', 'LC_ADDRESS': 'zh_CN.UTF-8', 'XDG_RUNTIME_DIR': '/run/user/1000', 'SSL_CERT_DIR': '/usr/lib/ssl/certs', 'LANG': 'zh_CN.UTF-8', 'LC_TELEPHONE': 'zh_CN.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'VSCODE_GIT_IPC_HANDLE': '/run/user/1000/vscode-git-cb34e795ae.sock', 'TERM_PROGRAM': 'vscode', 'AMENT_PREFIX_PATH': '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python:/opt/ros/humble', 'SHELL': '/bin/bash', 'LC_NAME': 'zh_CN.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LC_MEASUREMENT': 'zh_CN.UTF-8', 'LC_IDENTIFICATION': 'zh_CN.UTF-8', 'VSCODE_GIT_ASKPASS_EXTRA_ARGS': '', 'PWD': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python', 'SSH_CONNECTION': '192.168.31.107 52414 192.168.31.21 22', 'NVM_CD_FLAGS': '', 'XDG_DATA_DIRS': '/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:/opt/ros/humble/lib/python3.10/site-packages:/opt/ros/humble/local/lib/python3.10/dist-packages', 'LC_NUMERIC': 'zh_CN.UTF-8', 'LC_PAPER': 'zh_CN.UTF-8', 'COLCON': '1', 'CMAKE_PREFIX_PATH': '/home/flower/app/Qt/6.5.3/gcc_64:/opt/ros/humble/include'}, 'shell': False} +[0.300158] (-) TimerEvent: {} +[0.378142] (skylink_bridge_python) StdoutLine: {'line': b'running develop\n'} +[0.400321] (-) TimerEvent: {} +[0.444056] (skylink_bridge_python) StdoutLine: {'line': b'running egg_info\n'} +[0.444130] (skylink_bridge_python) StdoutLine: {'line': b'writing skylink_bridge_python.egg-info/PKG-INFO\n'} +[0.444283] (skylink_bridge_python) StdoutLine: {'line': b'writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt\n'} +[0.444348] (skylink_bridge_python) StdoutLine: {'line': b'writing entry points to skylink_bridge_python.egg-info/entry_points.txt\n'} +[0.444379] (skylink_bridge_python) StdoutLine: {'line': b'writing requirements to skylink_bridge_python.egg-info/requires.txt\n'} +[0.444403] (skylink_bridge_python) StdoutLine: {'line': b'writing top-level names to skylink_bridge_python.egg-info/top_level.txt\n'} +[0.445074] (skylink_bridge_python) StdoutLine: {'line': b"reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt'\n"} +[0.445246] (skylink_bridge_python) StdoutLine: {'line': b"writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt'\n"} +[0.445872] (skylink_bridge_python) StdoutLine: {'line': b'running build_ext\n'} +[0.445951] (skylink_bridge_python) StdoutLine: {'line': b'Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .)\n'} +[0.446251] (skylink_bridge_python) StdoutLine: {'line': b'Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python\n'} +[0.446318] (skylink_bridge_python) StdoutLine: {'line': b'\n'} +[0.446348] (skylink_bridge_python) StdoutLine: {'line': b'Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python\n'} +[0.446372] (skylink_bridge_python) StdoutLine: {'line': b'running symlink_data\n'} +[0.457294] (skylink_bridge_python) CommandEnded: {'returncode': 0} +[0.463982] (skylink_bridge_python) JobEnded: {'identifier': 'skylink_bridge_python', 'rc': 0} +[0.464221] (-) EventReactorShutdown: {} diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-25-15/logger_all.log b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/logger_all.log new file mode 100644 index 0000000..7d46f77 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/logger_all.log @@ -0,0 +1,145 @@ +[0.046s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build', '--symlink-install', '--cmake-args', '-DCMAKE_BUILD_TYPE=Release'] +[0.046s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=True, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=24, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=['-DCMAKE_BUILD_TYPE=Release'], cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, verb_parser=, verb_extension=, main=>) +[0.118s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters +[0.118s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters +[0.118s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters +[0.118s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters +[0.118s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover +[0.118s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover +[0.118s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/flower/code/camera/flyLink/skylink_ros2_ws' +[0.118s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install'] +[0.118s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore' +[0.118s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install' +[0.118s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg'] +[0.118s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg' +[0.118s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta'] +[0.118s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta' +[0.118s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros'] +[0.118s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python'] +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py'] +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install'] +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['ignore', 'ignore_ament_install'] +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'ignore' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'ignore_ament_install' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['colcon_pkg'] +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'colcon_pkg' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['colcon_meta'] +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'colcon_meta' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['ros'] +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'ros' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['cmake', 'python'] +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'cmake' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'python' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extensions ['python_setup_py'] +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(camera_data) by extension 'python_setup_py' +[0.123s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['ignore', 'ignore_ament_install'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'ignore' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'ignore_ament_install' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['colcon_pkg'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'colcon_pkg' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['colcon_meta'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'colcon_meta' +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extensions ['ros'] +[0.124s] Level 1:colcon.colcon_core.package_identification:_identify(src/skylink_bridge_python) by extension 'ros' +[0.125s] DEBUG:colcon.colcon_core.package_identification:Package 'src/skylink_bridge_python' with type 'ros.ament_python' and name 'skylink_bridge_python' +[0.125s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults +[0.125s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover +[0.125s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults +[0.125s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover +[0.125s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults +[0.139s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters +[0.139s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover +[0.139s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/flower/code/camera/flyLink/skylink_ros2_ws/install +[0.140s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 281 installed packages in /opt/ros/humble +[0.141s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults +[0.156s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_args' from command line to '['-DCMAKE_BUILD_TYPE=Release']' +[0.156s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_target' from command line to 'None' +[0.156s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_target_skip_unavailable' from command line to 'False' +[0.156s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_clean_cache' from command line to 'False' +[0.156s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_clean_first' from command line to 'False' +[0.156s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'cmake_force_configure' from command line to 'False' +[0.156s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'ament_cmake_args' from command line to 'None' +[0.156s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'catkin_cmake_args' from command line to 'None' +[0.156s] Level 5:colcon.colcon_core.verb:set package 'skylink_bridge_python' build argument 'catkin_skip_building_tests' from command line to 'False' +[0.156s] DEBUG:colcon.colcon_core.verb:Building package 'skylink_bridge_python' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': ['-DCMAKE_BUILD_TYPE=Release'], 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python', 'merge_install': False, 'path': '/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python', 'symlink_install': True, 'test_result_base': None} +[0.156s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor +[0.157s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete +[0.157s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python' with build type 'ament_python' +[0.157s] Level 1:colcon.colcon_core.shell:create_environment_hook('skylink_bridge_python', 'ament_prefix_path') +[0.158s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems +[0.158s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.ps1' +[0.158s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.dsv' +[0.158s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/ament_prefix_path.sh' +[0.159s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell +[0.159s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment +[0.272s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/flower/code/camera/flyLink/skylink_ros2_ws/src/skylink_bridge_python' +[0.272s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell +[0.272s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment +[0.419s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +[0.614s] Level 1:colcon.colcon_core.shell:create_environment_hook('skylink_bridge_python', 'pythonpath_develop') +[0.614s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python' returned '0': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +[0.615s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.ps1' +[0.615s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.dsv' +[0.615s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath_develop.sh' +[0.617s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python' for CMake module files +[0.617s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python' for CMake config files +[0.618s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib' +[0.618s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/bin' +[0.618s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/pkgconfig/skylink_bridge_python.pc' +[0.618s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages' +[0.618s] Level 1:colcon.colcon_core.shell:create_environment_hook('skylink_bridge_python', 'pythonpath') +[0.618s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.ps1' +[0.618s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.dsv' +[0.619s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/hook/pythonpath.sh' +[0.619s] Level 1:colcon.colcon_core.environment:checking '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/bin' +[0.619s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(skylink_bridge_python) +[0.619s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.ps1' +[0.620s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.dsv' +[0.620s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.sh' +[0.620s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.bash' +[0.620s] INFO:colcon.colcon_core.shell:Creating package script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/skylink_bridge_python/package.zsh' +[0.621s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/share/colcon-core/packages/skylink_bridge_python) +[0.621s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop +[0.621s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed +[0.621s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0' +[0.621s] DEBUG:colcon.colcon_core.event_reactor:joining thread +[0.623s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems +[0.623s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems +[0.623s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2' +[0.629s] DEBUG:colcon.colcon_core.event_reactor:joined thread +[0.629s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.ps1' +[0.630s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/_local_setup_util_ps1.py' +[0.630s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.ps1' +[0.631s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.sh' +[0.631s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/_local_setup_util_sh.py' +[0.631s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.sh' +[0.631s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.bash' +[0.632s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.bash' +[0.632s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/local_setup.zsh' +[0.632s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/flower/code/camera/flyLink/skylink_ros2_ws/install/setup.zsh' diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/command.log b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/command.log new file mode 100644 index 0000000..3c850d7 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/command.log @@ -0,0 +1,2 @@ +Invoking command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +Invoked command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python' returned '0': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/stderr.log b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/stdout.log b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/stdout.log new file mode 100644 index 0000000..7188df2 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/stdout.log @@ -0,0 +1,15 @@ +running develop +running egg_info +writing skylink_bridge_python.egg-info/PKG-INFO +writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt +writing entry points to skylink_bridge_python.egg-info/entry_points.txt +writing requirements to skylink_bridge_python.egg-info/requires.txt +writing top-level names to skylink_bridge_python.egg-info/top_level.txt +reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +running build_ext +Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .) +Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python + +Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python +running symlink_data diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/stdout_stderr.log b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/stdout_stderr.log new file mode 100644 index 0000000..7188df2 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/stdout_stderr.log @@ -0,0 +1,15 @@ +running develop +running egg_info +writing skylink_bridge_python.egg-info/PKG-INFO +writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt +writing entry points to skylink_bridge_python.egg-info/entry_points.txt +writing requirements to skylink_bridge_python.egg-info/requires.txt +writing top-level names to skylink_bridge_python.egg-info/top_level.txt +reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +running build_ext +Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .) +Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python + +Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python +running symlink_data diff --git a/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/streams.log b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/streams.log new file mode 100644 index 0000000..a08a997 --- /dev/null +++ b/skylink_ros2_ws/log/build_2026-02-02_14-25-15/skylink_bridge_python/streams.log @@ -0,0 +1,17 @@ +[0.262s] Invoking command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data +[0.378s] running develop +[0.444s] running egg_info +[0.444s] writing skylink_bridge_python.egg-info/PKG-INFO +[0.444s] writing dependency_links to skylink_bridge_python.egg-info/dependency_links.txt +[0.444s] writing entry points to skylink_bridge_python.egg-info/entry_points.txt +[0.444s] writing requirements to skylink_bridge_python.egg-info/requires.txt +[0.444s] writing top-level names to skylink_bridge_python.egg-info/top_level.txt +[0.445s] reading manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +[0.445s] writing manifest file 'skylink_bridge_python.egg-info/SOURCES.txt' +[0.446s] running build_ext +[0.446s] Creating /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages/skylink-bridge-python.egg-link (link to .) +[0.446s] Installing camera_driver_node script to /home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/skylink_bridge_python +[0.446s] +[0.446s] Installed /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python +[0.446s] running symlink_data +[0.457s] Invoked command in '/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python' returned '0': PYTHONPATH=/home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/flower/code/camera/flyLink/skylink_ros2_ws/install/skylink_bridge_python/lib/python3.10/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py develop --editable --build-directory /home/flower/code/camera/flyLink/skylink_ros2_ws/build/skylink_bridge_python/build --no-deps symlink_data diff --git a/skylink_ros2_ws/log/latest b/skylink_ros2_ws/log/latest new file mode 120000 index 0000000..b57d247 --- /dev/null +++ b/skylink_ros2_ws/log/latest @@ -0,0 +1 @@ +latest_build \ No newline at end of file diff --git a/skylink_ros2_ws/log/latest_build b/skylink_ros2_ws/log/latest_build new file mode 120000 index 0000000..6984a2f --- /dev/null +++ b/skylink_ros2_ws/log/latest_build @@ -0,0 +1 @@ +build_2026-02-02_14-25-15 \ No newline at end of file diff --git a/skylink_ros2_ws/src/skylink_bridge_python/config/params.yaml b/skylink_ros2_ws/src/skylink_bridge_python/config/params.yaml index 2569e87..bb6e97c 100644 --- a/skylink_ros2_ws/src/skylink_bridge_python/config/params.yaml +++ b/skylink_ros2_ws/src/skylink_bridge_python/config/params.yaml @@ -9,13 +9,19 @@ /camera_driver: ros__parameters: # 相机驱动参数(对应 launch 中的 node name: camera_driver) - video_device: "/dev/video2" + video_device: 2 # OpenCV 摄像头索引,例如 0 代表 /dev/video0,2 代表 /dev/video2 image_width: 3840 image_height: 2160 + + # 调试参数 + frame_rate: 30.0 # 帧率 + fourcc: "MJPG" # 视频流格式: MJPG, YUYV 等 + auto_exposure: true # 自动曝光开关: true=自动, false=手动 + exposure_value: -5.0 # 曝光值 (仅在 auto_exposure=false 时生效, 具体范围取决于设备,通常是负数或很小的正数) + # 拍照功能配置 save_dir: "./camera_data" - warmup_frames: 20 # 拍照前预热帧数,防止刚启动时过曝 interval: 5.0 # 自动拍照间隔(秒),设为 0 则仅通过服务触发拍照 gps_topic: "/gps_info" diff --git a/skylink_ros2_ws/src/skylink_bridge_python/package.xml b/skylink_ros2_ws/src/skylink_bridge_python/package.xml index a316136..0df43e3 100644 --- a/skylink_ros2_ws/src/skylink_bridge_python/package.xml +++ b/skylink_ros2_ws/src/skylink_bridge_python/package.xml @@ -15,7 +15,7 @@ std_msgs std_srvs sensor_msgs - ffmpeg + python3-opencv ament_python diff --git a/skylink_ros2_ws/src/skylink_bridge_python/skylink_bridge_python/__pycache__/camera_driver_node.cpython-310.pyc b/skylink_ros2_ws/src/skylink_bridge_python/skylink_bridge_python/__pycache__/camera_driver_node.cpython-310.pyc index eb59570..2b00f0e 100644 Binary files a/skylink_ros2_ws/src/skylink_bridge_python/skylink_bridge_python/__pycache__/camera_driver_node.cpython-310.pyc and b/skylink_ros2_ws/src/skylink_bridge_python/skylink_bridge_python/__pycache__/camera_driver_node.cpython-310.pyc differ diff --git a/skylink_ros2_ws/src/skylink_bridge_python/skylink_bridge_python/camera_driver_node.py b/skylink_ros2_ws/src/skylink_bridge_python/skylink_bridge_python/camera_driver_node.py index 05cb4bf..ddd45af 100644 --- a/skylink_ros2_ws/src/skylink_bridge_python/skylink_bridge_python/camera_driver_node.py +++ b/skylink_ros2_ws/src/skylink_bridge_python/skylink_bridge_python/camera_driver_node.py @@ -2,9 +2,9 @@ import rclpy from rclpy.node import Node from sensor_msgs.msg import NavSatFix from std_srvs.srv import Trigger -import subprocess import os import datetime +import cv2 # 需要安装 python3-opencv import threading class CameraNode(Node): @@ -12,130 +12,108 @@ class CameraNode(Node): super().__init__('camera_driver_node') # 声明参数 - self.declare_parameter('video_device', '/dev/video0') + self.declare_parameter('video_device', 0) # OpenCV通常使用索引号,如 0 代表 /dev/video0 self.declare_parameter('save_dir', './camera_data') self.declare_parameter('gps_topic', '/gps_info') self.declare_parameter('interval', 5.0) self.declare_parameter('image_width', 640) self.declare_parameter('image_height', 480) - self.declare_parameter('warmup_frames', 20) # 默认预热20帧 + + # 新增调试参数 + self.declare_parameter('frame_rate', 30.0) + self.declare_parameter('fourcc', 'MJPG') + self.declare_parameter('auto_exposure', True) + self.declare_parameter('exposure_value', -5.0) # 默认值根据实际情况调整 - # 获取参数值 - self.camera_device = self.get_parameter('video_device').value + # 获取参数 + self.camera_index = self.get_parameter('video_device').value self.save_dir = self.get_parameter('save_dir').value self.gps_topic = self.get_parameter('gps_topic').value self.interval = self.get_parameter('interval').value - self.image_width = self.get_parameter('image_width').value - self.image_height = self.get_parameter('image_height').value - self.warmup_frames = self.get_parameter('warmup_frames').value - # 创建保存目录 - if not os.path.exists(self.save_dir): - os.makedirs(self.save_dir) - self.get_logger().info(f'Created directory: {self.save_dir}') + # 初始化 OpenCV 摄像头,强制使用 V4L2 后端 + self.cap = cv2.VideoCapture(self.camera_index, cv2.CAP_V4L2) + + # 设置格式 + fourcc_str = self.get_parameter('fourcc').value + if len(fourcc_str) == 4: + self.cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*fourcc_str)) + + self.cap.set(cv2.CAP_PROP_FRAME_WIDTH, self.get_parameter('image_width').value) + self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT, self.get_parameter('image_height').value) + self.cap.set(cv2.CAP_PROP_FPS, self.get_parameter('frame_rate').value) + + # 设置曝光 + auto_exp = self.get_parameter('auto_exposure').value + if auto_exp: + self.cap.set(cv2.CAP_PROP_AUTO_EXPOSURE, 3) # 通常 3=Auto, 1=Manual (具体值取决于后端,V4L2通常是 3 和 1) + else: + self.cap.set(cv2.CAP_PROP_AUTO_EXPOSURE, 1) # 手动模式 + self.cap.set(cv2.CAP_PROP_EXPOSURE, self.get_parameter('exposure_value').value) + + if not self.cap.isOpened(): + self.get_logger().error("无法打开摄像头!") + return + + # 创建目录 + os.makedirs(self.save_dir, exist_ok=True) - # 初始化 GPS 数据 self.latest_gps = None - - # 订阅 GPS - self.gps_sub = self.create_subscription( - NavSatFix, - self.gps_topic, - self.gps_callback, - 10 - ) + self.latest_frame = None + self.frame_lock = threading.Lock() # 线程锁,防止读写冲突 - # 创建拍照服务 + # 启动一个后台线程持续读取图片流 + self.capture_thread = threading.Thread(target=self._stream_reader, daemon=True) + self.capture_thread.start() + + # 订阅/服务/定时器 + self.gps_sub = self.create_subscription(NavSatFix, self.gps_topic, self.gps_callback, 10) self.srv = self.create_service(Trigger, 'trigger_photo', self.trigger_callback) - - # 定时拍照 self.timer = self.create_timer(self.interval, self.timer_callback) + def _stream_reader(self): + """后台线程:不断清空缓冲区并保存最新的一帧""" + while rclpy.ok() and self.cap.isOpened(): + ret, frame = self.cap.read() + if ret: + with self.frame_lock: + self.latest_frame = frame + def gps_callback(self, msg): self.latest_gps = msg def trigger_callback(self, request, response): - """ - 响应服务调用进行拍照 - """ - self.get_logger().info('Received capture trigger request') success, message = self.take_photo() response.success = success response.message = message return response - def take_photo(self): - """ - 执行拍照逻辑,使用 ffmpeg 直接调用 v4l2,返回 (success, message) - """ - # 获取当前时间 - now = datetime.datetime.now() - time_str = now.strftime('%Y%m%d-%H%M%S') - - # 格式化 GPS 信息 - if self.latest_gps: - # 假设 GPS 数据有效 - lat = self.latest_gps.latitude - lon = self.latest_gps.longitude - gps_str = f"lat{lat:.6f}_lon{lon:.6f}" - else: - gps_str = "no_gps" - - # 拼接文件名: 时间-gps信息 - filename = f"{time_str}-{gps_str}.jpg" - full_path = os.path.join(self.save_dir, filename) - - # 构建 ffmpeg 命令 - # 为了防止过曝,需要让摄像头运行几帧让自动曝光收敛 - # 策略:抓取 warmup 帧数,使用 -y 和 -update 1 不断覆盖输出文件,最终保留的是最后一帧 - # 注意:warmup_frames 至少为 1 - frames_to_capture = max(1, self.warmup_frames) - - cmd = [ - 'ffmpeg', - '-y', # 覆盖输出文件 - '-f', 'video4linux2', # 强制使用 v4l2 格式 - '-video_size', f'{self.image_width}x{self.image_height}', # 设置分辨率 - '-i', self.camera_device, # 输入设备 - '-vframes', str(frames_to_capture), # 抓取 N 帧 - '-update', '1', # 允许输出文件被覆盖(配合 vframes 使用) - full_path # 输出路径 - ] - - try: - # 运行命令,捕获输出以便出错时打印 - self.get_logger().info(f"Executing: {' '.join(cmd)}") - result = subprocess.run( - cmd, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - timeout=10 # 设置超时防止卡死 - ) - - if result.returncode == 0: - msg = f'Saved photo: {filename}' - self.get_logger().info(msg) - return True, msg - else: - err_msg = f"FFmpeg failed with return code {result.returncode}: {result.stderr.decode()}" - self.get_logger().error(err_msg) - return False, err_msg - - except subprocess.TimeoutExpired: - err_msg = "FFmpeg command timed out" - self.get_logger().error(err_msg) - return False, err_msg - except Exception as e: - err_msg = f"Error saving photo: {str(e)}" - self.get_logger().error(err_msg) - return False, err_msg - def timer_callback(self): - # 简单的定时拍照,若需要可保留,逻辑委托给 take_photo if self.interval > 0: self.take_photo() + def take_photo(self): + with self.frame_lock: + if self.latest_frame is None: + return False, "No frame available yet" + # 复制当前最新帧,防止保存时被后台线程修改 + frame_to_save = self.latest_frame.copy() + + # 处理文件名和 GPS + now = datetime.datetime.now() + time_str = now.strftime('%Y%m%d-%H%M%S') + gps_str = f"lat{self.latest_gps.latitude:.6f}_lon{self.latest_gps.longitude:.6f}" if self.latest_gps else "no_gps" + + filename = f"{time_str}-{gps_str}.jpg" + full_path = os.path.join(self.save_dir, filename) + + # 保存图片 + cv2.imwrite(full_path, frame_to_save) + self.get_logger().info(f'Saved photo: {filename}') + return True, f"Saved to {full_path}" + def destroy_node(self): + self.cap.release() super().destroy_node() def main(args=None): @@ -148,6 +126,3 @@ def main(args=None): finally: node.destroy_node() rclpy.shutdown() - -if __name__ == '__main__': - main()