zikajk
2020-1-5 12:39:03

@zikajk has joined the channel


popa.bogdanp
2020-1-5 16:08:55

I picked this back up today and managed to link against the static libraries libracket3m.a and librktio.a . My program starts up but segfaults in scheme_gmp_tls_unload at https://github.com/racket/racket/blob/9474b1a1e8e366eee5849ae15428a3748e134502/racket/src/racket/src/gmp/gmp.c#L5822 .


popa.bogdanp
2020-1-5 16:09:48

My program is just:

static int racket_run(Scheme_Env *e, int argc, char **argv) { printf("IN HERE\n"); return 0; } void racket_main() { printf("BEFORE\n"); scheme_main_setup(1, racket_run, 0, NULL); } is there any other setup I should be doing before calling scheme_main_setup? I’ve verified that scheme_gmp_tls_{init,load} get called after scheme_make_thread and scheme_current_thread->gmp_tls does appear to be initialized so I’m not exactly sure why this is blowing up.


popa.bogdanp
2020-1-5 16:10:06

(I have defined MZ_PRECISE_GC)


popa.bogdanp
2020-1-5 16:11:11

/cc @mflatt


mflatt
2020-1-5 16:41:56

@popa.bogdanp That’s an expected SIGSEGV to implement the GC’s write barrier. Continue with handle SIGSEGV nostop noprint in gdb. (I forget the analog for lldb.)


popa.bogdanp
2020-1-5 16:55:42

Thanks! That did the trick :smile:


borblytams
2020-1-5 18:25:02

i will send u some of those


deactivateduser60718
2020-1-5 18:27:28

It’s getting a bit cramped in the default package catalog and people are starting to eat up valuable package names with implementations that I don’t want to use. Just flagging that I would absolutely pay for a service that hosts my own package index + online docs with only the content I care about. I imagine it’s hard to add that to the pile of things to do, but if you guys want to get more money for Racket I see a big opportunity there.


samth
2020-1-5 19:34:50

Don’t lots of bigger package ecosystems have similar namespace policies?


deactivateduser60718
2020-1-5 21:51:50

AFAIK, Java scopes per-vendor and it looks like that Python link discourages use of names that overlap with existing projects. But I’m speaking more from a desire to set my own policies, which is the motivation for things like private registries. It looks like the only way to get that today is to host it yourself.


deactivateduser60718
2020-1-5 21:52:37

Not to say that’s a bad thing. The Racket catalog protocol is pleasantly simple.


sorawee
2020-1-6 01:56:16

Just curious: will it still be possible to cross compile for iOS after switching to Racket CS?


notjack
2020-1-6 02:20:51

Java uses domain names as namespaces


notjack
2020-1-6 02:21:43

@deactivateduser60718 Would you like your self hosted catalog to have all the same bells and whistles as the official catalog?


sorawee
2020-1-6 02:29:37

Looks like in npm (JS), there are two levels of “privateness”: • At the registry level (https://docs.npmjs.com/misc/registry) • At the level of package scope (https://docs.npmjs.com/creating-and-publishing-private-packages)


notjack
2020-1-6 02:35:11

package scoping is an incredibly useful feature


deactivateduser60718
2020-1-6 02:53:02

Yep.


notjack
2020-1-6 03:09:51

Do you want to self host, or would you be fine with private catalogs hosted by racket?


notjack
2020-1-6 03:10:22

(as in, by the racket devs)


deactivateduser60718
2020-1-6 03:17:40

I’m assuming the arrangement would be as with any other vendor. If you host, I pay, and you set policies. If I host, I get control and support would be conditional.


deactivateduser60718
2020-1-6 03:19:51

I’m also assuming that “bells and whistles” includes an instance of the web portal for package addition, CI/CD, a remote Racket installation to hold docs. Basically what you guys already have, but with multi-tenant support.


notjack
2020-1-6 03:25:13

Would you have to log in to see documentation for your packages?


notjack
2020-1-6 03:25:27

(assuming yes)