I did a git clone of the contrib repo in my AROS directory, then switched it to the alt-abiv0 branch. I had a problem building it (option 6, alt-abiv0-contrib-i386 in rebuild.sh) regarding not finding libglut. I noticed that I did not have the 32-bit libraries for freeglut installed, and so I installed them. But still no success. I ended up rebuilding everything (option 1, toolchain-alt-abiv0-i386, then option 3, alt-abiv0-linux-i386 (DEBUG), then option 6 again), but still a problem:
Linking AROS/Extras/Demos/EGL/eglgears...
Link failed: /home/jlm/code/AROS_build/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/jlm/code/AROS_build/alt-abiv0-contrib-i386/bin/linux-i386/AROS/Development /home/jlm/code/AROS_build/alt-abiv0-contrib-i386/bin/linux-i386/gen/contrib/Demo/MesaEGL/eglgears.o -o /home/jlm/code/AROS_build/alt-abiv0-contrib-i386/bin/linux-i386/AROS/Extras/Demos/EGL/eglgears -m32 -march=i686 -mno-ms-bitfields -newclib -lglut -leglut -lGL -lGLU -lEGL
/home/jlm/code/AROS_build/toolchain-alt-abiv0-i386/i386-aros-ld: cannot find -lglut
libglut.so is in /usr/lib32. I tried adding -L/usr/lib32, still didn't work. Eventually, I found this to work:
jlm@mcp:~/code/AROS_build 91> /home/jlm/code/AROS_build/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/jlm/code/AROS_build/alt-abiv0-contrib-i386/bin/linux-i386/AROS/Development /home/jlm/code/AROS_build/alt-abiv0-contrib-i386/bin/linux-i386/gen/contrib/Demo/MesaEGL/eglgears.o -o /home/jlm/code/AROS_build/alt-abiv0-contrib-i386/bin/linux-i386/AROS/Extras/Demos/EGL/eglgears -m32 -march=i686 -mno-ms-bitfields -newclib -leglut -lGL -lGLU -lEGL
I just removed -lglut and it worked. I can't explain it, because I do not have a /usr/lib32/libeglut.so file anywhere. Actually, I can't even find a 64 bit version of such a file, so I don't know where it is finding things.
Update:
Okay, so I am guessing with the --sysroot I should be looking in the alt-abiv3-contrib-i386 directory, and I see this:
./bin/linux-i386/AROS/Development/lib/libglut.a
./bin/linux-i386/AROS/Development/lib/libeglut.a
But I see that libglut.a is much more recent than libeglut.a. I think libglut.a wasn't built at the time I was getting the error. It is now built because I entered the alt-abiv0-contrib-i386 directory and did a make contrib .