Hello, I've running CDE here on Solaris and Illumos. Both compile
with SunStudio 12.3 without problems.
Unfortunately both are not the latest versions. But on Solaris 12.2
and Hipster 2014.10 everything is ok here.
If I can find the time I could update my Hipster and test CDE on it.
Maybe there were some changes so that CDE has problems.
On 06/09/18 23:52, Matthew R. Trower wrote:
Compiling with SunStudio12.3 (and possibly other versions) results in a
peculiar situation, as first documented here:
https://sourceforge.net/p/cdesktopenv/mailman/message/33004755/
This is an example with Solaris 11.2 which I have.
The problem occurs when libCliSrv is built. But that works for me.
I don't know what is wrong, but I don't think that it is a CDE problem.
More likely a problem with some system config (make?).
Can you send a build log with this kind of error?
Many generated Makefiles (example attached) contain lines like this:
---
msgsets.o: /opt/solarisstudio/prod/include/CC/Cstd/string
---
These lines are normal. They are generated by makedepend.
But of course there's no check on them, so they don't harm normally.
make proceeds to check up on those files, then tries to apply a generic
rule to them and compile them from the .cc file (!), which thankfully
fails miserably.
Three solutions come to mind:
1) touch the following files (the list may grow over time):
/opt/solarisstudio/prod/include/CC/Cstd/string
/opt/solarisstudio/prod/include/CC/Cstd/ios
/opt/solarisstudio/prod/include/CC/Cstd/ostream
/opt/solarisstudio/prod/include/CC/Cstd/istream
/opt/solarisstudio/prod/include/CC/Cstd/fstream
/opt/solarisstudio/prod/include/CC/Cstd/sstream
/opt/solarisstudio/prod/include/CC/Cstd/streambuf
/opt/solarisstudio/prod/include/CC/Cstd/rw/codecvt
/opt/solarisstudio/prod/include/CC/Cstd/rw/numeral
/opt/solarisstudio/prod/include/CC/Cstd/rw/locimpl
/opt/solarisstudio/prod/include/CC/Cstd/rw/iterator
/opt/solarisstudio/prod/include/CC/Cstd/rw/ctype
/opt/solarisstudio/prod/include/CC/Cstd/rw/rwlocale
either individually, or with this gnarly one-liner:
```
touch
/opt/solarisstudio/prod/include/CC/Cstd/{string,ios,{o,i,f,s}stream,streambuf,rw/{codecvt,numeral,locimpl,iterator,ctype,rwlocale}}
```
2) strip the offending lines from the generated Makefiles, after
generation and before kicking off the general `make`:
```
find . -name Makefile | \
xargs grep -l '.o:.*/opt/solarisstudio/prod/include/CC/' | \
xargs sed -i '/.o:.*\/opt\/solarisstudio\/prod\/include\/CC\//d'
```
3) Figure out what's broken with make (makedepend?) to begin with...
I don't think that makedepend is broken.
But some of your lines from sun.cf are different. Most important:
-I/opt/solarisstudio/prod/include/CC/std is missing in CXXDEPENDINCLUDES
This is needed to find cstdlib and was was added by one of the latest
patches.
Do you have the latest sun.cf file? I can see that you added things for
Motif.
Maybe they have been added to an older version of sun.cf?
#1 works as a hack, but should be listed in the wiki if we want to go that
route.
#2 works as a hack, and can easily be inserted into the top-level Makefile.
#3 is probably correct, but requires some looking into.
-- Matthew R. Trower
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
--
Ulrich Wilkens
Email: m...@uwilkens.de
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel