delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2020/12/19/14:16:11

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=content-transfer-encoding:content-type
:date:from:in-reply-to:message-id:mime-version:references
:reply-to:subject:to:x-me-proxy:x-me-proxy:x-me-sender
:x-me-sender:x-sasl-enc; s=fm1; bh=ZSz4r6rxmwg9q0TEBGYP6YmRmsp92
by7IDHCa0nnyWU=; b=ijZt1oyF6nhJ0K9dwlFEkOO7tr5SFlG7sM3E55fINlR7x
3wnPlgBO8MQnVHc2grl7eBDW/E2857yAe3Of+HuH31U0f7k0NsT1st9pawemHS/H
N3eQWDYWeagWdIs3AVG08dPpjaJrFctucUC7DB+p1V9atgwTAqzzRoCYFAntCiHc
yx+VfD412/JWIwwtSF8ETCAZ3EDQUYC07LSP/kUyDhEiH0N6P8lBt8a5BDVPKOit
WEjbETyHfJjKzD6DYI4gfDuvabPmYzi0uNckUufb/eNOOyvDU2k8MqY/vIT+EFEw
pIV4KVccchtegZYZZ1Wi38H6U6GSMftmdy5g73EdA==
X-ME-Sender: <xms:90zeXyDA70PMMncAUOIMVioLOMTRc6EdEIYvSEeQ6wElpSQHO-lArA>
<xme:90zeX8ipJ3mhLiQ75Eq2ut1vQ2fw0w_eH6FYPnpJbkYVHK2gVwan1_Q5fAHsM4xz6
M7smZ4-3ErH_vDA1g>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrudelkedguddvvdcutefuodetggdotefrod
ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
necuuegrihhlohhuthemuceftddtnecunecujfgurheprhfuvfhfhffkffgfgggjtgfgse
htjeertddtfeejnecuhfhrohhmpefiihhrvhhinhcujfgvrhhruceoghhhvghrrhhlsehf
rghsthhmrghilhdrtghomheqnecuggftrfgrthhtvghrnhepvdduleffgfduudeiveevle
eikeevteeigffhhedvhfejvdffjeeiieelffejhfdvnecukfhppedutdekrddvudehrddu
leehrddvtdehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh
homhepghhhvghrrhhlsehfrghsthhmrghilhdrtghomh
X-ME-Proxy: <xmx:90zeX1lSLSRE68sugJT3EXnoocfLHcAaXlwavu2wMcDUAGqiitzTXQ>
<xmx:90zeXwxyN3whACAXOTHp8bv-UoBJzyQ_jh3j3lA9LDTM2fHECcADQw>
<xmx:90zeX3QbZnuiPv-o0vBeNDCbLVqxep_6z_g0-R4cLlp19eA9S7hgdw>
<xmx:-EzeX-cOLNtWZYKYvkYWHaPbbmyWLk5Vie70dkDdzHxUr3pxboZGig>
Subject: Re: [geda-user] Problem with Guile 2.2.4 dependency for gEDA 1.10.1.
To: geda-user AT delorie DOT com
References: <f5ab1b6f-dbf3-4be3-a43f-eb74b32b7a51 AT fastmail DOT com>
<ae7dca70-44c9-d905-498e-e7768a279af7 AT epilitimus DOT com>
<83d2a9f4-89a5-cf7b-4c94-738e14327057 AT fastmail DOT com>
<20201219061954 DOT 15874 DOT qmail AT stuge DOT se>
From: "Girvin Herr (gherrl AT fastmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
Message-ID: <dbc1ab4e-66e0-cfce-3bf4-0de3cf69514d@fastmail.com>
Date: Sat, 19 Dec 2020 10:54:47 -0800
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:68.0) Gecko/20100101
Thunderbird/68.12.0
MIME-Version: 1.0
In-Reply-To: <20201219061954.15874.qmail@stuge.se>
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On 12/18/20 10:19 PM, Peter Stuge (peter AT stuge DOT se) [via 
geda-user AT delorie DOT com] wrote:
> Girvin Herr (gherrl AT fastmail DOT com) [via geda-user AT delorie DOT com] wrote:
>> That is what I was afraid of. I have installed "current" Slack packages
>> in the past with the latest released version with mixed results. It
>> looks like gEDA is frozen for me at 1.10.0 until the "current" Slack is
>> released.
> You don't have to settle for that; it's perfectly possible to install
> different versions of most packages (in particular all relevant for 1.10.1)
> to a new directory, where they do not interact with distribution packages.
>
> Only a few distributions offer tooling to automate (some of) the process
> and Slackware is not one of them, so it takes some work, but if you have
> the time and are curious I highly recommend giving it a go!
>
> The alternative to revert that one commit is fewer steps, but may need/yield
> more development skill. Installing other packages is more work, but
> needs/yields more system integration/administration skill.
>
> So this is my general recipe for installing packages like that.
>
> I'd recommend creating a new user when doing this exercise the first time.
> Everything is done as that user. Nothing needs to be run as root or with sudo,
> yet the finished result will still be runnable by your existing user.
>
> Let's say the user is called builder. Create and log in as the user.
>
> The packages will be installed into the directory inst/ under the
> home directory of the builder user.
>
> In order for the build process for later packages to find "earlier"
> dependencies run this on every login: (automate by adding it e.g. to .profile)
>
> export PKG_CONFIG_PATH="${HOME}/inst/lib/pkgconfig"
> export PATH="${PATH}:${HOME}/inst/bin"
>
> Then download source tarballs and unpack in the home dir as needed.
> Why not start with guile-2.2.4.tar.gz. Unpack it, then run:
>
> cd guile-2.2.4
> ./configure --prefix=$HOME/inst
>
> # so then configure probably complains about some missing dependency. Download
> # that tarball and unpack in the home directory, cd in, then run the same above
> # configure command, and then:
>
> make install # note! do not use sudo and do not run as root!
>
> This installs into the inst/ subdirectory of the builder home dir.
>
> Iterate until all dependencies are installed. I guess it'll be some 10
> packages, so you'll get good practice. gEDA can also be built this way.
>
> As long as packages use pkg-config to find their dependencies (I think
> all the relevant ones do) and your PKG_CONFIG_PATH environment variable
> is set correctly this will work very well.
>
> Once you're done, back as your normal user, run this:
>
> export PATH="/home/builder/inst/bin:${PATH}"
>
> ..and then you'll be able to run whatever was built and installed into
> that inst/ directory as the builder user but from your ordinary user.
>
> Since the exercise is completely contained in the new user's home directory
> (because nothing ever runs using sudo nor as root) you can start over at any
> time by deleting and re-creating the user or just the home dir.
>
>
> It is not insignificant effort, but it's completely doable and especially
> if you want to get something done and not stay blocked by someone else,
> who may have limited time to work on the distribution you use, this is
> a useful method.
>
> It does get annoying as the dependency tree grows however, and at
> that point it may be worth considering to just consume a more up-to-date
> distribution and/or its tooling within a chroot - a very different approach
> to the above.
>
> If anyone wants more documentation about what this actually does I
> think the Linux From Scratch documentation is the best I can suggest.
>
>
> Kind regards
>
> //Peter

Peter,

Wow! That is a good tutorial. Thanks. I will try it if the patch Roland 
"published" will not work for some reason.

I already have a bare-bones "tester" user I can use for this. Also, 
since guile 2.0 is located in the standard Slack /usr location, 
/usr/local is virtually empty, so it should be a good candidate location 
for the guile 2.2.x package so it doesn't interfere with the 2.0.11 
package. I have a lot of experience building dependencies and I can 
check where the files in the package will be going, so clobbering should 
not happen unless it does something nasty at runtime. Also, I use my own 
Slackware BuildScripts, which allow building as user, not as root, in 
order to verify the package is not doing something ill-behaved. I always 
build in user mode first and if that passes, then I build and install 
the package as root. I have been bitten before by ill-behaved packages 
and since I started building in user mode first, I have not had to 
rebuild my system because the package reset the mode of everything in 
/usr to 400. That was fun!

As I told Roland, I must admit I have not tried to build 1.10.1 on my 
system. I should have tried that first, before assuming it would not 
build due to the dependency mis-match. I will try to get that done today.

Thanks Again.

Girvin


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019