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

Quickinstall fails with unicode characters in the path #265

Closed
nero08 opened this issue Oct 5, 2018 · 2 comments

Comments

@nero08
Copy link

commented Oct 5, 2018

Hello, I have a problem to compile CKB-NEXT, I have this error:

-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.17.1") 
-- ckb-next version: 0.3.1-63-ga2fc54c (Non-release)
-- Performing Test C_COMPILER_SUPPORTS_-Og
-- Performing Test C_COMPILER_SUPPORTS_-Og - Success
-- Performing Test CXX_COMPILER_SUPPORTS_-Og
-- Performing Test CXX_COMPILER_SUPPORTS_-Og - Success
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Performing Test ICONV_SECOND_ARGUMENT_IS_CONST
-- Performing Test ICONV_SECOND_ARGUMENT_IS_CONST - Failed
-- Found Iconv: /usr/lib/x86_64-linux-gnu/libc.so
-- Checking for module 'libudev'
--   Found libudev, version 237
-- Found UDEV: /lib/x86_64-linux-gnu/libudev.so  
-- Searching for running ckb and/or ckb-next GUI
-- NOTE:
    Privileged access is required for operations upon the daemon at
    configure time as it is owned by root. If this is unacceptable,
    disable SAFE_INSTALL and prepare the filesystem manually.
-- upstart detected
-- Generating and importing ckb-next-daemon.conf (upstart)
Unit ckb-daemon.service could not be found.
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
Unit ckb-next-daemon.service could not be found.
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
-- systemd detected
-- Generating and importing ckb-next-daemon.service (systemd)
inactive
Failed to get unit file state for ckb-daemon.service: No such file or directory
inactive
Failed to get unit file state for ckb-next-daemon.service: No such file or directory
-- Found QuaZip: /usr/lib/x86_64-linux-gnu/libquazip5.so  
-- Found PulseAudioSimple: /usr/lib/x86_64-linux-gnu/libpulse-simple.so  
-- Found PulseAudio: /usr/lib/x86_64-linux-gnu/libpulse.so  
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
-- Generating binary.qrc
-- Importing ckb-next-key.gpg
-- Generating image.qrc
-- Importing ckb-next.png
-- Importing icon_blank.png
-- Importing icon_mode.png
-- Importing icon_mode1.png
-- Importing icon_mode1_hardware.png
-- Importing icon_mode2.png
-- Importing icon_mode2_hardware.png
-- Importing icon_mode3.png
-- Importing icon_mode3_hardware.png
-- Importing icon_plus.png
-- Importing icon_profile.png
-- Importing icon_profile_hardware.png
-- Importing overlay_glaive.png
-- Importing overlay_harpoon.png
-- Importing overlay_katar.png
-- Importing overlay_m65.png
-- Importing overlay_polaris.png
-- Importing overlay_sabre.png
-- Importing overlay_scimitar.png
-- Generating and importing ckb-next.desktop
-- Generating and importing ckb-next.autostart.desktop
-- Importing demoprofile.conf
-- Generating text.qrc
-- *** Have SIZEOF void * = 8, so 64-bit
-- Configuring done
-- Generating done
-- Build files have been written to: /home/riname/Téléchargements/ckb-next/build
Scanning dependencies of target wave
Scanning dependencies of target KissFFT
Scanning dependencies of target invaders
Scanning dependencies of target pinwheel
Scanning dependencies of target ckb-next-daemon
Scanning dependencies of target heat
Scanning dependencies of target rain
Scanning dependencies of target gradient
[  1%] Building C object src/animations/CMakeFiles/pinwheel.dir/pinwheel/main.c.o
[  2%] Building C object src/animations/CMakeFiles/wave.dir/wave/main.c.o
[  3%] Building C object src/animations/CMakeFiles/heat.dir/heat/main.c.o
[  4%] Building C object src/libs/kissfft/CMakeFiles/KissFFT.dir/kiss_fft.c.o
[  5%] Building C object src/animations/CMakeFiles/invaders.dir/invaders/main.c.o
[  6%] Building C object src/animations/CMakeFiles/rain.dir/rain/main.c.o
[  7%] Building C object src/animations/CMakeFiles/gradient.dir/gradient/main.c.o
[  8%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/command.c.o
[  9%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/device.c.o
[ 10%] Linking C executable ../../bin/pinwheel
[ 12%] Linking C executable ../../bin/heat
[ 13%] Linking C executable ../../bin/wave
[ 14%] Linking C executable ../../bin/rain
[ 14%] Built target pinwheel
[ 15%] Linking C executable ../../bin/invaders
[ 16%] Building C object src/libs/kissfft/CMakeFiles/KissFFT.dir/kiss_fftr.c.o
[ 16%] Built target heat
[ 17%] Linking C executable ../../bin/gradient
[ 18%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/device_keyboard.c.o
[ 18%] Built target rain
[ 18%] Built target wave
Scanning dependencies of target ripple
Scanning dependencies of target random
[ 19%] Building C object src/animations/CMakeFiles/ripple.dir/ripple/main.c.o
Scanning dependencies of target ckb-next_autogen
[ 20%] Building C object src/animations/CMakeFiles/random.dir/random/main.c.o
[ 20%] Built target invaders
[ 21%] Automatic MOC, UIC and RCC for target ckb-next
[ 23%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/device_mouse.c.o
[ 23%] Built target gradient
[ 24%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/device_vtable.c.o
[ 25%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/devnode.c.o
[ 26%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/dpi.c.o
[ 27%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/firmware.c.o
[ 28%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/input.c.o
[ 29%] Linking C static library libKissFFT.a
[ 29%] Built target KissFFT
Scanning dependencies of target mviz
[ 30%] Linking C executable ../../bin/random
[ 31%] Building C object src/animations/mviz/CMakeFiles/mviz.dir/main.c.o
[ 32%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/keymap.c.o
[ 34%] Linking C executable ../../bin/ripple
[ 34%] Built target random
[ 35%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/keymap_patch.c.o
[ 36%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/led.c.o
[ 37%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/led_keyboard.c.o
[ 37%] Built target ripple
[ 38%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/led_mouse.c.o
[ 39%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/led_mousepad.c.o
[ 40%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/main.c.o
[ 41%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/notify.c.o
[ 42%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/profile.c.o
[ 43%] Linking C executable ../../../bin/mviz
[ 45%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/profile_keyboard.c.o
[ 46%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/profile_mouse.c.o
[ 46%] Built target mviz
[ 47%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/usb.c.o
[ 48%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/usb_linux.c.o
[ 49%] Building C object src/daemon/CMakeFiles/ckb-next-daemon.dir/input_linux.c.o
[ 50%] Linking C executable ../../bin/ckb-next-daemon
[ 50%] Built target ckb-next-daemon

AutoUic subprocess error
------------------------
uic failed for
  "/home/riname/Téléchargements/ckb-next/src/gui/animadddialog.ui"
included by
  "/home/riname/Téléchargements/ckb-next/src/gui/animadddialog.cpp"

Command
-------
/usr/lib/qt5/bin/uic -o /home/riname/Téléchargements/ckb-next/build/src/gui/ckb-next_autogen/include/ui_animadddialog.h /home/riname/Téléchargements/ckb-next/src/gui/animadddialog.ui

Output
------
Could not create output file

src/gui/CMakeFiles/ckb-next_autogen.dir/build.make:78: recipe for target 'src/gui/CMakeFiles/ckb-next_autogen' failed
make[2]: *** [src/gui/CMakeFiles/ckb-next_autogen] Error 1
CMakeFiles/Makefile2:803: recipe for target 'src/gui/CMakeFiles/ckb-next_autogen.dir/all' failed
make[1]: *** [src/gui/CMakeFiles/ckb-next_autogen.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2
An error occurred,
press enter to exit.

I installed all required lib and my Qt version is 5.9.5

@nero08

This comment has been minimized.

Copy link
Author

commented Oct 5, 2018

Solved: just move to home folder

@nero08 nero08 closed this Oct 5, 2018

@tatokis tatokis reopened this Oct 9, 2018

@tatokis tatokis changed the title Problem compile ckb-next Quickinstall fails with unicode characters in the path Oct 9, 2018

@tatokis tatokis added bug Linux labels Oct 9, 2018

@ghost

This comment has been minimized.

Copy link

commented Oct 9, 2018

This is an interesting issue that should never ever happen.

After poking Arch Linux for a few hours, I finally managed to reproduce this issue on openSUSE Tumbleweed with:

% locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

% LC_ALL=C locale
LANG=ru_RU.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

by building ckb-next in a directory whose absolute path contains "Новая папка" ('New folder'), and getting same uic errors.

The differences in Arch and SUSE locale handling are to be determined, if at all, since I tried to reproduce on Arch by changing the locale dynamically (i.e. generating locale, unsetting LANG, sourcing /etc/profile.d/locale.sh and starting a new shell instance) without complete relogin. Maybe doing so triggers this magic bug.

I took a glance at uic source code, read Qt5 documentation about the QFile and QString functions it uses for encoding and decoding, and just a little bit icu source code. So far no success. In uic the open() function is the one that fails, but it can be due to setting an incorrect filename previously and not failing early. At the same time, it completely relies on icu API, which has been there for years and probably can't have such a trivial bug.

@tatokis tatokis closed this in 44d253f Dec 22, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.