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>Does "make distcheck" normally create a dir with 555 permissions? (r-xr-x-r-x) <daviid>dsmith: iirc, only when it fails <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>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 ... <old>Not sure why, but open-pipe does not output error if current-output-port == current-error-port <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. 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 <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>dc_destdir *IS* being set properly. <daviid>yes, but not a real install, a 'fake' one ... <dsmith>Which I am ignoring becuse I'm essentially using guile's --prefix (by using the output of pkg-config) <dsmith>And by that I mean I atleast understand what's happening. <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.. <sneek>I last saw rlb in #guile one month and 28 days ago, saying: . <sneek>Not as far as I can remember. <dsmith>Yeah, --prefix is completely ignored. Only installs to where guile is installed. <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 <rekado>flatwhatson: yeah, weird, that. Gitile seems to freeze every once in a while. <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>Package 'gobject-introspection-1.0' has version '1.66.1', required version is '>= 1.72.0' <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 <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 <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 ... <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 ... <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 <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>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.