Logs: liberachat/#haskell
| 2021-07-21 14:55:25 | <Taneb> | Rembane: I think that's what I'm going to end up doing |
| 2021-07-21 14:56:55 | → | h98 joins (~h98@187.83.249.216.dyn.smithville.net) |
| 2021-07-21 14:57:45 | <Rembane> | Taneb: Good stuff. |
| 2021-07-21 14:59:44 | × | ubert quits (~Thunderbi@178.165.188.94.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 2021-07-21 15:00:56 | → | glassofethanol joins (~ethanmorg@cpc78471-cwma11-2-0-cust81.7-3.cable.virginm.net) |
| 2021-07-21 15:01:28 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2021-07-21 15:04:01 | → | pesada joins (~agua@179.179.184.77) |
| 2021-07-21 15:05:45 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 2021-07-21 15:06:27 | × | agua quits (~agua@2804:18:4a:c35:1:0:3be5:8cb2) (Ping timeout: 255 seconds) |
| 2021-07-21 15:07:07 | <delYsid> | Does George Wilson show up here at times? |
| 2021-07-21 15:07:08 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-07-21 15:10:56 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 2021-07-21 15:11:43 | <SIben> | Hi! I would like to test Haskell code that interacts with the file system (writes files, mainly). Is there a popular way of doing that? The most promising thing I have found thus far is to rewrite functions using a typeclass to constrain a type variable (that would replace IO), and then produce a mock version of it. |
| 2021-07-21 15:11:48 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
| 2021-07-21 15:12:12 | → | Bayes joins (~Bayes@ics177-97.icsincorporated.com) |
| 2021-07-21 15:12:20 | × | Bayes quits (~Bayes@ics177-97.icsincorporated.com) (Changing host) |
| 2021-07-21 15:12:20 | → | Bayes joins (~Bayes@user/bayes) |
| 2021-07-21 15:13:04 | × | h98 quits (~h98@187.83.249.216.dyn.smithville.net) (Ping timeout: 246 seconds) |
| 2021-07-21 15:14:02 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-21 15:15:07 | × | xff0x_ quits (~xff0x@2001:1a81:530d:8900:cddd:a545:4e9e:a55d) (Ping timeout: 245 seconds) |
| 2021-07-21 15:15:33 | <ph88_> | how can i link with musl instead of glibc ? |
| 2021-07-21 15:16:26 | <maerwald> | ph88_: alpine |
| 2021-07-21 15:16:27 | <yushyin> | alpine linux docker image |
| 2021-07-21 15:16:54 | <ph88_> | can it be done on ubuntu without docker ? |
| 2021-07-21 15:16:55 | → | xff0x_ joins (~xff0x@185.65.135.235) |
| 2021-07-21 15:17:24 | <maerwald> | yes, but if you ask that question you don't want to do it |
| 2021-07-21 15:17:34 | <geekosaur> | probably but it won't be easy to guarantee none of glibc gets in |
| 2021-07-21 15:17:53 | × | robertm quits (robertm@rojoma.com) (Quit: WeeChat 2.3) |
| 2021-07-21 15:18:10 | → | ubert joins (~Thunderbi@178.165.188.94.wireless.dyn.drei.com) |
| 2021-07-21 15:18:36 | <ph88_> | is the RTS already precompiled ? |
| 2021-07-21 15:18:49 | → | drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) |
| 2021-07-21 15:19:40 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
| 2021-07-21 15:19:49 | <geekosaur> | it's more complex than that. (no, it's not already linked against glibc) |
| 2021-07-21 15:19:56 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 2021-07-21 15:20:42 | → | robertm joins (robertm@rojoma.com) |
| 2021-07-21 15:21:11 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-21 15:23:14 | → | o1lo01ol1o joins (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) |
| 2021-07-21 15:24:57 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-21 15:30:58 | × | jmorris quits (uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-21 15:31:41 | × | xff0x_ quits (~xff0x@185.65.135.235) (Ping timeout: 268 seconds) |
| 2021-07-21 15:32:26 | → | rtjure joins (~rtjure@bras-79-132-1-103.comnet.bg) |
| 2021-07-21 15:32:39 | → | agua joins (~agua@2804:18:4a:c35:1:0:3be5:8cb2) |
| 2021-07-21 15:33:18 | → | xff0x_ joins (~xff0x@2001:1a81:530d:8900:cddd:a545:4e9e:a55d) |
| 2021-07-21 15:34:07 | × | Xnuk quits (~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in) |
| 2021-07-21 15:34:24 | → | Xnuk joins (~xnuk@vultr.xnu.kr) |
| 2021-07-21 15:34:33 | × | jolly quits (~jolly@208.180.97.158) (Ping timeout: 258 seconds) |
| 2021-07-21 15:34:34 | × | pesada quits (~agua@179.179.184.77) (Ping timeout: 252 seconds) |
| 2021-07-21 15:35:55 | × | rtjure quits (~rtjure@bras-79-132-1-103.comnet.bg) (Read error: Connection reset by peer) |
| 2021-07-21 15:36:10 | × | oso quits (~oso@2601:58c:c080:a950:f275:2530:b398:680b) (Ping timeout: 246 seconds) |
| 2021-07-21 15:36:33 | → | rtjure joins (~rtjure@bras-79-132-10-94.comnet.bg) |
| 2021-07-21 15:41:23 | → | econo joins (uid147250@user/econo) |
| 2021-07-21 15:41:34 | <ph88_> | so do i need ghc itself to be linked to musl to build a static binary with musl ? |
| 2021-07-21 15:43:06 | → | jolly joins (~jolly@63-97-42-210-ama.pathwayz.com) |
| 2021-07-21 15:43:10 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 246 seconds) |
| 2021-07-21 15:43:35 | <geekosaur> | no |
| 2021-07-21 15:43:57 | <geekosaur> | you will just find that glibc is wired in really deep and getting things to not link against it is difficult |
| 2021-07-21 15:44:05 | <ph88_> | this repo gave me that impression https://github.com/utdemir/ghc-musl "therefore can be used to create fully static Haskell binaries without glibc dependency" |
| 2021-07-21 15:44:17 | <ph88_> | i don't think that is true either |
| 2021-07-21 15:44:24 | <geekosaur> | it's far easier to start out with musl as the local libc, hence the docker image containing an OS based on musl |
| 2021-07-21 15:44:44 | <maerwald> | you don't need that image |
| 2021-07-21 15:44:49 | <maerwald> | you just need stock alpine image |
| 2021-07-21 15:45:35 | <ph88_> | strange that the haskell docker image doesn't offer an alpine flavor https://hub.docker.com/_/haskell |
| 2021-07-21 15:45:51 | <maerwald> | ph88_: just use stock alpine |
| 2021-07-21 15:45:59 | <maerwald> | and use ghcup to install whatever you need |
| 2021-07-21 15:46:59 | <ph88_> | what about i take the stock alpine image, and from that create my own Dockerfile that installs stack ? |
| 2021-07-21 15:47:11 | <maerwald> | ph88_: https://gist.github.com/hasufell/f0893abfbba63ac4ea40feb0520946ee |
| 2021-07-21 15:47:13 | <maerwald> | example |
| 2021-07-21 15:47:28 | <ph88_> | i never heard of ghcup before, i only used stack so far |
| 2021-07-21 15:47:28 | <maerwald> | although that can be simplified further |
| 2021-07-21 15:47:59 | <maerwald> | ph88_: well, stack doesn't support alpine GHC as much as ghcup does |
| 2021-07-21 15:48:03 | <maerwald> | unless they fixed it |
| 2021-07-21 15:48:10 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-07-21 15:48:19 | <maerwald> | so if you look at the link, it uses both ghcup and stack |
| 2021-07-21 15:48:37 | <ph88_> | im looking now |
| 2021-07-21 15:48:59 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-21 15:51:03 | → | Null_A joins (~null_a@2601:645:8700:2290:9d5c:9f84:452e:3ad) |
| 2021-07-21 15:53:10 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-21 15:56:52 | <ph88_> | maerwald, in that Dockerfile you showed i think stack and ghc themselves are linked against musl .. but then they run under ubuntu which uses glibc. I'm confused with that .. i thought i needed to compile in an environment that uses musl |
| 2021-07-21 15:57:16 | <maerwald> | no, both are linked statically |
| 2021-07-21 15:57:25 | <maerwald> | that's the point of musl |
| 2021-07-21 15:57:44 | <ph88_> | sure .. but then you run the statically linked ghc/stack in an glibc environment |
| 2021-07-21 15:57:58 | <maerwald> | ghc is not statically linked afaik |
| 2021-07-21 15:58:02 | <maerwald> | stack and ghcup are |
| 2021-07-21 15:58:22 | <maerwald> | and no, the dockerfile doesn't run musl ghc under glibc |
| 2021-07-21 15:58:23 | × | dunkeln quits (~dunkeln@188.70.26.84) (Ping timeout: 255 seconds) |
| 2021-07-21 15:58:27 | × | olive__ quits (~olive_@117.222.65.182) (Quit: leaving) |
| 2021-07-21 15:58:57 | <ph88_> | so why switch back to ubuntu in that Dockerfile ? |
| 2021-07-21 15:59:29 | <maerwald> | because alpine is painful for everything else |
| 2021-07-21 15:59:29 | × | azeem quits (~azeem@176.200.238.62) (Read error: Connection reset by peer) |
| 2021-07-21 15:59:38 | <geekosaur> | compiles can be done on the host, only the final link needs to be done with musl |
| 2021-07-21 16:00:06 | → | azeem joins (~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it) |
| 2021-07-21 16:00:17 | <ph88_> | the final link would happen in ubuntu no ? |
| 2021-07-21 16:00:29 | <geekosaur> | no, that gets you glibc |
| 2021-07-21 16:01:01 | <ph88_> | pretty confusing Dockerfile ^^ |
| 2021-07-21 16:02:01 | <ph88_> | https://gist.github.com/hasufell/f0893abfbba63ac4ea40feb0520946ee#file-dockerfile-L24 seems to have little benefit of having stack, ghcup and code explorer statically linked and then run under ubuntu |
| 2021-07-21 16:02:25 | <maerwald> | ph88_: huh? |
| 2021-07-21 16:02:28 | × | o1lo01ol1o quits (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Remote host closed the connection) |
| 2021-07-21 16:02:36 | <maerwald> | how do you build code-explorer statically on ubuntu? |
| 2021-07-21 16:02:54 | <ph88_> | you don't ? but why build it statically in the first place ? |
| 2021-07-21 16:03:15 | <maerwald> | no idea, I thought that's what you wanted |
All times are in UTC.