GNUstep applications - e.g. "defaults" from gnustep-base-1.10.2_pre20050106 - seem to be broken, in that they keep looking for config files in "./~" rather than interpreting "~" as $HOME. e.g. with a "$HOME/.GNUstep/Defaults" directory in place, running "defaults" results in: $ ls $ defaults read 2005-01-12 22:40:39.000 defaults[9930] Defaults home '~/.GNUstep' did not exist - created it 2005-01-12 22:40:39.000 defaults[9930] Defaults path '~/.GNUstep/Defaults' did not exist - created it ... $ ls ~ $ ... so a directory literally named "~" is always created. Either the gnustep-* builds are broken in this respect or, more likely, our use.local.desc gives the wrong information. This is with USE="layout-from-conf-file", and /etc/conf.d/gnustep.env reading: GNUSTEP_SYSTEM_ROOT=/usr/share/GNUstep/System GNUSTEP_LOCAL_ROOT=/usr/share/GNUstep/Local GNUSTEP_NETWORK_ROOT=/usr/share/GNUstep/Network GNUSTEP_USER_ROOT='~/.GNUstep' use.local.desc says: gnustep-base/gnustep-make:layout-from-conf-file - Layout GNUstep according to /e tc/conf.d/gnustep.env; GNUSTEP_SYSTEM_ROOT, GNUSTEP_LOCAL_ROOT, GNUSTEP_NETWORK_ ROOT, and GNUSTEP_USER_ROOT (use '~' or '~/whatever' -- SURROUNDED BY SINGLE QUO TES -- for the user root); the only required entry is GNUSTEP_SYSTEM_ROOT; GNUST EP_SYSTEM_ROOT must end with "System". Can someone with a greater understanding of the GNUstep applications advise on the correctness (or otherwise :) of this description?
Yes, please post output of: - `emerge info` - `emerge -pv gnustep-base` - `cat /etc/conf.d/gnustep.env` Thanks.
Sorry, you already have one of those ouputs, but the other stuff (especially `emerge info`, is definitely needed). thanks again :-)
I'm currently using the latest ~x86 gnustep-base package(s), but the problem also existed (at least) with the earlier _pre* packages too. I have gnustep-base/gnustep-make-1.10.1_pre20050106 installed currently. emerge info: Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r4 i686) ================================================================= System uname: 2.6.10-gentoo-r4 i686 Intel(R) Pentium(R) M processor 1700MHz Gentoo Base System version 1.4.16 distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.92.0.2-r1 Headers: sys-kernel/linux26-headers-2.6.8.1-r2 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium4 -mfpmath=sse -msse2 -fprefetch-loop-arrays -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/X11/xkb /etc/gconf /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -mfpmath=sse -msse2 -fprefetch-loop-arrays -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks fixpackages sandbox sfperms" GENTOO_MIRRORS=" http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/ http://www.ibiblio.org/pub/Linux/distributions/gentoo ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://gentoo.oregonstate.edu " MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/usr/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X Xaw3d a52 aalib accessibility acl acpi adns alsa arts audiofile avi bash-completion berkdb bitmap-fonts bluetooth bonobo caps cdr crypt cscope cups curl dedicated dga directfb divx4linux dv dvd dvdread eds encode esd ethereal evo f77 faac faad fam fastcgi fbcon fftw firebird flac flash foomaticdb fortran freetds freetype gb gcj gd gdbm ggi gif glut gnome gnomedb gnutls gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal howl icc-pgo imagemagick imap imlib informix innodb ipv6 jack java javamail javascript joystick jpeg junit kde kerberos krb4 ladcca lcms ldap libcaca libg++ libgda libwww lzo mad maildir mailwrapper makecheck matroska mbox mcal memlimit mikmod mmap mmx mng mono motif mozilla mpeg mpi mssql multislot mysql nas ncurses net network nls nntp nptl oci8 odbc oggvorbis openal opengl oss pam pcmcia pcre pdflib perl pic plotutils png pnp portaudio postgres ppds prelude python qdbm qt quicktime readline real samba sasl scanner sdl silc skey slang slp sndfile snmp socks5 speex spell sqlite sse ssl svg svga tcltk tcpd theora tiff truetype unicode usb v4l wmf wxwindows x86 xanim xface xim xinerama xml xml2 xmms xosd xprint xv xvid zeo zlib video_cards_radeon"
Any updates on this yet, guys?
Stuart - I have not been able to recreate this bug. However, if you create /etc/conf.d/gnustep.env with (only): GNUSTEP_SYSTEM_ROOT=/usr/share/GNUstep/System Local and Network will be created in the same directory as System, and the default GNUstep user is ~/GNUstep, however, not ~/.GNUstep. I'm mostly stumped -- in /etc/conf.d/gnustep.env, if you use single quotes, the variable should absolutely not expand, especially how it's being used. Is there any change your shell is doing something odd here? Any other info on your setup you think would help would be appreciated.
I think I should probably file a new bug for this one, but I'll continue here for now... I've just upgraded to the latest gnustep* releases. The problem is that neither the location of the binaries nor the libraries are added to PATH or LD_LIBRARY_PATH, meaning that the /usr/share/GNUstep/System/Tools/Gentoo/config-gnustep-base.sh script can't find the executable "defaults", and defaults can't find it's libraries in /usr/share/GNUstep/System/Library/Libraries/ix86/linux-gnu/gnu-gnu-gnu/ In /etc/env.d, I have: 10gnustep: GNUSTEP_SYSTEM_ROOT=/usr/share/GNUstep/System GNUSTEP_LOCAL_ROOT=/usr/share/GNUstep/Local GNUSTEP_NETWORK_ROOT=/usr/share/GNUstep/Network GNUSTEP_USER_ROOT='~/.GNUstep' 99gnustep: MANPATH="~/Library/Documentation/man:/usr/share/GNUstep/Local/Library/Documentation/man:/usr/share/GNUstep/Network/Library/Documentation/man:/usr/share/GNUstep/System/Library/Documentation/man" INFOPATH="~/Library/Documentation/info:/usr/share/GNUstep/Local/Library/Documentation/info:/usr/share/GNUstep/Network/Library/Documentation/info:/usr/share/GNUstep/System/Library/Documentation/info" INFODIR="~/Library/Documentation/info:/usr/share/GNUstep/Local/Library/Documentation/info:/usr/share/GNUstep/Network/Library/Documentation/info:/usr/share/GNUstep/System/Library/Documentation/info" (and I'm very suspicious of the paths in 99gnustep too). Shouldn't 99gnustep contain PATH and LDPATH values to allow these apps to "just work"? Currently installed packages: gnustep-base/mknfonts-0.5 gnustep-base/gnustep-base-1.10.2_pre20050312 gnustep-base/gnustep-gui-0.9.5_pre20050312 gnustep-base/gnustep-make-1.10.1_pre20050312 gnustep-base/gnustep-back-art-0.9.5_pre20050312 gnustep-base/gnustep-env-0.1.6 gnustep-base/gnustep-back-xlib-0.9.5_pre20050312 gnustep-libs/prefsmodule-1.1.1_pre20050315 gnustep-libs/artresources-0.1.2 gnustep-libs/smbkit-0.0.1_pre20050312 gnustep-libs/pdfkit-0.8-r4 gnustep-libs/pantomime-1.2.0_pre20050312 gnustep-apps/textedit-0.95_pre20050315 gnustep-apps/clipbook-0.6.0.7.0 gnustep-apps/gwnet-0.1.0.7.0 gnustep-apps/affiche-0.6.0-r2 gnustep-apps/addresses-0.4.6-r1 gnustep-apps/preferences-1.3.0_pre20050315 gnustep-apps/helpviewer-0.3-r1 gnustep-apps/terminal-0.9.5_pre20050110 gnustep-apps/aclock-0.2.3 gnustep-apps/gworkspace-0.7.0 gnustep-apps/gnumail-1.2.0_pre20050312 To address your last post (yes, I'll get to the point eventually ;) I realise that the default location for GNUstep files is $HOME/GNUstep - and that's fine. But if GNUstep can't be configured to use alternative locations, perhaps the "layout-from-conf-file" option should be removed? (Or, even better, fixed :) Cheers, Stuart
The good news, however, is that "defaults" now writes into /home/<user>/.GNUstep/Defaults/.GNUstepDefaults rather than creating a "~" directory, so that looks fixed! Just the (LD)PATH issue remaining, then...
Hrm -- it sounds like your not sourcing GNUstep.sh, most likely? I suggest adding some lines like: . /usr/share/GNUstep/System/Library/Makefiles/GNUstep.sh make_services to your ~/.bashrc. GNUstep.sh should set up your environment. The extra files in env.d is really just a matter of convenience so that `man` can still find man pages regardless of sourcing GNUstep.sh and the env being otherwise set up. I'll look into setting up something with profile.d at some point. Closing this bug, since the bug itself is fixed, but feel free to email me or gentoo-gnustep@gentoo.org (mailing list) for these other issues.