| www.delorie.com/archives/browse.cgi | search |
| 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
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |