
@zikajk has joined the channel

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 .

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.

(I have defined MZ_PRECISE_GC
)

/cc @mflatt

@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
.)

Thanks! That did the trick :smile:

i will send u some of those

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.

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

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.

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

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

Java uses domain names as namespaces

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

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)

package scoping is an incredibly useful feature

Yep.

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

(as in, by the racket devs)

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.

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.

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

(assuming yes)