IRC channel logs

2023-03-22.log

back to list of logs

<daviid>dsmith: "... The Makefile code or the env code ..." yes, that is exactly what the patch fixes, among other things ... i suggest you read the patch commit log, apply and play with ... I don't think guile hard codes the libguile libpath neither, no one should ever do that 'upstream', this is [sometimes] a distro thing, guix does that, among other distros ... but upstream pakages should never hard code the location of a lib, 'private' or
<daviid>not doesn't matter, all lib should be installed in $prefix/lib/ - my 2c ... [and fwiw, i am against a 'by default' install libs in GUILE_EXTENSION_DIR, as well as i m against a 'by default' install in GUILE_SITE_DIR (which i didn't change in guile-cairo, but imo we should, just as i do in guile-cv, g-golf ...
<dsmith>daviid, So I elected to install the .so in the "extensions" dir. That's basically what it's there for.
<dsmith>$ pkg-config --variable=extensiondir guile-3.0
<daviid>dsmith: i understand, i am agasint it for an upstream gnu tool chined pkg, unless there is an option ...
<dsmith>Is: /usr/local/lib/guile/3.0/extensions
<dsmith>ok
<dsmith>Does "make distcheck" normally create a dir with 555 permissions? (r-xr-x-r-x)
<daviid>dsmith: iirc, only when it fails
<dsmith>Ahh
<daviid>then chmod -R u+rwx pkg-name.x.y.z; rm -rf pkg-name.x.y.z is the only way ... then git clean -dxf, fix the bug and try again ...
<daviid>carefull with 'git clean -dxf' though, you can make distclean as well ... as 'git clean -dxf' would delete files that are not pushed
<dsmith>Ok,so make distcheck works better when setting DESTDIR
<dsmith>As in DESTDIR=$(pwd)/foo make distcheck
<dsmith>Ya, `git clean -dxf` and I are old friends
<daviid>dsmith: i don't think so - this smells like a bug - look at guile-cairo cairo/Makefile.am and env.in files, then, in the local git repo: ./autogen.sh;/./configure;make distcheck should always work
<daviid>otherwise you have a bug somewhere
<dsmith>the distcheck is failing because it's attempting to write into /usr/local/*
<daviid>what pkg are you working on?
<daviid>write into /usr/local/* just makes no sense, make distcheck buildswrites in an isolate project subdir(s) as in guile-cairo-1.12.0/_builds/sub or something the like ...
<daviid>* builds/writes
<old>Not sure why, but open-pipe does not output error if current-output-port == current-error-port
<dsmith>daviid, My guile-sqlite package
<old>pipe with OPEN_WRITE
<dsmith>It's probably the way I'm setting GUILE_EXTENSION_DIR
<dsmith>Doesn't matter much. The only user is sneek.
<dsmith>daviid, Because you were working on guile-cairo, I thought I'd revisit what I had done with sqlite.
<daviid>dsmith: ok, but for the sake of learning, you should investigate, and GUILE_EXTENSION_DIR should only be used by make install, not by make check/make distcheck, fwiw ...
<daviid>*learning/improving ... though only if it really interest you ofc ..
<dsmith>daviid, Yes, def used by make install. Not by make check.
<dsmith>Hmm. These docs say it does do an intall, but to a temp dir: https://www.gnu.org/software/automake/manual/html_node/Checking-the-Distribution.html
<dsmith>Hmm. Looking at the generated Makefile, the distcheck target *does* set DESTDIR to DESTDIR="$$dc_destdir", which is dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/"
<dsmith>Make install does work properly with DESTDIR set by hand,.. Odd.
<dsmith>So that uses ${TMPDIR-/tmp} If TMPDIR is not set, use /tmp
<dsmith>IF you are using bash? /bin/sh is dash on my system
<dsmith>Changed to bash. Same. Odd.
<daviid>dsmith: I don't know how to answer those quiz, these are tool chain internals reallly - however, i'd say that dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" is definitely not /usr/local ... that make distcheck uses a 'private' /tmp/... maybe i do not know, but it shouldn't try to write in /usr/local ... for more on this, i suggest you ask in ##workingset or #autotools (though be prepared, they did not answer my quiz lately, i had to fix
<daviid>guile-cairo tool chain related bugs by myself, which took me quite a few hours ...)
<dsmith>Ok so at one point make distcheck does (amongst other things) `$(MAKE) $(AM_MAKEFLAGS) install` and then later does `$(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install`
<dsmith>THis is generated code.
<dsmith>dc_destdir *IS* being set properly.
<daviid>yes, but not a real install, a 'fake' one ...
<dsmith>Ahh. By setting --prefix
<dsmith>Which I am ignoring becuse I'm essentially using guile's --prefix (by using the output of pkg-config)
<dsmith>Cool
<dsmith>And by that I mean I atleast understand what's happening.
<dsmith>daviid, Thanks for listening.
<dsmith>Sometimes it helps to just talk things out.
<daviid>welcome! i hope you fixed your make distcheck
<dsmith>I'm evaluating how much more effort I want to put into it. make install works for my needs, and I'm basically the only user.
<dsmith>It's been working fine for as long as sneek has been around..
<dsmith>sneek, seen rlb?
<sneek>I last saw rlb in #guile one month and 28 days ago, saying: .
<dsmith>sneek, seen pessoa?
<sneek>Not as far as I can remember.
<dsmith>sneek, seen mvo?
<sneek>Nope.
<dsmith>Yeah, --prefix is completely ignored. Only installs to where guile is installed.
<dsmith>Oh well.
<daviid>ah ok, i understand - but for such important upstream projects as guile-cairo, or g-golf, make check/make distcheck are mandatory prior to any release, and i stand by all the comments i made in response to the comments made about my patch and more specifically where to install any lib, including libguile-cairo by default ... i'll answer the email later
<daviid>dsmith: and if you install g-golf, git clone, checkout the devel branch, you'll be able to play with guile-cairo 'for real', starting by playing the 2 cairo related examples ... it's fun
<flatwhatson>rekado: your git seems to be down?
<rekado>flatwhatson: yeah, weird, that. Gitile seems to freeze every once in a while.
<flatwhatson>thanks :)
<dsmith>daviid, Do you happen to know what -dev debs I need to install for g-golf?
<daviid>dsmith: at least libglib2.0-dev:amd64 libgirepository1.0-dev, let's see what configure reports ..
<daviid>make check needs clutter and gtk3, examples gtk4 and guile-cairo
<daviid>dsmith__: the clutter, gtk3 and gtk4 typelibs that is as in gir1.2-clutter-1.0:amd64 gir1.2-gtk-3.0:amd64 and gir1.2-gtk-4.0:amd64
<daviid>gir1.2-adw-1:amd64 if you wana use libadwaita
<dsmith>Fouey!
<dsmith>Package 'gobject-introspection-1.0' has version '1.66.1', required version is '>= 1.72.0'
<dsmith>daviid, Thanks
<daviid>yes
<dsmith>I mean thanks for the package info, not "thanks" for a higer version. :^}
<daviid>dsmith: the callback mechanism uses a GI gir api which is in >= 1.72.0
<dsmith>Ok
<flatwhatson>sudo apt install guix # ;)
<daviid>dsmith: the pkg is in testing
<daviid>and all gtk4 as well ... you won't be able to run g-golf examples in a debian stable env ...
<mwette>wow! didn't know "apt install guix" existed --- works OK? (mine says 1.3.0)
<dsmith>Ahh. ok. Back when wingo was doing gnome things with guile I *never* had the right packages on Stable..
<daviid>dsmith: i think you should either switch to testing, if you can, on a perswonal machine it is ideal, i never ever ran stable in 3 decades, if not, prefer a qemu image with a full testing ... my advice
<flatwhatson>mwette: yes it works, but you should guix pull and wait patiently for that to complete before doing more guix stuff
<flatwhatson>the packaged version is a bit old
<flatwhatson>but the magic of guix is worth the wait!
<old>all hail Guix
<daviid>dsmith: https://wiki.debian.org/QEMU
<dsmith>I have run Testing in the past. Several times. Also ran sid quite a bit too. But I usually run Stable.
<daviid>which as a 'Setting up a testing/unstable system' entry, prob a bit outdated, but a good start
<mwette>how much disk space is suitable for guix ?
<acdw>do yall know where to get R7RS's info manual? the one linked in (info "(guile) R7RS Standard Libraries")
<daviid>dsmith: on a personal computer, i'd never run stable - but i run stable on a server (research lab) machine, and testing in the same lab but user machines ...
<daviid>anyway, the shortest is to install a qemu img, or switch to testing if you have a personal avail machine ...
<acdw>the equivalent page on the online manual (https://www.gnu.org/software/guile/manual/html_node/R7RS-Standard-Libraries.html) links to a 404
<daviid>dsmith: if a qemu image, i would recommend to use a use QEMU's own "Copy On Write" image format - as described in the link .. qemu-img create -f qcow2 debian.qcow 2G [ the image will (have to) grow well above 2G, i think, so a qcow2 is wise ]
<flatwhatson>mwette: guix can use a lot of space, ~300G /gnu/store on my dev machines, though that is retaining all versions of everything i had installed over the last ~2yrs
<flatwhatson>but you can control how many generations are kept. one small server with 1 month of generations takes 8G
<flatwhatson>and if you're using it only as a package manager, not a full OS, that can be significantly less
<daviid>dsmith: install a debian qemu img should only take a few minutes
<daviid>then another half hour or so tu update and complete the installed image with the latest pkgs you need for g-golf ...
<mwette>flatwhatson: thanks
<old>(%make-void-port "w") return a string port??
<old>when I try to use that as a current-error-port for a call to open-pipe, my subprocess hand
<old>s/hand/hang
<jpoiret>old: are you using 3.0.9?
<jpoiret>in any case, I would suggest using `spawn` instead
<old>jpoiret: I need to support older version
<old>ofc I would use spawn if only using 3.0.9
<old>anyway, I fixed my issue by doing this: (define the-null-port (open-file "/dev/null" "w"))
<old>and using that port instead of (%make-void-port "w")
<jpoiret>still, are you using 3.0.9?
<jpoiret>because this could be a bug in current 3.0.9 since the rewrite of open-pipe's internals
<ArneBab>I now run a Ryzen, and the r7rs-benchmarks give 2.25x lower runtimes compared to my old system (geometric mean) — even though the old system was at 4GHz and the new one is at most at 5.7GHz.
<acdw>have yall had any luck building guile-gnutls from source with a source-installed guile-3.0? I'm having an issue with libraries or something i think.
<sneek>Welcome back dsmith!!