From mboxrd@z Thu Jan 1 00:00:00 1970 From: ng0 Subject: GUIX_LOCPATH problems with guix on gentoo Date: Fri, 17 Jun 2016 10:39:50 +0000 Message-ID: <20160617103949.GA4337@khazad-dum> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="tThc/1wpZn/ma/RB" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46250) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDrBy-0007Me-UP for help-guix@gnu.org; Fri, 17 Jun 2016 06:40:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bDrBu-0005GR-0c for help-guix@gnu.org; Fri, 17 Jun 2016 06:40:01 -0400 Received: from 93-95-228-168.1984.is ([93.95.228.168]:46053 helo=beleriand.n0.is) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDrBt-0005GM-JB for help-guix@gnu.org; Fri, 17 Jun 2016 06:39:57 -0400 Received: by beleriand.n0.is (OpenSMTPD) with ESMTPSA id 61e0cd40 TLS version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO for ; Fri, 17 Jun 2016 10:39:52 +0000 (UTC) Content-Disposition: inline List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org --tThc/1wpZn/ma/RB Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, in team effort and with my fixes we worked on guix on gentoo for a while no= w. I fixed #355355 (bugs.gentoo.org bug -> guile is 6 years outdated and broken in portage) almost to a point where I can present the changes, have guile-2= =2E0.11 running for half a year now and to some degree (awful openrc init) have a f= ully functional guix. This *might* be because I ran the first setup in gentoo-hardened and then switched to gentoo-sources (vanilla) as I did not want to figure out what kernel security setting is making guix fail. So the only shared component in this time is gcc-hardened. Usually this should not affect guix at all. And I believe it doesn't. But I have no explanation why I can't set a locale and the locale from gent= oo leaks into guix (or something...). As not everyone will want to to clone our repository listed at http://youbroketheinternet.org/#overlay , here is the rather readable ebuil= d: note, this did not function in all parts as intended and is being bug fixed= while I use it: cat guix-0.10.0.ebuild (never mind the maybe broken syntax by copy-paste): # Distributed under the terms of the GNU General Public License v3 # # further changes by ng0 EAPI=3D5 inherit user eutils autotools DESCRIPTION=3D"The Guix Package Manager." HOMEPAGE=3D"https://www.gnu.org/s/guix" SRC_URI=3D"mirror://gnu-alpha/${PN}/${P}.tar.gz" #RESTRICT=3D"mirror" RESTRICT=3D"bincheck" LICENSE=3D"GPL-3" SLOT=3D"0" KEYWORDS=3D"~amd64 ~x86 ~mips ~arm" IUSE=3D"test" #FIXME: gcc's g++ with support for the c++11 standard ? #FIXME: package dev-scheme/guile-json #BEWARE: ABSOLUTELY use guile from this overlay if # you don't want to break your system. # This is still experimental, but apparently # more stable than the bug #355355 # celebrating its 6th anniversary this year. # You will also need to use gnutls from this overlay, # which links to guile here. DEPEND=3D">=3Ddev-scheme/guile-2.0.11-r99[networking] dev-libs/libgcrypt >=3Ddev-db/sqlite-3.0 app-arch/bzip2 sys-devel/gcc sys-devel/automake sys-devel/gettext >=3Dnet-libs/gnutls-3.3.22-r2[guile]" RDEPEND=3D"${DEPEND}" pkg_setup() { enewgroup guixbuild enewuser guixbuilder01 -1 -1 -1 guixbuild enewuser guixbuilder02 -1 -1 -1 guixbuild enewuser guixbuilder03 -1 -1 -1 guixbuild enewuser guixbuilder04 -1 -1 -1 guixbuild enewuser guixbuilder05 -1 -1 -1 guixbuild enewuser guixbuilder06 -1 -1 -1 guixbuild enewuser guixbuilder07 -1 -1 -1 guixbuild enewuser guixbuilder08 -1 -1 -1 guixbuild enewuser guixbuilder09 -1 -1 -1 guixbuild enewuser guixbuilder10 -1 -1 -1 guixbuild } src_configure() { econf } #following 3 added later src_prepare() { default eautoreconf elibtoolize } src_compile() { default } src_test() { emake check } src_install() { emake install DESTDIR=3D"${D}" #insinto /etc/init.d #"${FILESDIR}"/guix newinitd "${FILESDIR}"/guix guix keepdir /run/guix fowners :guixbuild /run/guix } #FIXME: Merge OpenRC startup file into guix master #FIXME: Either Shepperd on Gentoo or Shepperd to OpenRC import. pkg_preinst() { enewgroup guixbuild enewuser guixbuilder01 -1 /sbin/nologin "/var/empty" guixbuild enewuser guixbuilder02 -1 /sbin/nologin "/var/empty" guixbuild enewuser guixbuilder03 -1 /sbin/nologin "/var/empty" guixbuild enewuser guixbuilder04 -1 /sbin/nologin "/var/empty" guixbuild enewuser guixbuilder05 -1 /sbin/nologin "/var/empty" guixbuild enewuser guixbuilder06 -1 /sbin/nologin "/var/empty" guixbuild enewuser guixbuilder07 -1 /sbin/nologin "/var/empty" guixbuild enewuser guixbuilder08 -1 /sbin/nologin "/var/empty" guixbuild enewuser guixbuilder09 -1 /sbin/nologin "/var/empty" guixbuild enewuser guixbuilder10 -1 /sbin/nologin "/var/empty" guixbuild } # To use substitutes from hydra.gnu.org or one of its mirrors (see Substitu= tes), authorize them: # guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.p= ub # (or on gentoo??: /usr/share/guix/hydra.gnu.org.pub) pkg_postinst() { einfo "Warning, this is a test package, thanks for participating" einfo "in trying to get a functional Guix package manager into" einfo "gentoo. please provide us with logs and ideas." einfo "You have to run the following to enable substitutes from" einfo "hydra.gnu.org or one of its mirrors:" einfo "guix archive --authorize < /usr/share/guix/hydra.gnu.org.pub" einfo "you can test functionality with:" einfo "guix pull ; guix package -i hello" } This is the service file used (witness how terrible wrong a work in progres= s service can be, I actually use killall guix-daemon instead of the openrc stop.. but that's = not the problem here): #!/sbin/openrc-run # Copyright 2016 the youbroketheinternet-overlay team # Distributed under the terms of the GNU General Public License v2 or later PIDFILE=3D/var/run/guix/guix-daemon.pid GRACEFUL_TIMEOUT=3D${GRACEFUL_TIMEOUT:-60} #extra_commands=3D"checkconfig" description=3D"The GNU Guix Daemon" depend() { need net } #SUID_ROOT_HELPERS=3D"guix guix-daemon" # #chmodown_execbin() { # if [ -x $1 ]; then # if [ "$3" ]; then # chown $3 $1 2>/dev/null && chmod $2 $1 # else # chmod $2 $1 # fi # fi #} # #checkconfig() { # for helper in $SUID_ROOT_HELPERS; do # chmodown_execbin ${libexec} start() { checkpath -d -m 0755 -o :guixbuild /var/run/guix ebegin "Starting Guix" start-stop-daemon --start --pidfile "${PIDFILE}" --quiet --exec /us= r/bin/guix-daemon -- --build-users-group=3Dguixbuild --listen=3D/var/lib/gu= ix/daemon-socket/socket > /dev/null 2>&1 eend $? } #start() { # local piddir=3D$(dirname ${PIDFILE}) # if [ ! -d ${piddir} ] ; then # ebegin "Making ${piddir}" # eend $? # ebegin "Changing permissions of ${piddir}" # chown :guixbuild ${piddir} # eend $? # fi # # ebegin "Starting ${SVCNAME}" # start-stop-daemon --start --name guix-daemon --pidfile ${PIDFILE} \ # --exec /usr/bin/guix-daemon -- --debug --build-users-group= =3Dguixbuild # eend $? #} stop() { ebegin "Stopping Guix" #start-stop-daemon --stop --pidfile "${PIDFILE}" --exec /usr/bin/gui= x-daemon start-stop-daemon --stop --signal QUIT --pidfile "${PIDFILE}" sleep 1 killall guix-daemon sleep 1 eend $? } #stop() { # ebegin "Stopping ${SVCNAME}" # start-stop-daemon --stop --signal QUIT --pidfile ${PIDFILE} # sleep 1 # killall guix-daemon # sleep 1 # eend $? #} #[Unit] #Description=3DBuild daemon for GNU Guix # #[Service] #ExecStart=3D/usr/bin/guix-daemon --build-users-group=3Dguixbuild #RemainAfterExit=3Dyes #StandardOutput=3Dsyslog #StandardError=3Dsyslog # #[Install] #WantedBy=3Dmulti-user.target This is my .zpath which gets sourced by zsh: ng0@khazad-dum:~$ cat .zpath XSESSION=3D"awesome" export PATH=3D$PATH:~/src/n0.is/scripts:~/src/i3lock-fancy:/home/ng0/.guix-= profile/bin export TERMINFO_DIRS=3D"/home/ng0/.guix-profile/share/terminfo" export INFOPATH=3D"$INFOPATH:/home/ng0/.guix-profile/share/info" export ZATHURA_PLUGIN_PATH=3D"/home/ng0/.guix-profile/lib/zathura" #export GUIX_LOCPATH=3D"/home/ng0/.guix-profile/lib/locale" export GUIX_LOCPATH=3D$HOME/.guix-profile/lib/locale #export GUIX_PACKAGE_PATH=3D"/home/ng0/src/n0.is/my-guix/" export GUIX_PACKAGE_PATH=3D"/home/ng0/src/n0.is/youbroketheinternet-guix/" export GUILE_LOAD_PATH=3D"/home/ng0/.guix-profile/share/guile/site/2.0/" guix package -l of this generation: Generation 61 Jun 16 2016 20:34:51 (current) dmenu 4.5 out /gnu/store/gwcymlv09dxkyxjly0l3n3j1vapbslwv-dmenu-4= =2E5 bbdb 3.1.2 out /gnu/store/xkllqrqmw5y1raa2qb5c2s9d56a9k493-bbdb-3.= 1.2 xdg-utils 1.0.2 out /gnu/store/zs9wbl306q05y5a3gw67i2915xmb9vii= -xdg-utils-1.0.2 tmux 2.2 out /gnu/store/awddlvv0m52d8pdx10fls8w5zjdcjv13-tmux-2.2 gs-fonts 8.11 out /gnu/store/7v3093adf31b2sg2c46y3z2m24x2cjmi= -gs-fonts-8.11 font-un 1.0.2-080608 out /gnu/store/0zpbhdb4262dshfn6dxg0wn2= gpqh27r9-font-un-1.0.2-080608 font-gnu-unifont 8.0.01 out /gnu/store/nwfgdild6l64fwkyf67r91wd= nzgrw699-font-gnu-unifont-8.0.01 aspell-dict-en 2016.01.19-0 out /gnu/store/gv7pdi3qnkwkxx3c= lk221zzf40ayx478-aspell-dict-en-2016.01.19-0 aspell-dict-es 1.11-2 out /gnu/store/w6g8lzmm06xxkf9d8v1ia0i0= dpk682sb-aspell-dict-es-1.11-2 aspell-dict-fr 0.50-3 out /gnu/store/ic19dn7bdc5fhpc714kamf98= cqr4gkvq-aspell-dict-fr-0.50-3 aspell 0.60.6.1 out /gnu/store/nap51bp7filrnlc3cb4qg1hm= 787v9lq7-aspell-0.60.6.1 emacs-markdown-mode 2.1 out /gnu/store/fv25hfsp7g59pkn12wp1gl62= cl0lj5cy-emacs-markdown-mode-2.1 font-hack 2.020 out /gnu/store/vn792942qyshzrhn04y4x4n8kikli535= -font-hack-2.020 chess 6.2.2 out /gnu/store/91p5sqf2j8rsx3nzjkkhllr0xxlj5lxd-chess-6= =2E2.2 xterm 322 out /gnu/store/4ddygf05z4fn8g1rkwgkbchpdb0514z0-xterm-3= 22 font-terminus 4.40 out /gnu/store/0rhjk9j7hgwwl8m9zhk6vj7q6m32vmc6= -font-terminus-4.40 luit 1.1.1 out /gnu/store/gcyqbs3c4qhi58jxvw3f3yc8agpc05ka-luit-1.= 1.1 font-dejavu 2.34 out /gnu/store/a76pp12hp9y9sczzkajzdy73jljpibmk= -font-dejavu-2.34 font-liberation 2.00.1 out /gnu/store/4155q9bapgj0alkxrd4mpmpv= qrclv7hw-font-liberation-2.00.1 font-gnu-freefont-ttf 20120503 out /gnu/store/5p87ii0g47c6ldil= nnx0jwaaw3kcs74d-font-gnu-freefont-ttf-20120503 font-google-noto 20150929 out /gnu/store/xx1y7p6n4f0wwl52= 12l8binvhzshgliv-font-google-noto-20150929 graphviz 2.38.0 out /gnu/store/n0q0qhpspm4j3ifdjx19c4c1pkafzh67= -graphviz-2.38.0 guile-json 0.5.0 out /gnu/store/yks3czzrdd350y8v4h0qd7mxhhhgikiy= -guile-json-0.5.0 htop 2.0.1 out /gnu/store/g3hd9s0wc6nllvp5bbych9cyb5ri8r45-htop-2.= 0.1 setxkbmap 1.3.1 out /gnu/store/6xqxz63mbihw32cqyppnia7k24lgz3xm= -setxkbmap-1.3.1 emacs-lua-mode 20151025 out /gnu/store/py9wbgc16gjzx7ki= j24xkyqkc4r4ldbn-emacs-lua-mode-20151025 emacs-ebuild-mode 1.30 out /gnu/store/kyw5fcizvgfxx8by06y56c4a= jp0r81qg-emacs-ebuild-mode-1.30 mutt 1.6.1 out /gnu/store/plmr6ia9jf5qx44iwixjaiw15yapg5wv-mutt-1.= 6.1 mpv 0.17.0 out /gnu/store/p72hww1vv9d41vb7w4mmq4m4jbpwdqf8-mpv-0.1= 7.0 getmail 4.48.0 out /gnu/store/zsi3klgyh5fp8hrw3g617q208cnlh6xl= -getmail-4.48.0 emacs 24.5 out /gnu/store/82gacqn8igi3c9zsn6m58j93c8w2kp2b-emacs-2= 4.5 zathura 0.3.3 out /gnu/store/m719g6iixnivz6nrpsc3jm28296gh3x9= -zathura-0.3.3 zathura-cb 0.1.4 out /gnu/store/9j81s09cifixmdrk1yvvp5n2m2kad2hk= -zathura-cb-0.1.4 zathura-pdf-poppler 0.2.5 out /gnu/store/wzsj8pnj741pdq94fbhlf4vx= 0qfsd891-zathura-pdf-poppler-0.2.5 rxvt-unicode 9.21 out /gnu/store/3gjg3f45jad8wl7k8fp9652j4qyigsgr= -rxvt-unicode-9.21 shared-mime-info 1.6 out /gnu/store/b144wfsbswhxjwsx5mdy8rcm= 4xz7c01s-shared-mime-info-1.6 st 0.6 out /gnu/store/50ndsjr41l3184vjqv48a3r2rx9484r3-st-0.6 feh 2.14.1 out /gnu/store/aljvis7cvhjh0knrws3yyyw8ylhkni6f-feh-2.1= 4.1 weechat 1.5 out /gnu/store/21w13gzc1wi00bw8lkcazlbsj72fkl4x= -weechat-1.5 parallel 20160522 out /gnu/store/8fljbj6ld272idpklrir2g12= 1rzl8fa0-parallel-20160522 milkytracker 0.90.86 out /gnu/store/6gpwrjjhr340cz4ysnlnzkn86gwzygwj= -milkytracker-0.90.86 python-unidecode 0.04.18 out /gnu/store/ka834c0kskakibf5ykf481fx= 2k1al95d-python-unidecode-0.04.18 magit 2.7.0 out /gnu/store/zf04f4fg6vdhp54278b8xhx1my156w7x-magit-2= =2E7.0 xscreensaver 5.34 out /gnu/store/9m53k9jacqvb89fdfa48mi79xk8mklfi= -xscreensaver-5.34 powwow 1.2.17 out /gnu/store/7dc0ifa0gl7x926w17z2v6qrlz7d08g3= -powwow-1.2.17 glibc-locales 2.22 out /gnu/store/dcqdfyal290awy1lwb6sxzs8sg0wr99h= -glibc-locales-2.22 On the testing machine with the problem, the host uses this customized loca= le, which is unproblematic on the host. ng0@khazad-dum:~$ cat /etc/env.d/02locale LANG=3D"en_US.utf8" LC_COLLATE=3D"C" LC_CTYPE=3D"de_DE.utf8" LC_MESSAGES=3D"en_US.utf8" LC_MONETARY=3D"de_DE.utf8" LC_NUMERIC=3D"de_DE.utf8" LC_TIME=3D"en_DK.utf8" LC_PAPER=3D"de_DE.utf8" LC_NAME=3D"de_DE.utf8" LC_ADDRESS=3D"de_DE.utf8" LC_TELEPHONE=3D"de_DE.utf8" LC_MEASUREMENT=3D"de_DE.utf8" LC_IDENTIFICATION=3D"de_DE.utf8" LANGUAGE=3D"en_US.utf8" Now let's c&p something from weechat, directly after starting it with `weec= hat`: Highlight Monitortting locale failed. perl: warning: Please check that your = locale settings: = LANGUAGE =3D "en_US.utf8", = LC_ALL =3D (unset), = = LC_PAPER =3D "de_DE.utf8", = = LC_ADDRESS =3D "de_DE.utf8", [perl] 2:highmon = = LC_MONETARY = =3D "de_DE.utf8", --------------------------------------------------------------------= ---------------------------------------------------------------------------= --------------------------------------------------------------WeeChat 1.5 (= C) 2003-2016 - https://weechat.org/ LC_TELEPHONE =3D "de_DE.= utf8", WeeChat 1.5 [compiled on Jun 9 2016 15:46:12] = LC_MESSAGES =3D "en_US.utf8", - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = LC_COLLATE =3D "C", =3D!=3D Warning: cannot set the locale; make sure $LANG and $LC_* variables= are correct = LC_IDENTIFICATION =3D "de_DE.utf8", aspell: warning: dictionary "en" is not available on your system = = LC_MEASUREMENT =3D "de_DE.aspell:= warning: dictionary "en" is not available on your system aspell: warning: dictionary "en" is not available on your system aspell: warning: dictionary "en" is not available on your system8", aspell: warning: dictionary "en" is not available on your system LC_= NAME =3D "de_DE.utf8", python: stdout/stderr: Traceback (most recent call last): = LANG =3D "en_US.utf8" python: stdout/stderr: File "/home/ng0/.weechat/python/autoload/autos= ort.py", line 50, in are supported and installed on = your system. python: stdout/stderr: import json = = perl: warning: Falling back to the standard locale ("Cpython: s= tdout/stderr: File "/usr/lib/python2.7/json/__init__.py", line 108, in python: stdout/stderr: from .decoder import JSONDecoder python: stdout/stderr: File "/usr/lib/python2.7/json/decoder.py", lin= e 5, in python: stdout/stderr: import struct python: stdout/stderr: File "/usr/lib/python2.7/struct.py", line 1, i= n python: stdout/stderr: from _struct import * python: stdout/stderr: ImportError: /usr/lib/python2.7/lib-dynload/_str= uct.so: undefined symbol: PyUnicodeUCS4_AsEncodedString =3D!=3D python: unable to parse file "/home/ng0/.weechat/python/autoload/au= tosort.py" python scripts loaded: autojoin_on_invite, autosavekey, colorize_nicks,= completion, go, server_autoswitch perl scripts loaded: highmon, iset, nickregain, parse_relayed_msg, unse= t_unused script: 309 scripts for WeeChat 1.5 Plugins loaded: alias, aspell, charset, exec, fifo, guile, irc, logger,= lua, perl, python, relay, script, tcl, trigger, xfer =3D!=3D aspell: error: No word lists can be found for the language "en". =3D!=3D aspell: error: No word lists can be found for the language "de". =3D!=3D aspell: error: No word lists can be found for the language "en". =3D!=3D aspell: error: No word lists can be found for the language "de". Other applications behave similary ... eg: powwow just terminates itself on= any unexpected characters, contraty to the powwow ebuild I wrote and its behavior on guixsd. Thanks for reading until this point and maybe helping me to fix the problem. I can try to provide further output, like from running the guix-daemon with --verbose. -- =E2=99=A5=E2=92=B6 ng0 For non-prism friendly talk find me on psyced.org / loupsycedyglgamf.onion --tThc/1wpZn/ma/RB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- iF0EARYKAAYFAldj03UACgkQhhoAchyzrCDX+gDzB4uHjh5h25A4+hDYUy0rcBk5 w8QpSwBcZKLaGxFMTQEA59CUzQSvFNPwfH44G1e/Gggvf1S2t2euvdLLzuXuOQA= =iewC -----END PGP SIGNATURE----- --tThc/1wpZn/ma/RB--