AltME: R3 Building and Porting


gcc -o r3-view-host.exe objs/host-main.o objs/host-core.o objs/host-args.o objs/host-device.o objs/host-stdio.o objs/dev-net.o objs/dev-dns.o objs/host-lib.o objs/dev-stdio.o objs/dev-file.o objs/dev-event.o objs/dev-clipboard.o objs/lodepng.o objs/rc4.o objs/aes.o objs/bigint.o objs/rsa.o objs/dh.o
objs/host-view.o objs/host-window.o objs/host-graphics.o objs/host-draw.o objs/host-draw-api.o objs/host-text.o objs/host-text-api.o objs/host-compositor.o objs/host-event.o r3.dll -L. -static-libgcc -lm -lwsock32 -lcomdlg32 -lgdi32 -lmsimg32 -lstdc++ -liphlpapi -Wl,--stack=4194300 -mwindows objs/a
gg_arc.o objs/agg_arrowhead.o objs/agg_bezier_arc.o objs/agg_bspline.o objs/agg_curves.o objs/agg_image_filters.o objs/agg_line_aa_basics.o objs/agg_path_storage.o objs/agg_rasterizer_scanline_aa.o objs/agg_rounded_rect.o objs/agg_sqrt_tables.o objs/agg_trans_affine.o objs/agg_trans_single_path.o ob
js/agg_vcgen_bspline.o objs/agg_vcgen_contour.o objs/agg_vcgen_dash.o objs/agg_vcgen_markers_term.o objs/agg_vcgen_smooth_poly1.o objs/agg_vcgen_stroke.o objs/agg_vpgen_segmentator.o objs/agg_graphics.o objs/agg_font_win32_tt.o objs/agg_truetype_text.o
objs/agg_graphics.o:agg_graphics.cpp:(.text+0x3610): undefined reference to `std::terminate()'
objs/agg_graphics.o:agg_graphics.cpp:(.rdata$_ZTIN3agg33gradient_polymorphic_wrapper_baseE[__ZTIN3agg33gradient_polymorphic_wrapper_baseE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: objs/agg_graphics.o: bad reloc address 0x0 in section `.rdata$_ZTIN3agg33gradient_polymorphic_wrapper_baseE[__ZTIN3agg33gradient_polymorphic_wrapper_baseE]'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [r3-view-host] Error 1
make[1]: Leaving directory `/c/persokeyfull/rebol3/saphir-master/saphir-master/make'
make: *** [all] Error 2
Any help appreciated!

@Cyphre thx!

GregP: try to compile all the cpp files and do the final linking with g++ instead of gcc (the next update on github will have the makefile improved)
Thanks a lot Cyphre, I only changed gcc into g++ to link the r3-view-host and r3-view and all compile!
My only issue now is this:
>> demo
Fetching demo...
Script: "Untitled" Version: none Date: none
Fetching GUI...
** Script error: / does not allow none! for its value2 argument
** Where: do resize-panel actor all foreach do-actor either -apply- apply case v
iew catch either either -apply- do try demo
** Near: do bind bind/copy [
    size: viewport-box/bottom-right
but I'm happy I can start playing with it anyway!

GregP: the error is fired because your compiled r3-view.exe contains more recent changes which are not reflected by the current public r3-gui build on our servers. We need to have the r3-gui build to be compatible with our current experimental binary builds. (ie. if you download our latest binary release it should always work with the latest r3-gui release)
So you are in a bit odd state now. To quickly fix that you can download the r3-gui from (same link is used in the DEMO or LOAD-GUI commands) and replace all "unit-size" string occurences to "log-size". Then you can use the r3-gui with your custom saphir build.
Otherwise we'll be soon updating our build/releases/repositories with new versions (quite a lot things happened from the last public updates) so the multiple codebases will get in sync very soon.
Change done on r3-gui.r3: it works now :)

is the community version always up to date with saphirion changes wrt core stuff?
I should have said... is the community version  **currently**  up to date with latest changes from saphirion and atronix?
I doubt it. Carl does not accept PRs, there is 37 PRs in the queue, dunno who can eventually accept them?
No, it's not up to date.  There are some diffferences in structure between the rebol repo and the other two in some places with the addition of the GUI code.
(didn't see 'wrt core stuff')  Well, mostly up to date I guess.  There are some bug fixes

Q: Which is the most appropiate R3 GitHub repo for 64b Redhat, Debian & derivatives these days?

Depends on if you need GUI.
If you don't need GUI support, I'd suggest going with the "community" repository. Which at the moment is basically mainline (i.e. the official codebase) + 64-bit support:
A pre-built 64-bit Linux binary is also available under the "experimental" section on rebolsource:
If you need GUI support as well, go with Atronix' version:
core is fine for now.
Goal is to have an established automated process to build an arbitrary version of rebolin a Docker container.
(which only suppotrs recent 64b kernels)
A fixed link to the current 64b linux binary at  would help
something like a symlink from  r3-g25033f8  to r3-latest  
(asuming the -g25033f8 part changes and becomes unavailable after a while)

I think it would be nice to have a link that is easy to type as usually you have to use wget to download rebol.

I had about the same question as Maxim regarding keeping R3 source in sync between repositories. Carl open sourced R3, Saphirion brought the UI and other improvements, Atronix works on Linux. and I just wish we could consolidate all those contributions. Anyone has an insight on this?
Needs one or more people dedicated to doing the consolidation.
At least most of the stuff is now out in the open, so anyone technically able and willing to do it, _can_ do it. But I know that doesn't help those who can't do it on their own and are (rightly) frustrated by the perceived fragmentation.

Last message posted 69 weeks ago.