Skip to content

Source locations in the terminal are linkified relative to a wrong root #246923

Closed as not planned
@yury-s

Description

@yury-s

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.99.3
  • OS Version: Ubuntu 22.04

Steps to Reproduce:

  1. Try to build webkit gtk via VS Code. The build runs in a flatpak environment.
  2. See some errors in the terminal panel.
  3. Try to click on a source file location in the terminal.

Result:
The path from flatpak is used while we need a path relative to the workspace to open the file.

Sample output:

Executing task: /home/yurys/webkit/Tools/Scripts/build-webkit --gtk 

Building flatpak based environment
SDK origin: webkit
+  cmake --build /app/webkit/WebKitBuild/GTK/Release --config Release -- 
[0/2] Re-checking globbed directories...
[12/71] Building CXX object Source/WebKit/CMakeFiles/WebKit.dir/UIProcess/Automation/BidiBrowserAgent.cpp.o
FAILED: Source/WebKit/CMakeFiles/WebKit.dir/UIProcess/Automation/BidiBrowserAgent.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DBUILDING_GTK__=1 -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebKit -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDATADIR=\"/usr/local/share\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DGETTEXT_PACKAGE=\"WebKitGTK-6.0\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DLIBDIR=\"/usr/local/lib\" -DLOCALEDIR=\"/usr/local/share/locale\" -DPAS_BMALLOC=1 -DPKGLIBDIR=\"/usr/local/lib/webkitgtk-6.0\" -DPKGLIBEXECDIR=\"/usr/local/libexec/webkitgtk-6.0\" -DSK_ASSUME_GL=0 -DSK_ASSUME_GL_ES=1 -DSK_ASSUME_WEBGL=0 -DSK_DISABLE_LEGACY_GL_MAKE_NATIVE_INTERFACE -DSK_DISABLE_LEGACY_IMAGE_READBUFFER -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_PNG_WRITEBUFFER -DSK_DISABLE_TRACING -DSK_DISABLE_WEBGL_INTERFACE -DSK_ENABLE_PRECOMPILE -DSK_R32_SHIFT=16 -DSK_RELEASE -DSTATICALLY_LINKED_WITH_PAL -DSTATICALLY_LINKED_WITH_WebCore -DUSE_SYSTEM_EGL -DWebKit_EXPORTS -D_GLIBCXX_ASSERTIONS=1 -I/app/webkit/WebKitBuild/GTK/Release/WebKitGTK/Headers -I/app/webkit/WebKitBuild/GTK/Release/WebKitGTK/Headers/webkitgtk-6.0 -I/app/webkit/WebKitBuild/GTK/Release/WebKitGTK/Headers/webkitgtk-web-process-extension -I/app/webkit/WebKitBuild/GTK/Release/WebKitGTK/DerivedSources/webkit -I/app/webkit/WebKitBuild/GTK/Release/WebKitGTK/DerivedSources -I/app/webkit/WebKitBuild/GTK/Release -I/app/webkit/WebKitBuild/GTK/Release/PAL/Headers -I/app/webkit/WebKitBuild/GTK/Release/WebCore/PrivateHeaders -I/app/webkit/WebKitBuild/GTK/Release/DerivedSources/ForwardingHeaders -I/app/webkit/WebKitBuild/GTK/Release/DerivedSources/WebKit -I/app/webkit/WebKitBuild/GTK/Release/DerivedSources/WebKit/include -I/app/webkit/Source/WebKit -I/app/webkit/Source/WebKit/GPUProcess -I/app/webkit/Source/WebKit/GPUProcess/ShapeDetection -I/app/webkit/Source/WebKit/GPUProcess/graphics -I/app/webkit/Source/WebKit/GPUProcess/graphics/WebGPU -I/app/webkit/Source/WebKit/GPUProcess/media -I/app/webkit/Source/WebKit/GPUProcess/webrtc -I/app/webkit/Source/WebKit/ModelProcess -I/app/webkit/Source/WebKit/NetworkProcess -I/app/webkit/Source/WebKit/NetworkProcess/Authentication -I/app/webkit/Source/WebKit/NetworkProcess/Classifier -I/app/webkit/Source/WebKit/NetworkProcess/Cookies -I/app/webkit/Source/WebKit/NetworkProcess/CustomProtocols -I/app/webkit/Source/WebKit/NetworkProcess/Downloads -I/app/webkit/Source/WebKit/NetworkProcess/FileAPI -I/app/webkit/Source/WebKit/NetworkProcess/IndexedDB -I/app/webkit/Source/WebKit/NetworkProcess/Notifications -I/app/webkit/Source/WebKit/NetworkProcess/PrivateClickMeasurement -I/app/webkit/Source/WebKit/NetworkProcess/ServiceWorker -I/app/webkit/Source/WebKit/NetworkProcess/SharedWorker -I/app/webkit/Source/WebKit/NetworkProcess/cache -I/app/webkit/Source/WebKit/NetworkProcess/storage -I/app/webkit/Source/WebKit/NetworkProcess/watchos -I/app/webkit/Source/WebKit/NetworkProcess/webrtc -I/app/webkit/Source/WebKit/NetworkProcess/webtransport -I/app/webkit/Source/WebKit/Platform -I/app/webkit/Source/WebKit/Platform/IPC -I/app/webkit/Source/WebKit/Shared -I/app/webkit/Source/WebKit/Shared/API -I/app/webkit/Source/WebKit/Shared/API/c -I/app/webkit/Source/WebKit/Shared/ApplePay -I/app/webkit/Source/WebKit/Shared/Authentication -I/app/webkit/Source/WebKit/Shared/CoreIPCSupport -I/app/webkit/Source/WebKit/Shared/Databases -I/app/webkit/Source/WebKit/Shared/Databases/IndexedDB -I/app/webkit/Source/WebKit/Shared/Extensions -I/app/webkit/Source/WebKit/Shared/FileAPI -I/app/webkit/Source/WebKit/Shared/graphics -I/app/webkit/Source/WebKit/Shared/Gamepad -I/app/webkit/Source/WebKit/Shared/Notifications -I/app/webkit/Source/WebKit/Shared/RemoteLayerTree -I/app/webkit/Source/WebKit/Shared/WebGPU -I/app/webkit/Source/WebKit/Shared/WebsiteData -I/app/webkit/Source/WebKit/Shared/XR -I/app/webkit/Source/WebKit/UIProcess -I/app/webkit/Source/WebKit/UIProcess/API -I/app/webkit/Source/WebKit/UIProcess/API/C -I/app/webkit/Source/WebKit/UIProcess/API/cpp -I/app/webkit/Source/WebKit/UIProcess/Authentication -I/app/webkit/Source/WebKit/UIProcess/Automation -I/app/webkit/Source/WebKit/UIProcess/DigitalCredentials -I/app/webkit/Source/WebKit/UIProcess/Downloads -I/app/webkit/Source/WebKit/UIProcess/Extensions -I/app/webkit/Source/WebKit/UIProcess/Gamepad -I/app/webkit/Source/WebKit/UIProcess/GPU -I/app/webkit/Source/WebKit/UIProcess/Inspector -I/app/webkit/Source/WebKit/UIProcess/Inspector/Agents -I/app/webkit/Source/WebKit/UIProcess/Launcher -I/app/webkit/Source/WebKit/UIProcess/Media -I/app/webkit/Source/WebKit/UIProcess/Model -I/app/webkit/Source/WebKit/UIProcess/Network -I/app/webkit/Source/WebKit/UIProcess/Network/CustomProtocols -I/app/webkit/Source/WebKit/UIProcess/Notifications -I/app/webkit/Source/WebKit/UIProcess/Plugins -I/app/webkit/Source/WebKit/UIProcess/RemoteLayerTree -I/app/webkit/Source/WebKit/UIProcess/UserContent -I/app/webkit/Source/WebKit/UIProcess/WebAuthentication -I/app/webkit/Source/WebKit/UIProcess/WebAuthentication/Mock -I/app/webkit/Source/WebKit/UIProcess/WebsiteData -I/app/webkit/Source/WebKit/UIProcess/XR -I/app/webkit/Source/WebKit/WebProcess -I/app/webkit/Source/WebKit/WebProcess/ApplePay -I/app/webkit/Source/WebKit/WebProcess/ApplicationCache -I/app/webkit/Source/WebKit/WebProcess/Automation -I/app/webkit/Source/WebKit/WebProcess/Cache -I/app/webkit/Source/WebKit/WebProcess/Databases -I/app/webkit/Source/WebKit/WebProcess/Databases/IndexedDB -I/app/webkit/Source/WebKit/WebProcess/EncryptedMedia -I/app/webkit/Source/WebKit/WebProcess/Extensions -I/app/webkit/Source/WebKit/WebProcess/Extensions/API -I/app/webkit/Source/WebKit/WebProcess/Extensions/Bindings -I/app/webkit/Source/WebKit/WebProcess/FileAPI -I/app/webkit/Source/WebKit/WebProcess/FullScreen -I/app/webkit/Source/WebKit/WebProcess/Gamepad -I/app/webkit/Source/WebKit/WebProcess/Geolocation -I/app/webkit/Source/WebKit/WebProcess/GPU -I/app/webkit/Source/WebKit/WebProcess/GPU/ShapeDetection -I/app/webkit/Source/WebKit/WebProcess/GPU/graphics -I/app/webkit/Source/WebKit/WebProcess/GPU/graphics/WebGPU -I/app/webkit/Source/WebKit/WebProcess/GPU/media -I/app/webkit/Source/WebKit/WebProcess/GPU/webrtc -I/app/webkit/Source/WebKit/WebProcess/IconDatabase -I/app/webkit/Source/WebKit/WebProcess/InjectedBundle -I/app/webkit/Source/WebKit/WebProcess/InjectedBundle/API -I/app/webkit/Source/WebKit/WebProcess/InjectedBundle/API/c -I/app/webkit/Source/WebKit/WebProcess/InjectedBundle/DOM -I/app/webkit/Source/WebKit/WebProcess/Inspector -I/app/webkit/Source/WebKit/WebProcess/Launching -I/app/webkit/Source/WebKit/WebProcess/MediaCache -I/app/webkit/Source/WebKit/WebProcess/MediaStream -I/app/webkit/Source/WebKit/WebProcess/Model -I/app/webkit/Source/WebKit/WebProcess/Network -I/app/webkit/Source/WebKit/WebProcess/Network/webrtc -I/app/webkit/Source/WebKit/WebProcess/Notifications -I/app/webkit/Source/WebKit/WebProcess/OriginData -I/app/webkit/Source/WebKit/WebProcess/Plugins -I/app/webkit/Source/WebKit/WebProcess/Plugins/Netscape -I/app/webkit/Source/WebKit/WebProcess/ResourceCache -I/app/webkit/Source/WebKit/WebProcess/Speech -I/app/webkit/Source/WebKit/WebProcess/Storage -I/app/webkit/Source/WebKit/WebProcess/UserContent -I/app/webkit/Source/WebKit/WebProcess/WebCoreSupport -I/app/webkit/Source/WebKit/WebProcess/WebPage -I/app/webkit/Source/WebKit/WebProcess/WebPage/RemoteLayerTree -I/app/webkit/Source/WebKit/WebProcess/WebStorage -I/app/webkit/Source/WebKit/WebProcess/XR -I/app/webkit/Source -I/app/webkit/WebKitLibraries -I/app/webkit/Source/WebKit/Shared/skia -I/app/webkit/WebKitBuild/GTK/Release/JavaScriptCoreGLib/DerivedSources/jsc -I/app/webkit/Source/WebKit/NetworkProcess/glib -I/app/webkit/Source/WebKit/NetworkProcess/gtk -I/app/webkit/Source/WebKit/NetworkProcess/soup -I/app/webkit/Source/WebKit/Platform/IPC/glib -I/app/webkit/Source/WebKit/Platform/IPC/unix -I/app/webkit/Source/WebKit/Platform/classifier -I/app/webkit/Source/WebKit/Platform/generic -I/app/webkit/Source/WebKit/Shared/API/c/gtk -I/app/webkit/Source/WebKit/Shared/API/glib -I/app/webkit/Source/WebKit/Shared/glib -I/app/webkit/Source/WebKit/Shared/gtk -I/app/webkit/Source/WebKit/Shared/linux -I/app/webkit/Source/WebKit/Shared/soup -I/app/webkit/Source/WebKit/UIProcess/API/C/cairo -I/app/webkit/Source/WebKit/UIProcess/API/C/glib -I/app/webkit/Source/WebKit/UIProcess/API/C/gtk -I/app/webkit/Source/WebKit/UIProcess/API/glib -I/app/webkit/Source/WebKit/UIProcess/API/gtk -I/app/webkit/Source/WebKit/UIProcess/CoordinatedGraphics -I/app/webkit/Source/WebKit/UIProcess/Inspector/glib -I/app/webkit/Source/WebKit/UIProcess/Inspector/gtk -I/app/webkit/Source/WebKit/UIProcess/Notifications/glib -I/app/webkit/Source/WebKit/UIProcess/geoclue -I/app/webkit/Source/WebKit/UIProcess/glib -I/app/webkit/Source/WebKit/UIProcess/gstreamer -I/app/webkit/Source/WebKit/UIProcess/gtk -I/app/webkit/Source/WebKit/UIProcess/linux -I/app/webkit/Source/WebKit/UIProcess/soup -I/app/webkit/Source/WebKit/WebProcess/InjectedBundle/API/glib -I/app/webkit/Source/WebKit/WebProcess/InjectedBundle/API/gtk -I/app/webkit/Source/WebKit/WebProcess/Inspector/gtk -I/app/webkit/Source/WebKit/WebProcess/glib -I/app/webkit/Source/WebKit/WebProcess/gtk -I/app/webkit/Source/WebKit/WebProcess/soup -I/app/webkit/Source/WebKit/WebProcess/WebCoreSupport/gtk -I/app/webkit/Source/WebKit/WebProcess/WebCoreSupport/soup -I/app/webkit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics -I/app/webkit/Source/WebKit/WebProcess/WebPage/gtk -I/app/webkit/Source/WebKit/WebProcess/WebPage/dmabuf -I/app/webkit/Source/ThirdParty/skia -I/app/webkit/WebKitBuild/GTK/Release/Skia/Headers/top -I/app/webkit/WebKitBuild/GTK/Release/Skia/Headers/mod -I/app/webkit/WebKitBuild/GTK/Release/JavaScriptCore/Headers -I/app/webkit/WebKitBuild/GTK/Release/JavaScriptCore/PrivateHeaders -I/app/webkit/WebKitBuild/GTK/Release/JavaScriptCoreGLib/Headers -I/app/webkit/WebKitBuild/GTK/Release/JavaScriptCoreGLib/DerivedSources -I/app/webkit/WebKitBuild/GTK/Release/WTF/Headers -I/app/webkit/WebKitBuild/GTK/Release/bmalloc/Headers -I/app/webkit/WebKitBuild/GTK/Release/ANGLE/Headers -isystem /usr/include/enchant-2 -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/orc-0.4 -isystem /usr/include/gtk-4.0 -isystem /usr/include/pango-1.0 -isystem /usr/include/gdk-pixbuf-2.0 -isystem /usr/include/cairo -isystem /usr/include/graphene-1.0 -isystem /usr/lib/x86_64-linux-gnu/graphene-1.0/include -isystem /usr/include/freetype2 -isystem /usr/include/harfbuzz -isystem /usr/include/webp -isystem /usr/include/pixman-1 -isystem /usr/include/libpng16 -isystem /usr/include/fribidi -isystem /usr/include/libsoup-3.0 -isystem /usr/include/gtk-4.0/unix-print -isystem /usr/include/sysprof-6 -isystem /usr/include/libxml2 -isystem /usr/include/avif -isystem /usr/include/libmanette -isystem /usr/include/libdrm -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-subobject-linkage -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -fasynchronous-unwind-tables -fdebug-types-section -fno-strict-aliasing -fno-exceptions -fno-rtti -fcoroutines -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++23 -fPIC -fvisibility=hidden  -include /app/webkit/Source/WebKit/WebKit2Prefix.h -Werror -Wno-unused-parameter -mfpmath=sse -msse -msse2 -pthread -DAVIF_DLL -MD -MT Source/WebKit/CMakeFiles/WebKit.dir/UIProcess/Automation/BidiBrowserAgent.cpp.o -MF Source/WebKit/CMakeFiles/WebKit.dir/UIProcess/Automation/BidiBrowserAgent.cpp.o.d -o Source/WebKit/CMakeFiles/WebKit.dir/UIProcess/Automation/BidiBrowserAgent.cpp.o -c /app/webkit/Source/WebKit/UIProcess/Automation/BidiBrowserAgent.cpp
/app/webkit/Source/WebKit/UIProcess/Automation/BidiBrowserAgent.cpp: In constructor ‘WebKit::BidiBrowserAgent::BidiBrowserAgent(WebKit::WebAutomationSession&, Inspector::BackendDispatcher&)’:
/app/webkit/Source/WebKit/UIProcess/Automation/BidiBrowserAgent.cpp:52:5: error: ‘a’ was not declared in this scope
   52 |     a;
      |     ^
ninja: build stopped: subcommand failed.

 *  The terminal process "/usr/bin/bash '-c', '/home/yurys/webkit/Tools/Scripts/build-webkit --gtk'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 
 

The problem is that the source tree lives under /home/yurys/webkit, but the flatpak environment changes all paths to have /app/webkit/ as the source root. This breaks link navigation which is crucial for C++ development in VS Code. I don't see any mechanism to map the source paths to make it work. Looked at this file https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLocalLinkDetector.ts

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions