all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* GUIX_LOCPATH problems with guix on gentoo
@ 2016-06-17 10:39 ng0
  2016-06-17 18:40 ` ng0
  2016-06-18  7:45 ` Ricardo Wurmus
  0 siblings, 2 replies; 6+ messages in thread
From: ng0 @ 2016-06-17 10:39 UTC (permalink / raw)
  To: help-guix

[-- Attachment #1: Type: text/plain, Size: 17710 bytes --]

Hi,

in team effort and with my fixes we worked on guix on gentoo for a while now.

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.0.11
running for half a year now and to some degree (awful openrc init) have a fully
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 gentoo
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 ebuild:

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=5
inherit user eutils autotools

DESCRIPTION="The Guix Package Manager."
HOMEPAGE="https://www.gnu.org/s/guix"
SRC_URI="mirror://gnu-alpha/${PN}/${P}.tar.gz"
#RESTRICT="mirror"
RESTRICT="bincheck"

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~mips ~arm"
IUSE="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=">=dev-scheme/guile-2.0.11-r99[networking]
        dev-libs/libgcrypt
        >=dev-db/sqlite-3.0
        app-arch/bzip2
        sys-devel/gcc
        sys-devel/automake
        sys-devel/gettext
        >=net-libs/gnutls-3.3.22-r2[guile]"
RDEPEND="${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="${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 Substitutes), authorize them:
# guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub
# (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 progress 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=/var/run/guix/guix-daemon.pid
GRACEFUL_TIMEOUT=${GRACEFUL_TIMEOUT:-60}
#extra_commands="checkconfig"
description="The GNU Guix Daemon"

depend() {
        need net
}

#SUID_ROOT_HELPERS="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 /usr/bin/guix-daemon -- --build-users-group=guixbuild --listen=/var/lib/guix/daemon-socket/socket > /dev/null 2>&1
        eend $?
}

#start() {
#       local piddir=$(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=guixbuild
#       eend $?
#}

stop() {
       ebegin "Stopping Guix"
       #start-stop-daemon --stop --pidfile "${PIDFILE}" --exec /usr/bin/guix-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=Build daemon for GNU Guix
#
#[Service]
#ExecStart=/usr/bin/guix-daemon --build-users-group=guixbuild
#RemainAfterExit=yes
#StandardOutput=syslog
#StandardError=syslog
#
#[Install]
#WantedBy=multi-user.target



This is my .zpath which gets sourced by zsh:
ng0@khazad-dum:~$ cat .zpath
XSESSION="awesome"

export PATH=$PATH:~/src/n0.is/scripts:~/src/i3lock-fancy:/home/ng0/.guix-profile/bin
export TERMINFO_DIRS="/home/ng0/.guix-profile/share/terminfo"
export INFOPATH="$INFOPATH:/home/ng0/.guix-profile/share/info"
export ZATHURA_PLUGIN_PATH="/home/ng0/.guix-profile/lib/zathura"
#export GUIX_LOCPATH="/home/ng0/.guix-profile/lib/locale"
export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
#export GUIX_PACKAGE_PATH="/home/ng0/src/n0.is/my-guix/"
export GUIX_PACKAGE_PATH="/home/ng0/src/n0.is/youbroketheinternet-guix/"
export GUILE_LOAD_PATH="/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.5
  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/0zpbhdb4262dshfn6dxg0wn2gpqh27r9-font-un-1.0.2-080608
  font-gnu-unifont      8.0.01  out     /gnu/store/nwfgdild6l64fwkyf67r91wdnzgrw699-font-gnu-unifont-8.0.01
  aspell-dict-en        2016.01.19-0    out     /gnu/store/gv7pdi3qnkwkxx3clk221zzf40ayx478-aspell-dict-en-2016.01.19-0
  aspell-dict-es        1.11-2  out     /gnu/store/w6g8lzmm06xxkf9d8v1ia0i0dpk682sb-aspell-dict-es-1.11-2
  aspell-dict-fr        0.50-3  out     /gnu/store/ic19dn7bdc5fhpc714kamf98cqr4gkvq-aspell-dict-fr-0.50-3
  aspell        0.60.6.1        out     /gnu/store/nap51bp7filrnlc3cb4qg1hm787v9lq7-aspell-0.60.6.1
  emacs-markdown-mode   2.1     out     /gnu/store/fv25hfsp7g59pkn12wp1gl62cl0lj5cy-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.2.2
  xterm 322     out     /gnu/store/4ddygf05z4fn8g1rkwgkbchpdb0514z0-xterm-322
  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/4155q9bapgj0alkxrd4mpmpvqrclv7hw-font-liberation-2.00.1
  font-gnu-freefont-ttf 20120503        out     /gnu/store/5p87ii0g47c6ldilnnx0jwaaw3kcs74d-font-gnu-freefont-ttf-20120503
  font-google-noto      20150929        out     /gnu/store/xx1y7p6n4f0wwl5212l8binvhzshgliv-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/py9wbgc16gjzx7kij24xkyqkc4r4ldbn-emacs-lua-mode-20151025
  emacs-ebuild-mode     1.30    out     /gnu/store/kyw5fcizvgfxx8by06y56c4ajp0r81qg-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.17.0
  getmail       4.48.0  out     /gnu/store/zsi3klgyh5fp8hrw3g617q208cnlh6xl-getmail-4.48.0
  emacs 24.5    out     /gnu/store/82gacqn8igi3c9zsn6m58j93c8w2kp2b-emacs-24.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/wzsj8pnj741pdq94fbhlf4vx0qfsd891-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/b144wfsbswhxjwsx5mdy8rcm4xz7c01s-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.14.1
  weechat       1.5     out     /gnu/store/21w13gzc1wi00bw8lkcazlbsj72fkl4x-weechat-1.5
  parallel      20160522        out     /gnu/store/8fljbj6ld272idpklrir2g121rzl8fa0-parallel-20160522
  milkytracker  0.90.86 out     /gnu/store/6gpwrjjhr340cz4ysnlnzkn86gwzygwj-milkytracker-0.90.86
  python-unidecode      0.04.18 out     /gnu/store/ka834c0kskakibf5ykf481fx2k1al95d-python-unidecode-0.04.18
  magit 2.7.0   out     /gnu/store/zf04f4fg6vdhp54278b8xhx1my156w7x-magit-2.7.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 locale, which is
unproblematic on the host.

ng0@khazad-dum:~$ cat /etc/env.d/02locale
LANG="en_US.utf8"
LC_COLLATE="C"
LC_CTYPE="de_DE.utf8"
LC_MESSAGES="en_US.utf8"
LC_MONETARY="de_DE.utf8"
LC_NUMERIC="de_DE.utf8"
LC_TIME="en_DK.utf8"
LC_PAPER="de_DE.utf8"
LC_NAME="de_DE.utf8"
LC_ADDRESS="de_DE.utf8"
LC_TELEPHONE="de_DE.utf8"
LC_MEASUREMENT="de_DE.utf8"
LC_IDENTIFICATION="de_DE.utf8"
LANGUAGE="en_US.utf8"

Now let's c&p something from weechat, directly after starting it with `weechat`:

Highlight Monitortting locale failed.
                                     perl: warning: Please check that your locale settings:
                                                                                                LANGUAGE = "en_US.utf8",
                                                                                                                                LC_ALL = (unset),
                                                                                                                                                        LC_PAPER = "de_DE.utf8",
                                                                                                                                                                                        LC_ADDRESS = "de_DE.utf8",
[perl] 2:highmon                                                                                                                                                                                                   LC_MONETARY = "de_DE.utf8",
       -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------WeeChat 1.5 (C) 2003-2016 - https://weechat.org/                LC_TELEPHONE = "de_DE.utf8",
    WeeChat 1.5 [compiled on Jun  9 2016 15:46:12]                                              LC_MESSAGES = "en_US.utf8",
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                                                             LC_COLLATE = "C",
=!= Warning: cannot set the locale; make sure $LANG and $LC_* variables are correct                                                                     LC_IDENTIFICATION = "de_DE.utf8",
    aspell: warning: dictionary "en" is not available on your system                                                                                                                            LC_MEASUREMENT = "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 = "de_DE.utf8",
    python: stdout/stderr: Traceback (most recent call last):                                   LANG = "en_US.utf8"
    python: stdout/stderr:   File "/home/ng0/.weechat/python/autoload/autosort.py", line 50, in <module>               are supported and installed on your system.
    python: stdout/stderr:     import json                                                                                                                        perl: warning: Falling back to the standard locale ("Cpython: stdout/stderr:   File "/usr/lib/python2.7/json/__init__.py", line 108, in <module>
    python: stdout/stderr:     from .decoder import JSONDecoder
    python: stdout/stderr:   File "/usr/lib/python2.7/json/decoder.py", line 5, in <module>
    python: stdout/stderr:     import struct
    python: stdout/stderr:   File "/usr/lib/python2.7/struct.py", line 1, in <module>
    python: stdout/stderr:     from _struct import *
    python: stdout/stderr: ImportError: /usr/lib/python2.7/lib-dynload/_struct.so: undefined symbol: PyUnicodeUCS4_AsEncodedString
=!= python: unable to parse file "/home/ng0/.weechat/python/autoload/autosort.py"
    python scripts loaded: autojoin_on_invite, autosavekey, colorize_nicks, completion, go, server_autoswitch
    perl scripts loaded: highmon, iset, nickregain, parse_relayed_msg, unset_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
=!= aspell: error: No word lists can be found for the language "en".
=!= aspell: error: No word lists can be found for the language "de".
=!= aspell: error: No word lists can be found for the language "en".
=!= 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.
--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GUIX_LOCPATH problems with guix on gentoo
  2016-06-17 10:39 GUIX_LOCPATH problems with guix on gentoo ng0
@ 2016-06-17 18:40 ` ng0
  2016-06-18  7:45 ` Ricardo Wurmus
  1 sibling, 0 replies; 6+ messages in thread
From: ng0 @ 2016-06-17 18:40 UTC (permalink / raw)
  To: help-guix

[-- Attachment #1: Type: text/plain, Size: 898 bytes --]

On 2016-06-17(10:39:50AM+0000), ng0 wrote:
--snipe-di-snap--

This is as an example the gtk of emacs, showing that "C" is used permanently.
I am in the process of switching that system to non-hardened to see if setting up guix
again will help - maybe the very unlikely case of something happened because of gentoo-hardened
influencing the first setup and the system guile etc and countless other factors changed "something".


khazad-dum ~ # emacs /etc/portage/make.conf

(process:7513): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

(emacs-24-5:7513): GLib-GIO-WARNING **: Can't find module 'dconf' specified in GSETTINGS_BACKEND
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with ot



--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GUIX_LOCPATH problems with guix on gentoo
  2016-06-17 10:39 GUIX_LOCPATH problems with guix on gentoo ng0
  2016-06-17 18:40 ` ng0
@ 2016-06-18  7:45 ` Ricardo Wurmus
  2016-06-18  8:32   ` ng0
  1 sibling, 1 reply; 6+ messages in thread
From: Ricardo Wurmus @ 2016-06-18  7:45 UTC (permalink / raw)
  To: ng0; +Cc: help-guix


Hi,

I found it very hard to read this email, because there are so many
non-essential things pasted in the body :-/

I hope I didn't miss anything important while I paged through your
email, but one thing stood out to:

ng0 <ng0@we.make.ritual.n0.is> writes:

>     python: stdout/stderr:     import json                                                                                                                        perl: warning: Falling back to the standard locale ("Cpython: stdout/stderr:   File "/usr/lib/python2.7/json/__init__.py", line 108, in <module>
>     python: stdout/stderr:     from .decoder import JSONDecoder
>     python: stdout/stderr:   File "/usr/lib/python2.7/json/decoder.py", line 5, in <module>
>     python: stdout/stderr:     import struct
>     python: stdout/stderr:   File "/usr/lib/python2.7/struct.py", line 1, in <module>
>     python: stdout/stderr:     from _struct import *
>     python: stdout/stderr: ImportError: /usr/lib/python2.7/lib-dynload/_struct.so: undefined symbol: PyUnicode

That's not okay.  You cannot mix Python from your system with Python
from Guix.  Do you have system stuff on your PYTHONPATH?  Do you have
LD_LIBRARY_PATH set?  Guix packages should never use system libraries.

~~ Ricardo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GUIX_LOCPATH problems with guix on gentoo
  2016-06-18  7:45 ` Ricardo Wurmus
@ 2016-06-18  8:32   ` ng0
  2016-06-18  9:17     ` Ricardo Wurmus
  0 siblings, 1 reply; 6+ messages in thread
From: ng0 @ 2016-06-18  8:32 UTC (permalink / raw)
  To: help-guix

[-- Attachment #1: Type: text/plain, Size: 1952 bytes --]

On 2016-06-18(09:45:12+0200), Ricardo Wurmus wrote:
>
> Hi,
>
> I found it very hard to read this email, because there are so many
> non-essential things pasted in the body :-/

I wasn't sure what's useful information and what's not.

> I hope I didn't miss anything important while I paged through your
> email, but one thing stood out to:
>
> ng0 <ng0@we.make.ritual.n0.is> writes:
>
> >     python: stdout/stderr:     import json                                                                                                                        perl: warning: Falling back to the standard locale ("Cpython: stdout/stderr:   File "/usr/lib/python2.7/json/__init__.py", line 108, in <module>
> >     python: stdout/stderr:     from .decoder import JSONDecoder
> >     python: stdout/stderr:   File "/usr/lib/python2.7/json/decoder.py", line 5, in <module>
> >     python: stdout/stderr:     import struct
> >     python: stdout/stderr:   File "/usr/lib/python2.7/struct.py", line 1, in <module>
> >     python: stdout/stderr:     from _struct import *
> >     python: stdout/stderr: ImportError: /usr/lib/python2.7/lib-dynload/_struct.so: undefined symbol: PyUnicode
>
> That's not okay.  You cannot mix Python from your system with Python
> from Guix.  Do you have system stuff on your PYTHONPATH?  Do you have
> LD_LIBRARY_PATH set?  Guix packages should never use system libraries.
>
> ~~ Ricardo

In the beginning this was an experiment, to see if Guix
would run unaffected on a gentoo-hardened kernel.
I am switching back to a desktop/amd64 profile, will check if
things changed.

I would strip the host system from as much binaries as possible,
but I am not sure if this is possible without wasting my time
on this task.

Checking right now, LD_LIBRARY_PATH and PYTHONPATH are not set,
but LIBRARY_PATH is.

--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GUIX_LOCPATH problems with guix on gentoo
  2016-06-18  8:32   ` ng0
@ 2016-06-18  9:17     ` Ricardo Wurmus
  2016-06-18 18:30       ` ng0
  0 siblings, 1 reply; 6+ messages in thread
From: Ricardo Wurmus @ 2016-06-18  9:17 UTC (permalink / raw)
  To: ng0; +Cc: help-guix


ng0 <ng0@we.make.ritual.n0.is> writes:

> On 2016-06-18(09:45:12+0200), Ricardo Wurmus wrote:
>>
>> Hi,
>>
>> I found it very hard to read this email, because there are so many
>> non-essential things pasted in the body :-/
>
> I wasn't sure what's useful information and what's not.
>
>> I hope I didn't miss anything important while I paged through your
>> email, but one thing stood out to:
>>
>> ng0 <ng0@we.make.ritual.n0.is> writes:
>>
>> >     python: stdout/stderr:     import json                                                                                                                        perl: warning: Falling back to the standard locale ("Cpython: stdout/stderr:   File "/usr/lib/python2.7/json/__init__.py", line 108, in <module>
>> >     python: stdout/stderr:     from .decoder import JSONDecoder
>> >     python: stdout/stderr:   File "/usr/lib/python2.7/json/decoder.py", line 5, in <module>
>> >     python: stdout/stderr:     import struct
>> >     python: stdout/stderr:   File "/usr/lib/python2.7/struct.py", line 1, in <module>
>> >     python: stdout/stderr:     from _struct import *
>> >     python: stdout/stderr: ImportError: /usr/lib/python2.7/lib-dynload/_struct.so: undefined symbol: PyUnicode
>>
>> That's not okay.  You cannot mix Python from your system with Python
>> from Guix.  Do you have system stuff on your PYTHONPATH?  Do you have
>> LD_LIBRARY_PATH set?  Guix packages should never use system libraries.
>>
>> ~~ Ricardo
>
> In the beginning this was an experiment, to see if Guix
> would run unaffected on a gentoo-hardened kernel.
> I am switching back to a desktop/amd64 profile, will check if
> things changed.

The problem above is unrelated to the kernel.  For some reason libraries
from /usr/lib are used.  If this really is a Guix package then that’s
wrong.

> Checking right now, LD_LIBRARY_PATH and PYTHONPATH are not set,
> but LIBRARY_PATH is.

LIBRARY_PATH is harmless and only used at compile time.

~~ Ricardo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GUIX_LOCPATH problems with guix on gentoo
  2016-06-18  9:17     ` Ricardo Wurmus
@ 2016-06-18 18:30       ` ng0
  0 siblings, 0 replies; 6+ messages in thread
From: ng0 @ 2016-06-18 18:30 UTC (permalink / raw)
  To: help-guix

[-- Attachment #1: Type: text/plain, Size: 4369 bytes --]

On 2016-06-18(11:17:49+0200), Ricardo Wurmus wrote:
>
> ng0 <ng0@we.make.ritual.n0.is> writes:
>
> > On 2016-06-18(09:45:12+0200), Ricardo Wurmus wrote:
> >>
> >> Hi,
> >>
> >> I found it very hard to read this email, because there are so many
> >> non-essential things pasted in the body :-/
> >
> > I wasn't sure what's useful information and what's not.
> >
> >> I hope I didn't miss anything important while I paged through your
> >> email, but one thing stood out to:
> >>
> >> ng0 <ng0@we.make.ritual.n0.is> writes:
> >>
> >> >     python: stdout/stderr:     import json                                                                                                                        perl: warning: Falling back to the standard locale ("Cpython: stdout/stderr:   File "/usr/lib/python2.7/json/__init__.py", line 108, in <module>
> >> >     python: stdout/stderr:     from .decoder import JSONDecoder
> >> >     python: stdout/stderr:   File "/usr/lib/python2.7/json/decoder.py", line 5, in <module>
> >> >     python: stdout/stderr:     import struct
> >> >     python: stdout/stderr:   File "/usr/lib/python2.7/struct.py", line 1, in <module>
> >> >     python: stdout/stderr:     from _struct import *
> >> >     python: stdout/stderr: ImportError: /usr/lib/python2.7/lib-dynload/_struct.so: undefined symbol: PyUnicode
> >>
> >> That's not okay.  You cannot mix Python from your system with Python
> >> from Guix.  Do you have system stuff on your PYTHONPATH?  Do you have
> >> LD_LIBRARY_PATH set?  Guix packages should never use system libraries.
> >>
> >> ~~ Ricardo
> >
> > In the beginning this was an experiment, to see if Guix
> > would run unaffected on a gentoo-hardened kernel.
> > I am switching back to a desktop/amd64 profile, will check if
> > things changed.
>
> The problem above is unrelated to the kernel.  For some reason libraries
> from /usr/lib are used.  If this really is a Guix package then that’s
> wrong.

The profile isn't just the kernel, and in the case of gentoo-hardened
for me gentoo-hardened described an GrSec profile "desktop" (included
in the specific kernel the hardened team maintains) and its runtime
settings, functionalities and boundaries, also the hardened gcc which
applies what's described on the project page.

It might be that the fault is somewhere else, but the only time I ran
guix on top of another system was on a debian server after the initial
system setup.

I did some further tests this morning, when I removed $PATH from my
.zpath, guix disappeared (naturally) and it did not solve the problem
with for example weechat, which resolved a bit more with PYTHONPATH
in .zpath after python (3, and also tested with 2) was installed
(content:
XSESSION="awesome"

export PATH=$PATH:~/src/n0.is/scripts:~/src/i3lock-fancy:/home/ng0/.guix-profile/bin:/home/ng0/.guix-profile/sbin
#export PATH=~/src/n0.is/scripts:~/src/i3lock-fancy:/home/ng0/.guix-profile/bin:/home/ng0/.guix-profile/sbin
export TERMINFO_DIRS="/home/ng0/.guix-profile/share/terminfo"
export INFOPATH="$INFOPATH:/home/ng0/.guix-profile/share/info"
export ZATHURA_PLUGIN_PATH="/home/ng0/.guix-profile/lib/zathura"
#export GUIX_LOCPATH="/home/ng0/.guix-profile/lib/locale"
export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
#export GUIX_PACKAGE_PATH="/home/ng0/src/n0.is/my-guix/"
export GUIX_PACKAGE_PATH="/home/ng0/src/n0.is/youbroketheinternet-guix/"
export GUILE_LOAD_PATH="/home/ng0/.guix-profile/share/guile/site/2.0/"
export C_INCLUDE_PATH="/home/ng0/.guix-profile/include"
export CPLUS_INCLUDE_PATH="/home/ng0/.guix-profile/include"
export LIBRARY_PATH="/home/ng0/.guix-profile/lib"
export PYTHONPATH="/home/ng0/.guix-profile/lib/python3.4/site-packages"
export PERL5LIB="/home/ng0/.guix-profile/lib/perl5/site_perl")

> > Checking right now, LD_LIBRARY_PATH and PYTHONPATH are not set,
> > but LIBRARY_PATH is.
>
> LIBRARY_PATH is harmless and only used at compile time.
>
> ~~ Ricardo
>

If it's of any use, I can also show you how the files are structured post-setup
in gentoo, but I think this really shouldn't affect runtime functionality as
the base guix just works. It's just the locale and certain keys on the keyboard
which are problematic.

--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-06-18 18:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-17 10:39 GUIX_LOCPATH problems with guix on gentoo ng0
2016-06-17 18:40 ` ng0
2016-06-18  7:45 ` Ricardo Wurmus
2016-06-18  8:32   ` ng0
2016-06-18  9:17     ` Ricardo Wurmus
2016-06-18 18:30       ` ng0

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.