Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo
I'm trying to build STLport 5.2.1 on Solaris 10 (x86_64-sun-solaris2.10) with the Sun/Oracle Studio 12.2 toolchain (not gcc). I have GNU make 3.81. I've been building software on Solaris for years, so this isn't my first rodeo. I also did extensive searching for the error I'm encountering, and haven't found anything close.
I did this:
$ /local/bin/bzip2 -dc /local/src/RPM/SOURCES/STLport-5.2.1.tar.bz2 | tar -xf -
$ cd STLport-5.2.1
$ CFLAGS="-Xa -xO4 -xipo=2 -mt -KPIC"
$ CXXFLAGS="-xO3 -mt -KPIC"
$ CFLAGS="$CFLAGS -xtarget=native -m64 -xarch=native"
$ CXXFLAGS="$CXXFLAGS -xtarget=native -m64 -xarch=native"
$ export CC CFLAGS
$ export CXX CXXFLAGS
$ ./configure -prefix=/local -libdir=/local/lib/64 -use-compiler-family=CC -with-extra-cxxflags=" -xO3 -mt -KPIC -xtarget=native -m64 -xarch=native" -with-extra-cflags=" -Xa -xO4 -xipo=2 -mt -KPIC -xtarget=native -m64 -xarch=native"
gmake -C build/lib all;
gmake: Entering directory `/local/src/RPM/BUILD/STLport-5.2.1/build/lib'
/bin/sh: test: unknown operator obj/CC/so
gmake: *** Error 1
gmake: Leaving directory `/local/src/RPM/BUILD/STLport-5.2.1/build/lib'
gmake: *** Error 2
I've hunted through the Makefile fragments and tried various options to GNU make to get it to give me a better clue as to where the "obj/CC/so" is coming from, but so far I haven't even been successful in finding that.
Anyone seen this, or have a suggestion as to what makefile fragment I should be looking at?
Of course I find the problem not five minutes after posting my question…
It's build/Makefiles/gmake/targetdirs.mak, specifically the "createdirs" define.
-e $$d -a -f $$d
There are several variants of "test" available on Solaris 10, but the one built into the traditional Bourne shell apparently doesn't support "-e".
The -e is really superfluous anyway; -f $$d suffices for what's really being tested here - it exists and it's not a directory.
See STLport-5.2 branch. Here contributions from Jan Echternach, the last man who work with Solaris.
1. Don't set vars you set.
2. ./configure -use-compiler-family=CC
3. (cd build/lib && gmake )
bash is preferable, but STLport-5.2 branch should support born shell too, I hope.