Ubuntu SDK won't launch builds from paths containing diacritics

Bug #1629583 reported by zubozrout on 2016-10-01
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu SDK IDE

Bug Description

If you create a new project in the latest Ubuntu SDK while the path to that project or the built folder contains diacritics the Ubuntu SDK won't run it.

Importing paths then looks like this:
QQmlImportDatabase::addImportPath: "/home/zubozrout/Dokumenty/Projects/build-Transport-UbuntuSDK_for_builder_amd64_GCC_amd64_ubuntu_sdk_15_04-Lad??n??/backend"
 - notice the "Lad??n??" where it should say "Ladění" instead to match the folder's name - which was btw created correctly.

It is worth mentioning that it worked with the previous versions of Ubuntu SDK (before the last big update this summer).

So either this should not be translated at all (though it would inevitably broke the old projects) or it should work even with those ugly non-ascii characters.

zub (zub-linux) wrote :

I suspect it has to do with usdk-target forcing C locale (in ubuntu-sdk-tools/usdk-target/exec.go, in run). There is a comment:

//force C locale as QtCreator needs it

Is it really needed? Why/how does QtCreator need it? Forcing C locale and thus killing UTF-8 (which is what most users would use these days I assume) looks dangerous.

zub (zub-linux) wrote :

I'm able to reproduce this with ubuntu-sdk 1.299~0ubuntu1~0yakkety and ubuntu-sdk-tools 0.6-0~33~ubuntu16.10.1.

Simple way to reproduce:
1) create a directory with non-ascii name, e.g. "Příklad" in your home
2) create a new project inside this directory - choose QtQuick App with QML UI
3) choose the desktop kit in the project creation wizard
4) build the project
5) run the project

expected: the sample app UI shows up

observed: an "Open QML file" dialog from qmlscene is displayed instead of the app; also in the dialog you can see that the name of the directory with the project content is corrupted and non-ascii characters are replaced by '?' and it's impossible to open it.

Strangely, the qmlscene process does not see LC_ALL=C, instead, neither LC_* not LANG is set, so glibc falls back to POSIX.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers