On 1/12/26 01:52, Wolfgang Gaggl wrote:
...it appears to solve some problems, I just need to post about them first ;) Problem solved: the endian logic in d_osc.c which is initially correctly defined in the first few lines of code, was overridden by yet another logic to determine HIOFFSET and LOWOFFSET for endianness. Works now, SGI Irix 6.5 with Pd 0.40, analog stereo audio, ADAT, Midi (even selectable from the GUI menu).
great to see you proceed.in the meantime, i found an emulator for the SGI Indy [1], and tried to build the latest and greatest Pd (0.56-2), but I'm afraid I made less progress than you did...
the disk image has IRIX-6.5 (6.5.22 iirc) and came with a number of freeware tools installed, including gcc and autotools, so in theory it should have worked.
(in the meantime i've managed to complete break my disk, so the report below is from the top of my head and might be lacking some important details)
# autotoolsunfortunately, the autotools version installed (no idea which version) was just too old. this was easily circumvented by just running autoreconf on a modern machine and copy the generated files to the indy (the proper way would have been to do a "make dist" and copy the generated tarball)
# configurethe current configure script uses "grep -w", which is not available on IRIX-6.2 [2820] this appears to be a minor issue (some tests will fail, that probably would have failed anyhow)
i simply ignored this, and i got some Makefiles configure detected and used the installed 'gcc' (GCC 3.3! yay!) # makethe generated Makefile uses some modern(?) GNU make trickery to set the WISHDEFINE and DEKEN_DEFINE makevars to some preprocessor macros, which the installed version of 'make' didn't like. i simply set these make variables to empty strings on the cmdline (`make WISHDEFINE="" DEKEN_DEFINE=""`) to bypass this.
also, the top-level makefile uses `make -C <path>` to build the various subprojects, which installed make did not understand.
i simply ignored this and ran 'make' directly in src/ probably running 'gmake' instead of 'make' would have fixed both issues. # source: endianness detection the current code to detect endianness did not work (as you discovered).with newer versions of Pd, all the endianness detection code is now in m_private_utils.h, so I fixed it there.
# source: C99with the above, I managed to build all of src/, with the notable exception of src/x_vexp_fun.c [expr] uses C99 features (like 'isnan()' [79865015]), and this is where my adventure ended. - the installed gcc is apparently C99-capable, but the header files on the system (math.h!) are specific to the MIPSpro compiler (using some private `__generic` macro that is not available on gcc) - the installed MIPSpro C compiler (which also supports C99) warns a lot about missing licenses, but this can be ignored. unfortunately, the disk image lacks the actual backend compiler /usr/lib32/cmplrs/fec, so the MIPSpro compiler is not usable. funnily, the MIPSpro C++ compiler (using /usr/lib32/cmplrs/fecc as backend) did work.
this is where my little adventure ended: i tried to (re)install some packages that should provide the (MIPSpro) C-compiler, but this uninstalled half of the system and now it doesn't boot any more.
I didn't try to build Pd with the c++ compiler (as this typically does not work), and now it's too late to try...
of course, even if i did manage to compile, the audio backend for the SGI had been removed for the Pd-0.41; but I guess it would be possible to ressurect it from the release history
fmdasdr IOhannes [1] https://forums.irixnet.org/thread-4081.html [2820] https://github.com/pure-data/pure-data/issues/2820 [79865015] https://stackoverflow.com/questions/79865015 -- please do not CC me for list-emails
OpenPGP_signature.asc
Description: OpenPGP digital signature
--- [email protected] - the Pure Data mailinglist https://lists.iem.at/hyperkitty/list/[email protected]/message/Y23IOAL2FC2LTEYU6UT6D6C3VRVQNSA5/ To unsubscribe send an email to [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/
