Wings available for Irix precompiled

3D/2D CGI and the tools used in their creation (Maya, Photoshop, Blender, GIMP, etc.).
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
jdboyd
Posts: 562
Joined: Thu Aug 21, 2003 11:47 am
Location: Southern PA

Unread postby jdboyd » Fri Feb 04, 2005 11:07 am

mikesapunk wrote:Thats what you get when you write a 3D graphics app in a language meant to program telco switches.

Thats like writing Photoshop in FORTRAN.


Photoshop in FORTRAN. Hmm. Something familiar about that thought.

Photoshop in FORTRAN.

Photoshop in FORTRAN.

Wait, your talking about Avid/Parallax's Matador, aren't you?

mikesapunk wrote:I looked into porting Wings myself, before I knew you were doing it. And when I found out it was written in erlang, and not C or C++, I said screw it.

You're a braver man than I, just wanted to let you know that there is at least 1 person out here rooting for you to get this thing usable. Keep up the good work!


Erlang mostly works and a lot of wings works as well. It has got to be something small somewhere I think.

User avatar
hamei
Posts: 10433
Joined: Tue Feb 24, 2004 4:10 pm
Location: over the rainbow

Unread postby hamei » Fri Feb 04, 2005 6:40 pm

mikesapunk wrote: Thats like writing Photoshop in FORTRAN.


Oh goody. Language War ! :)

All the original 3D graphics apps were written in FORTRAN. There were computer-aided design programs long before anyone was playing with animation or graphics for movies. APT actually predates FORTRAN - it's a fully 3D language and program that both describes 3D objects in space then moves a tool in a controlled path within that space. APT was the very first ANSI standard computer language. Fortran was the next. APT was rewritten in FORTRAN in around 1970 .... Much of the early graphical stuff was done in Fortran. Ever hear of Unigraphics ? The one that started life as UniAPT ? Fortran is okay. PhotoSnot is a very late-comer to the graphics scene.

p.s. Much of your financial institutions are still running on COBOL. And the airline reservation systems are still using COBOL or even stranger, more orphaned languages. There's nothing wrong with an old language once you get past the first six columns on the punch cards 8)

jdboyd
Posts: 562
Joined: Thu Aug 21, 2003 11:47 am
Location: Southern PA

Unread postby jdboyd » Fri Feb 04, 2005 7:33 pm

hamei wrote:Oh goody. Language War ! :)


Been too long since the last one.

hamei wrote: There's nothing wrong with an old language once you get past the first six columns on the punch cards 8)


Of course, they still haven't managed to make a language better than the third language to be available, Lisp (early 50s).

jdboyd
Posts: 562
Joined: Thu Aug 21, 2003 11:47 am
Location: Southern PA

Unread postby jdboyd » Fri Feb 04, 2005 7:55 pm

dexter1 wrote:I have a distinct feeling that this crapping out of SDL is due to esdl having -lpthread, because neko_sdl has -lpthread as well, but erlang is compiled without threading. Trying to turn on threading breaks compile with a malfunctioning 'beam' executable:

Code: Select all

irene /usr/local/src/otp_src_R10B-2/bin/mips-sgi-irix6.5> beam
Failed to create thread: Operation not permitted (1)
Abort (core dumped)
... while a non-threaded 'beam' does this (a normal crash report):

Code: Select all

mech044 /usr/local/src/otp_src_R10B-2/bin/mips-sgi-irix6.5> beam
{"init terminating in do_boot",'no -root flag'}

Crash dump was written to: erl_crash.dump
init terminating in do_boot (no -root flag)
This merits some investigatoin why the erlang --enable-threads produces wrong code...


I'm not getting the same results. I built erlang with --enable-threads, and when I run beam, I get the crash dump message rather than the Abort (core dumped) message. However, I didn't do a gmake clean first, so maybe I got stale files. Launching them again.

I'm attempting to join the erlang mailing lists. I wish the wings people would use mailing lists rather than that dratted web board.

Also, none of the esdl tests work on my new build of erlang and esdl. I'm using a Summer 2004 freeware SDL.

I'd be happy to having wings use it's own build of SDL (maybe even statically link) if that's what it would take to make it work.

dexter1 wrote:Oh, and i indeed have no icons on my impact system, but they appear on the O2 just fine...


BTW, running Wings on linux with the DISPLAY directed to Impact graphics has the same issue.

dsolaz
Posts: 7
Joined: Fri Oct 20, 2006 5:40 am

Wings 3D port status

Unread postby dsolaz » Fri Oct 20, 2006 5:59 am

Hello. A bit late, yes, but I'm trying to clarify the current 'official' status of Wings 3D on IRIX 6.5. After a maybe-too-quick search in the forums I'm still not sure if anyone managed to get it running fine. That is, no crashes, no lock-ups, good-looking icons, etc.
I solved all these issues on my own, maybe someone would like to know...
Thanks in advance.
-Daniel

jdboyd
Posts: 562
Joined: Thu Aug 21, 2003 11:47 am
Location: Southern PA

Re: Wings 3D port status

Unread postby jdboyd » Fri Oct 20, 2006 6:47 am

dsolaz wrote:Hello. A bit late, yes, but I'm trying to clarify the current 'official' status of Wings 3D on IRIX 6.5. After a maybe-too-quick search in the forums I'm still not sure if anyone managed to get it running fine. That is, no crashes, no lock-ups, good-looking icons, etc.
I solved all these issues on my own, maybe someone would like to know...
Thanks in advance.
-Daniel


Someone should probably take a stab at it again. There was recently some activity on the erlang mailing list about getting it up on Irix again.

For a quick recap, the first try built something that would run, but often locked the machine up. The second try wouldn't build.

dsolaz
Posts: 7
Joined: Fri Oct 20, 2006 5:40 am

Re: Wings 3D port status

Unread postby dsolaz » Mon Oct 23, 2006 3:19 am

Hello, and sorry for not being clear (English is not my mother tongue).
I am the guy who patched Erlang (well, just the os_mon utility, actually, but I also found the solution to the pthreads problem, which is not a bug) to run on IRIX. I did solve all Wings 3D issues, at least those present on my machines, an O2 and an Octane/SSE. I have it working *almost* flawlessly on 6.5.26 in both 32- and 64-bit multithreaded mode.
I'd like to know if it's worth creating a tardist or there is already one that can be considered "nekoware-official". If it is worth doing it, I would need assistance with the software packager.
Regards.
-Daniel

User avatar
joerg
Donor
Donor
Posts: 2226
Joined: Thu Jan 08, 2004 6:57 am
Location: In an origin rack - Germany
Contact:

Unread postby joerg » Mon Oct 23, 2006 5:19 am

If you can provide a patch or instruction what is needed to compile erlang with mips pro i will try it and create an nekoware package. Last time erlang doesnt compile.

Code: Select all

c99 -MM -MG -O3 -mips4 -I/usr/nekoware/include -I/usr/nekoware/kde/include  -OPT:Olimit=0:roundoff=3  -TARG:platform=IP27:proc=r10000 -I/usr2/MIPS/otp_src_R11B-1/erts/mips-sgi-irix6.5   -I/usr/nekoware/include  -DHAVE_CONFIG_H    -Ibeam -Isys/unix -Isys/common -Imips-sgi-irix6.5/opt/plain -Imips-sgi-irix6.5 -Izlib -Ihipe -I../include/internal -I../include/internal/mips-sgi-irix6.5 -Idrivers/common beam/*.c \
                | sed 's|^\([^:]*:\)|$(OBJDIR)/\1|g;s|mips-sgi-irix6.5/opt/plain/|$(TTF_DIR)/|g;s|/usr2/MIPS/otp_src_R11B-1/|$(ERL_TOP)/|g' > mips-sgi-irix6.5/depend.mk
beam/atom.c:
"beam/atom.c": Error: Can't open intermediate compiler file (/tmp/ctmB.BAAa000Sr): No such file or directory


This was otp_src_R11B-1.

regards
Joerg

dsolaz
Posts: 7
Joined: Fri Oct 20, 2006 5:40 am

Unread postby dsolaz » Mon Oct 23, 2006 6:31 am

Gcc is *required* in order to compile Erlang. IIRC this is stated in the README. I have used gcc 3.3.something.
I will collect my configuration notes regarding Erlang, ESDL and Wings 3D when I get home, and post them here tomorrow. Getting Erlang and ESDL running is not hard, Wings 3D took a bit of trial and error.
Regards.
-Daniel

VeKTeReX
Posts: 93
Joined: Tue Jun 17, 2003 7:39 pm
Location: Miami, Florida

Unread postby VeKTeReX » Mon Oct 23, 2006 5:52 pm

Can't be included into nekoware due to gcc, but a working tardist would be greatly appreciated.

/KRM

dsolaz
Posts: 7
Joined: Fri Oct 20, 2006 5:40 am

compiling erlang R11B-1 on IRIX

Unread postby dsolaz » Tue Oct 24, 2006 12:13 am

[maybe this should go to the devel forum]

Compilation instructions for Erlang R11B-1, gcc 3.3, IRIX 6.5.26.
This is to build a 32-bit multithreaded runtime.

1) source patching:
At erts/emulator/sys/unix/sys.c, line 45: comment out "#include <sys/stropts.h>".

2) erts/configure patching:
- case starting at line 1976, add irix6*) DEXPORT="-Wl,-exports";;
- case starting at line 7848, add irix6*) DED_LDFLAGS="-mips4 -shared -all";;

3) configure:
Choose CFLAGS and installation prefix according to your needs.
$ CFLAGS="-mips4 -O3" ./configure --enable-threads --prefix=/usr/nekoware
If you see configure stuck on message "checking for presens of poll()/select() bug when another thread closes fd..." go to Process Manager and kill process "conftest".

4) make:
GNU make is required.
$ gmake
When you see the "Failed to create thread: Operation not permitted (1)" message, become root and do
# chcap "CAP_SCHED_MGT+eip" bin/mips-sgi-irix6.5/beam
then gmake again.

5) install as root:
# gmake install
The installed emulators, beam and beam.hybrid (the "shared heap" variant), have lost the CAP_SCHED_MGT capability.
# chcap "CAP_SCHED_MGT+eip" /usr/nekoware/lib/erlang/erts-5.5.1/bin/beam*

6) test the Erlang command line:
$ erl

That's it for Erlang. Please report any problems.
ESDL and Wings 3D notes will follow soon.

Regards.
-Daniel

User avatar
nvukovlj
Posts: 356
Joined: Mon Jun 09, 2003 8:27 am
Location: London, UK
Contact:

Unread postby nvukovlj » Tue Oct 24, 2006 2:01 am

VeKTeReX wrote:Can't be included into nekoware due to gcc, but a working tardist would be greatly appreciated.

/KRM


Not quite true. The boinc/setiathome I contributed to nekoware was built (with exception of libfftw) using gcc.
While gcc is not encouraged, if gcc is the only compiler that will work (which can be the case) then that is what you use.

Nik.

VeKTeReX
Posts: 93
Joined: Tue Jun 17, 2003 7:39 pm
Location: Miami, Florida

Unread postby VeKTeReX » Tue Oct 24, 2006 5:52 am

nvukovlj wrote:
VeKTeReX wrote:Can't be included into nekoware due to gcc, but a working tardist would be greatly appreciated.

/KRM


Not quite true. The boinc/setiathome I contributed to nekoware was built (with exception of libfftw) using gcc.
While gcc is not encouraged, if gcc is the only compiler that will work (which can be the case) then that is what you use.

Nik.

I was unaware of that, but it's understandable. Thanks for the correction.

/KRM

dsolaz
Posts: 7
Joined: Fri Oct 20, 2006 5:40 am

Compiling ESDL and Wings 3D on IRIX

Unread postby dsolaz » Wed Nov 08, 2006 12:26 am

Hello. Sorry for the delay. Maybe someone managed to compile Erlang following the steps I posted a couple of weeks ago. Here are my notes regarding ESDL and Wings 3D.

Remember: GCC and GNU make required.

ESDL
Using the latest version, 0.96.0626, I followed installation instructions; only had to make these two changes before building:
- in c_src/Makefile, change $OGLDIR/lib to $OGLDIR/lib32
- add "-mips4" and other desired flags to CFLAGS
Previous to this I compiled my own libSDL, but I don't remember it needing special configuration options and this doesn't seem to be a must: nekoware SDL should be fine.

Wings 3D
Using 0.98.35, the latest at the time I tried.
in plugins_src/accel/Makefile:
- remove calls to "install -d $(LIBDIR)" (they fail on my box)
- create directory plugins/accel by hand
- correct GCC definition (add "-mips4" etc)
in plugins_src/autouv/shaders/Makefile:
- remove calls to "install -d $(DIR)"; no need to create anything in this case

It is best to copy (or link) the wings-0.98.35 directory to the lib/erlang/lib directory of your Erlang installation; the same goes for esdl-0.96.0626. That way Erlang will automatically incorporate them to the code path when it boots.

If all goes well you'll now have compiled Wings 3D, but it will lock up as soon as you launch it. Turns out this is because a division by zero causes the emulator (Erlang parlance for VM) to hang, instead of throwing a badarith exception as it should, and a number of these happen while converting from RGB to HSV. Maybe on some other places as well. I've yet to ask some questions in the Erlang mailing list regarding this issue.

At least two source files, wings_init.erl and wings_color.erl, must be patched. I have a 50-line patch file, but there doesn't seem to be a way to attach it to this message, so there it goes.

Code: Select all

--- wings_init.erl   Tue Apr 12 19:31:03 CEST 2005
+++ wings_init.erl.ds   Tue Nov 07 23:07:58 CET 2006
@@ -19,7 +19,7 @@
 -include("wings.hrl").
 
 init() ->
-    macosx_workaround(),
+%   macosx_workaround(),
     os:putenv("SDL_HAS3BUTTONMOUSE", "true"),
 
     wings_pref:set_default(window_size, {780,570}),

--- wings_color.erl   Sun Jan 23 10:34:56 CET 2005
+++ wings_color.erl.ds   Tue Nov 07 23:07:57 CET 2006
@@ -137,6 +137,11 @@
    HSV -> HSV
     end.
 
+safe_div(Q, D) ->
+   case D == 0.0 of
+      true  -> throw(badarith);
+      false -> Q / D end.
+
 internal_rgb_to_hsv(R, G, B) ->
     Max = lists:max([R,G,B]),
     Min = lists:min([R,G,B]),
@@ -143,14 +148,21 @@
     V = Max,
     {Hue,Sat} = try
           {if
-          Min == B -> (G-Min)/(R+G-2.0*Min);
-          Min == R -> (1.0+(B-Min)/(B+G-2.0*Min));
-          Min == G -> (2.0+(R-Min)/(B+R-2.0*Min))
-           end*120,(Max-Min)/Max}
+          Min == B ->     safe_div(G-Min, R+G-2.0*Min); %(G-Min)/(R+G-2.0*Min);
+          Min == R -> 1.0+safe_div(B-Min, B+G-2.0*Min); %(1.0+(B-Min)/(B+G-2.0*Min));
+          Min == G -> 2.0+safe_div(R-Min, B+R-2.0*Min)  %(2.0+(R-Min)/(B+R-2.0*Min))
+           end*120,safe_div(Max-Min, Max)} %(Max-Min)/Max}
       catch
-          error:badarith ->
+%          error:badarith ->
+          badarith ->
          {undefined,0.0}
       end,
+%   {Hue, Sat} = case Max == 0.0 of
+%      false -> {if Min == B -> (G-Min)/(R+G-2.0*Min);
+%                   Min == R -> (1.0+(B-Min)/(B+G-2.0*Min));
+%                   Min == G -> (2.0+(R-Min)/(B+R-2.0*Min)) end*120,
+%                (Max-Min)/Max};
+%      true  -> {undefined, 0.0} end,
     {Hue,Sat,V}.
 
 hsv_to_rgb(H, S, V) ->


It seems phpBB does not preserve tabs; maybe the 'patch' utility will complain if you just copy this into a file and attept to patch the Wings 3D source with that. In any case, please feel free to request the real patch file by email: I'm 'dsolaz' at domain 'sistelcom' dot com (note that I'll be offline from Nov 9 to 12).

Better yet, read my forthcoming post regarding the creation of tardist files of Erlang, ESDL and Wings 3D. With them, getting a (hopefully) working Wings 3D should be much easier for everyone.

I'd like to hear from people who try this. Specially those working on machines other than what I have: an O2 and an Octane/SSE running 6.5.26 with GCC 3.3. Thanks in advance.
-Daniel

User avatar
Sir Philip
Posts: 95
Joined: Tue Aug 09, 2005 1:36 am
Location: United States
Contact:

Unread postby Sir Philip » Mon Jan 15, 2007 7:25 am

Wings is a wonderfully efficient standalone solution for 3D content creation, with great potential on less powerful hardware, such as the O2. I would suggest speed optimizations being a first priority with Wings on Irix - as Blender is a larger, more complete non-commercial solution. As SGIs do OpenGL in hardware, I would imagine the Wings version could evolve to be uniquely efficient, especially with respect to RAM. Presently, Wings can only really support 100,000 triangle scenes before instability ensues. Maya 3.0, by contrast, remains stable even with scenes loaded that total 10,000,000 triangles, RAM permitting. Not sure what the limit in Blender is, as I don't use it.


Return to “SGI: Computer Graphics”

Who is online

Users browsing this forum: No registered users and 1 guest