Support Request #16033
closedFix for Linker error on Linux with ADTF 3.13.x (cannot fill debug link section)
Description
Supportanfrage
Das bereits bekannte Problem (cannot fill debug link section) tritt auf,
sobald man den CMake Generator in Conan (cmake generator - conan 1.43.0 documentation<https://docs.conan.io/en/latest/integrations/build_system/cmake/cmake_generator.html>) benutzt und folgende Zeilen im CMake aufgenommen hat:
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup()
Wir haben drei Lösungen für das Problem gefunden:
1) conan_basic_setup(NO_OUTPUT_DIRS)
2) Verwendung des conan generators cmake_paths (cmake_paths generator - conan 1.43.0 documentation<https://docs.conan.io/en/latest/integrations/build_system/cmake/cmake_paths_generator.html>) anstelle von cmake
3) Fix in adtf_install_targetWORKING_DIRECTORY "$<TARGET_FILE_DIR:${TARGET}>"
- Funktioniert ab CMake 3.13 (add_custom_command - CMake 3.22.1 Documentation<https://cmake.org/cmake/help/latest/command/add_custom_command.html>)
Bitte prüft, ob ihr den dritten Ansatz direkt in ADTF umsetzen könnt bzw. ob ihr die Doku erweitern wollt.
Lösung
Für ADTF 3.14 wird der Weg 3) umgesetzt, enthalten im RC4-Preview.
Für ADTF 3.13.x ist der Workaround, ADTF_EXTRACT_DEBUG_INFO
auf OFF
zu setzen im CMake.
Files
Updated by hidden over 1 year ago
- Project changed from Public Support to 11
- Description updated (diff)
- Status changed from New to In Progress
- Customer set to CARIAD
- Department set to G3-6
- Topic set to ADTF::ConanCMakeMisc
- Affected Products ADTF 3.13.0 added
- Platform Ubuntu 18.04 64bit (ARMv8) added
Updated by hidden over 1 year ago
- Status changed from In Progress to Customer Feedback Required
Hi Jens,
das bereits bekannte Problem (cannot fill debug link section) tritt auf,
Wo tritt das bei euch auf ?
Hat das was mit dem extrahieren der Debug Symbole zu tun, was wir analog zu pdbs auf Windows zu ADTF 3.13 eingebaut haben ?
Wenn ja, das wird zu ADTF 3.14 default deaktiviert, du kannst das in der Zwischenzeit auf CMake Ebene lösen in 3.13.x, in dem du ADTF_EXTRACT_DEBUG_INFO
auf OFF
setzt
Updated by hidden over 1 year ago
Florian Roth wrote in #note-2:
Sobald folgende Bedingungen erfüllt sind:Wo tritt das bei euch auf ?
- conanfile.py
generators = "cmake"
- CMakeLists.txt:
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup()
- CMakeLists.txt
adtf_install_filter
Hat das was mit dem extrahieren der Debug Symbole zu tun, was wir analog zu pdbs auf Windows zu ADTF 3.13 eingebaut haben ?
ja. Conan verändert die Pfade und verletzt damit die implizite Annahme Eures Macros, dass sich die Dateien im aktuellen Arbeitsverzeichnis befinden. Daher der Hinweis insbesondere auf Lösungsoption 3, die das korrigiert.
Wenn ja, das wird zu ADTF 3.14 default deaktiviert, du kannst das in der Zwischenzeit auf CMake Ebene lösen in 3.13.x, in dem du
ADTF_EXTRACT_DEBUG_INFO
aufOFF
setzt
Das wäre dann Lösungsoption 4. Gibt also genug Workarounds. Hat aber ne Weile gedauert, das Problem zu analysieren.
Updated by hidden over 1 year ago
- Status changed from Customer Feedback Required to In Progress
@Martin: Sollten wir das einbauen ?
Updated by hidden over 1 year ago
Das hatte Andreas in ACORE-11337 mit b040bd9c444edbc0f6f68f7eb3812beb369d6179 schon eingebaut. Ist also schon ab 3.14-rc3 drin.
Updated by hidden over 1 year ago
- Project changed from 11 to Public Support
- Description updated (diff)
- Status changed from In Progress to To Be Closed
- Private changed from Yes to No
- Resolution set to Solved Issue
@Jens: Dann aber bitte auf 3.14.0-rc4 warten, weil der RC3 Probleme auf Linux mit den starten der Tools hat... Sollte im Laufe des Tages kommen.
Für ADTF 3.13.x bitte die Lösung mit ADTF_EXTRACT_DEBUG_INFO verwenden.