Help Compiling Ren-C

First of all, although somewhere in the back of my mind I heard about Ren-C, my programming time has been limited over the years and so I still mainly use R2 with some Red thrown in. I was working on some library stuff which led me to Nick's site which lead me to the Rebol 2019 videos. Holy Cow! Is this what you all have been up to?
Anyway, I've been trying to compile the Ren-C R3 version (I'll put together a beginner's tutorial at some point) and I get these warnings several times during the compilation:
In function 'rebJumps_inline': prep\include/rebol.h:1040: warning: 'noreturn' function does return
In function 'rebJumpsQ_inline':prep\include/rebol.h:1048: warning: 'noreturn' function does return

When the script appears to end I don't see any .exe file

Any ideas on how to proceed?

Thanks,
TimeSlip, AKA James_Nak

1 Like

Welcome James,

First of all what OS are you compiling R3 for?

Best,

Arnold

Hello Arnold,

Windows 7.

Thanks,

James

I have to say I'd like to inquire what this is about?

Win7 is no longer supported .... (by MS :wink: )

I do not use Win so I cannot tell you about this.
The problems you encounter are best reported as an issue at the github repository.

Arnold,

Yes, I actually downloaded the Win 10 upgrade disk yesterday and this is the last straw. I'm updating right after I send this. Presumably the compile should work then. Thanks for your help.

I guess it's because your username has an unfortunate resemblance to the name timeserieslord, and someone under that name was trolling around here some time ago.

2 Likes

Just my sense of humor about the barrier to entry.

There's presumably a lot of output, and the last line should be a linking step. If you don't see a link step that pulls together all the object files to make an r3.exe, then that's bad.

Those are warnings, which shouldn't stop compilation (unless you are doing RIGOROUS=yes with your make step). If your compiler configuration is such that the DEAD_END macro and ATTRIBUTE_NO_RETURN aren't defined properly for that compiler, that's something you might look into...or just be okay with getting warnings.

Alright back from update land. Got a little scare that MS wiped out my Altme records but happily they were saved.

OK. I did get to the final part and it ended like this:
Running: gcc -o r3.exe -mconsole -Wl,--stack=4194300 objs\a-constants.obj ...-lm -lrpcrt4 objs\main.obj
objs\crypt\mbedtls\library\platform.obj:platform.c:(.text+0x97): undefined reference to vsnprintf_s' objs\crypt\mbedtls\library\platform_util.obj:platform_util.c:(.text+0x45): undefined reference togmtime_s'
collect2: ld returned 1 exit status

I suppose I should note that I am running the r3-windows-x86-8994d23.exe version
cd'ing into the ren-c-master folder
do'ing the %make.r file
Hope that the right start.
Still no r3.exe

Are you looking in the right directory? Could it be that it ends up in the root directory or in /build directory?

That's a linker ("ld") failure...which means that yes, you would not be getting an executable.

Your initial post should probably have mentioned the ld returned exit status bit. As well as what toolchain you were using, etc.

The ld returned 1 exit status is evidence of... no. Not at all. No executable was produced, as evidenced by the linker saying "no, couldn't link".

The initial post was under Win 7 and it didn't get as far as it did with the new Win 10. To be honest, this last compiled showed promise. Thanks.

Yes, I thought about that Arnold and searched the entire drive. Thank you.

@hostilefork @iArnold
Rebol 3 (Ren-C branch) [version: 2.102.0.3.1 build: 28-May-2020/0:32:43+0:00] !!!

After looking around for similar errors, someone at StackOverFlow starting talking about different compiler versions. God knows what version I was using (I uninstalled it before checking) but with:
gcc (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 8.1.0 , I'm a happy camper.

Thanks for your patience with me. I haven't compiled a C program since I think the 80's and back then it was a lot simpler!

Probably a cash register. :wink: