Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Rock compiling issues on win32 #373

Closed
shamanas opened this Issue · 14 comments

3 participants

Alexandros Naskos Amos Wenger (old) ven
Alexandros Naskos
Collaborator

While compiling rock on win32 I ran into a couple of issues. First of all, the bootstrap provided by make rescue does not contain changes that fixed the sdk for windows, so a new bootstrap should be uploaded. Furthermore, compiling c-rock failed while linking with many, MANY undefined references to __imp_GC_malloc. After a lot of research, I found out that c-rock should be linked against the generated libgc.dll.a rather than libgc.a, so the Makefile shouild somehow be changed to reflect that. That is all ;)

Alexandros Naskos
Collaborator

Of course, after managing to bootstrap rock it was buggy as hell, the usual sourcepath/classpath issues etc.

Amos Wenger (old)
Collaborator

@shamanas There you go: https://github.com/downloads/nddrylliog/rock/rock-0.9.4-prealpha2-bootstrap-only.tar.bz2

Buggy as hell? Well, it built establichment on Win32 for me. What did you experience? You have to run it in the MinGW shell btw. Also I never had a problem with this __imp_GC_malloc thingy. But, again, I'm compiling from MinGW.

Are you compiling from cmd.exe or from Cygwin?

Alexandros Naskos
Collaborator

No im compiling on msys, so mingw. I use MinGW64 though so that may be the difference with the boehm gc prolem :-/ also, I bug every time I try to compile a program outside the rock directory. I cant confirm it right away but i think that there is an exception in classpath: sourcepath . not found. Also, I guess there still is the problem with the sequence driver but I did not try it i directly set the driver to combine. Also when i tried compiling a program in the rock directory i got a strange error at c compile time due to a wrong file path. I did set ROCK_SDK on all these cases btw. I didnt tinker with rock that much after i compiled it though, so there may be ways to make things work ;)

Amos Wenger (old)
Collaborator

@shamanas Well, I do export PATH=$PATH:/c/rock/bin/ or something, and then the classpath works fine. How did you do it? (To compile with rock from another directoyr I mean)

Alexandros Naskos
Collaborator

I did export rock's bin directory to path of course ;)
I dont know exactly what the problem is, I will figure it out a bit later and report back here

Alexandros Naskos
Collaborator

Ok ive got rock installed on /d/rock
So I did export PATH=$PATH:/d/rock/bin.
I have a test.ooc file in /d/
When executing rock test the error that shows up is [Exception in PathList]: Classpath element cannot be found: .
The error persists when exporting ROCK_SDK to /d/rock/sdk (although I wouldnt see why this would fix it :P)
When moving test.ooc to /d/rock/test.ooc and execute rock test, I get the following error:
[Exception in FileWriter]: File not found: rock_tmp\d:/rock/sdk\lang\Abstractions.h, when ROCK_SDK.
When it is not defined, I get [Exception in PathList]: Classpath element cannot be found: (empty)

Edit: I just tried to set ROCK_SDK to sdk when compiling in /d/rock and the compilation works but I would consider the whole deal to be quite buggy, at least on my platform.

The good news is that os/Terminal works fine ;D

ven

Sorry to bump 6 months later :(.
I had to download by myself the bootstrap (not use wget --no-certificate for some reason, even if I had curl etc), now it's starting to build and just hangs on checking for a BSD-compatible install...

Amos Wenger (old)
Collaborator

Hey @Nami-Doc, no problem, necro is not an issue when it's still open :)

I've installed rock on Win32 several times without issues, so it's a bit surprising to me. The checking for a BSD-compatible install message is symptomatic of autotools, which means it hangs while compiling boehm-gc (and associated libs), not rock itself.

Are you running it from cmd.exe (the standard windows shell) or mingw/cygwin ? I've had good experiences with mingw, never got it to compile anywhere else.

ven

I'm running it from cmd.exe (with DevKit installed). I don't have cygwin installed yet but I'll try with it

ven

Also installed pkg-config, now gives me this :

cd libs && /usr/bin/make LIBGC_FORCE_COMPILE=
make[1]: Entering directory `/c/Users/N/Desktop/ooc/rock/libs'
mkdir -p ./32/
No system libgc, building our own
/usr/bin/make buildgc
make[2]: Entering directory `/c/Users/N/Desktop/ooc/rock/libs'
cd sources && ./configure --enable-threads=posix --enable-local-thread-alloc && /usr/bin/make
configure: error: invalid feature name: 0
make[2]: *** [buildgc] Error 1
make[2]: Leaving directory `/c/Users/N/Desktop/ooc/rock/libs'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/c/Users/N/Desktop/ooc/rock/libs'
make: *** [boehmgc] Error 2
Amos Wenger (old)
Collaborator

@Nami-Doc You should definitely compile it from Mingw. As far as I know, only 0.9.3 compiles fine on WIndows, issue #469 explains what you have to fix to get it to compile.

We'll make sure 0.9.4 final compiles fine everywhere though! Can't make guarantees about cmd.exe since, if you're doing things from the command line on Windows you might as well get mingw. cmd.exe is just terrible :D

ven

Don't worry about it, I'll try. Saw the issue as well - I'm gonna try tomorrow. Merci!

Amos Wenger (old)
Collaborator

De rien ;)

Amos Wenger (old)
Collaborator

Closing that, 0.9.4 works fine now!

Amos Wenger (old) nddrylliog closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.