Skip to content
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

Warning: Linkname can't be converted from UTF-8 to current locale. #445

Closed
cmarcelo opened this issue May 16, 2018 · 5 comments
Closed

Warning: Linkname can't be converted from UTF-8 to current locale. #445

cmarcelo opened this issue May 16, 2018 · 5 comments
Assignees

Comments

@cmarcelo
Copy link
Contributor

When extracting symlinks with non-ASCII (UTF-8) characters in the name, swupd (actually libarchive) complains about converting even if the current locale is UTF-8.

We first investigated whether Mixer was generating something wrong, but it seems to be generating valid tar files. That investigation is in clearlinux/mixer-tools#92. The next stop is looking a libarchive, as the error message seems misleading.

For debugging libarchive, a starting point:

<thiago> if anyone wnats to debug this, put a breakpoint in archive_entry.c line 1301 with condition r != 0
<thiago> the debug fuse doesn't work for me (container)
@matthewrsj
Copy link
Contributor

swupd now uses a more recent version of libarchive. This needs to be tested to see if it is still an issue.

@otaviobp
Copy link
Contributor

This problems is still present on Clear 25040, swupd version 3.17.14, when installing os-core.

@aaronovz1
Copy link
Contributor

I am noticing this on 3.17.15 with libarchive 3.3.3.

@jbhanks
Copy link

jbhanks commented Nov 8, 2018

I am also getting this when I try to install the ISO into a virtual machine. The downloads then proceed without error, but suspiciously fast. The subsequent install is devoid of even the most basic shell programs (such as ping and sudo).
Not sure if the two are related.
clearutferror

clearnotfound

@otaviobp
Copy link
Contributor

otaviobp commented Nov 8, 2018

I am also getting this when I try to install the ISO into a virtual machine. The downloads then proceed without error, but suspiciously fast. The subsequent install is devoid of even the most basic shell programs (such as ping and sudo).

This is all expected. You are installing only 4 small bundles (os-core, bootloader, kernel-kvm, os-core-update), so it should be fast. sudo and ping aren't included in thoses bundles, so they should fail.

If you want to install them you can do that by running:

$ swupd bundle-add network-basic sudo

Not sure if the two are related.

The problems aren't related. The "Warning: Linkname..." is a known bug when installing os-core bundle and the only issue we have is the warning being printed. The final installed system is sane and work fine.

otaviobp pushed a commit to otaviobp/swupd-client that referenced this issue Nov 16, 2018
Standard locale on C applications is C and we use in clearlinux UTF-8
for file names. Libarchive checks the program locale to convert
filenames so we need to set this.

According to setlocale documentation, setlocale(LC_ALL, "") sets the locale
to system default (in the case of ClearLinux, UTF-8).

More information on the libarchive problem:
https://github.com/libarchive/libarchive/wiki/Filenames and
libarchive/libarchive#587

Fixes clearlinux#445

Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
otaviobp pushed a commit to otaviobp/swupd-client that referenced this issue Nov 16, 2018
Standard locale on C applications is C and we use in clearlinux UTF-8
for file names. Libarchive checks the program locale to convert
filenames so we need to set this.

According to setlocale documentation, setlocale(LC_ALL, "") sets the locale
to system default (in the case of ClearLinux, UTF-8).

More information on the libarchive problem:
https://github.com/libarchive/libarchive/wiki/Filenames and
libarchive/libarchive#587

Fixes clearlinux#445

Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
otaviobp pushed a commit that referenced this issue Nov 26, 2018
Standard locale on C applications is C and we use in clearlinux UTF-8
for file names. Libarchive checks the program locale to convert
filenames so we need to set this.

According to setlocale documentation, setlocale(LC_ALL, "") sets the locale
to system default (in the case of ClearLinux, UTF-8).

More information on the libarchive problem:
https://github.com/libarchive/libarchive/wiki/Filenames and
libarchive/libarchive#587

Fixes #445

Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants