Skip to content

Remaining issues #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
7 of 11 tasks
wolfv opened this issue Jun 26, 2022 · 6 comments
Closed
7 of 11 tasks

Remaining issues #3

wolfv opened this issue Jun 26, 2022 · 6 comments

Comments

@wolfv
Copy link
Member

wolfv commented Jun 26, 2022

  • osx64: rclpy segfault because of Python linking
  • osx-arm64: need to use this patch in rosidl_python Fix rhel and windows builds ros2/rosidl_python#164 to prevent hard coded path to numpy (that prevents cross-compilation) (it was there, then reverted: Use modern cmake targets to avoid absolute paths to appear in binary archives ros2/rosidl_python#160
  • osx-arm64: need to fix SIP build in qt_gui_cpp, something is going wrong
  • linux-64: needs rebuild against qt-main to get all the way to desktop-full
  • linux-aarch64: needs rebuild against qt-main to get all the way to desktop-full
  • osx-64: needs rebuild against qt-main to get all the way to desktop-full
  • osx-arm64: needs rebuild against qt-main to get all the way to desktop-full
  • win64: needs rebuild against qt-main to get all the way to desktop-full - @traversaro to look into python_qt_bindings and qt_gui_cpp to see where things go wrong
  • Package websocketpp on conda-forge (https://github.com/zaphoyd/websocketpp/) -- needed for rmf_fleet_adapter, rmf_visualization_schedule
  • smacc2 / tracetools needs python3-lttng and babeltools (1?)
  • ros-humble-octomap is clobbering octomap?
@Tobias-Fischer
Copy link
Contributor

The problem for osx-64 with qt-gui-cpp is - I think - the following:

The qmake-generated makefile contains paths to system tools rather than conda-forge tools, i.e.:

#############################################################################
# Makefile for building: libqt_gui_cpp_sip
# Generated by qmake (3.1) (Qt 5.15.4)
# Project:  libqt_gui_cpp_sip.pro
# Template: lib
# Command: /Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin/qmake -o Makefile libqt_gui_cpp_sip.pro
#############################################################################

MAKEFILE      = Makefile

EQ            = =

####### Compiler, tools and options

CC            = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
CXX           = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
DEFINES       = -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
CFLAGS        = -pipe -O2 $(EXPORT_ARCH_ARGS) -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -mmacosx-version-min=10.13 -Wall -Wextra -fPIC $(DEFINES)
CXXFLAGS      = -pipe -stdlib=libc++ -O2 -std=gnu++11 $(EXPORT_ARCH_ARGS) -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -mmacosx-version-min=10.13 -Wall -Wextra -fPIC $(DEFINES)
INCPATH       = -I. -I. -I.. -I../../../../ros-humble-qt-gui-cpp/src/work/include -I../../../../../_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/pluginlib -I../../../../../_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/ament_index_cpp -I../../../../../_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/class_loader -I../../../../../_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -I../../../../../_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rcpputils -I../../../../../_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/rcutils -I../../../../../_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/python3.9 -I/Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/python3.9 -I/Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/qt -I/Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/qt/QtWidgets -I/Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/qt/QtGui -I/Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include/qt/QtCore -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/System/Library/Frameworks/AGL.framework/Headers -I/Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/mkspecs/macx-clang
QMAKE         = /Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin/qmake
DEL_FILE      = rm -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p
COPY          = cp -f
COPY_FILE     = cp -f
COPY_DIR      = cp -f -R
INSTALL_FILE  = install -m 644 -p
INSTALL_PROGRAM = install -m 755 -p
INSTALL_DIR   = cp -f -R
QINSTALL      = /Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin/qmake -install qinstall
QINSTALL_PROGRAM = /Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin/qmake -install qinstall -exe
DEL_FILE      = rm -f
SYMLINK       = ln -f -s
DEL_DIR       = rmdir
MOVE          = mv -f
TAR           = tar -cf
COMPRESS      = gzip -9f
DISTNAME      = libqt_gui_cpp_sip1.0.0
DISTDIR = /Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/work/build/sip/qt_gui_cpp_sip/libqt_gui_cpp_sip/.tmp/libqt_gui_cpp_sip1.0.0
LINK          = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
LFLAGS        = -stdlib=libc++ -undefined dynamic_lookup -headerpad_max_install_names $(EXPORT_ARCH_ARGS) -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -mmacosx-version-min=10.13 -Wl,-rpath,/Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib -bundle
LIBS          = $(SUBLIBS) -L../../../../../_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib -lament_index_cpp -lconsole_bridge.1.0 -lrcutils -lrcpputils -lclass_loader -ltinyxml2.9.0.0 /Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/libQt5Widgets.dylib /Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/libQt5Gui.dylib /Users/fischert/mambaforge/conda-bld/ros-humble-qt-gui-cpp_1657237172523/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/libQt5Core.dylib -framework OpenGL -framework AGL   
AR            = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar cq
RANLIB        = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib -s
SED           = sed
STRIP         = strip

I am not sure how to avoid that. This file is generated from another Makefile (also generated by qmake I think) which contains:

qmake: FORCE
	@$(QMAKE) -o Makefile libqt_gui_cpp_sip.pro

This file in turn is generated by the pyqt-builder .. looks like fun. I wonder if it's easier to patch the Makefiles and substitute these lines?

/cc @wolfv @traversaro

@wolfv
Copy link
Member Author

wolfv commented Aug 4, 2022

This post mentions that we could put QMAKE_CC and QMAKE_CXX in our ".pro" file (https://forum.qt.io/topic/95073/qmake-uses-wrong-gcc-version-how-to-change-gcc-version-used).

Maybe that'd help.
If we can use env vars in the .pro file, it would be $CC and $CXX.

@Tobias-Fischer
Copy link
Contributor

I think pyqt builder dynamically creates the .pro file ..

@Tobias-Fischer
Copy link
Contributor

On osx-64, I now get "ld: library not found for -lOpenGL
4721
clang: error: linker command failed with exit code 1 (use -v to see invocation)"

Any idea around that @wolfv?

@Tobias-Fischer
Copy link
Contributor

Fixed the OpenGL issue on osx-64.

@Tobias-Fischer
Copy link
Contributor

Closing here, opened separate issues instead to easier keep track

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants