aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Pages: 1 [2]

Author Topic: amule 2.3.1 - solaris 11/11 - sun compiler 12.3 : libCstd error  (Read 10248 times)

peerstudio

  • Approved Newbie
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 17
Re: amule 2.3.1 - solaris 11/11 - sun compiler 12.3 : libCstd error
« Reply #15 on: December 30, 2011, 10:12:00 PM »

with 'no luck' i am also referring to this :
"stdcxx4         Use the Apache stdcxx version 4
               library installed   as part   of Oracle
               Solaris, instead of the default
               libCstd.   This option also sets the
               -mt option implicitly. The stdcxx
               library requires multi-threading
               mode.  This option must be used
               consistently on every compilation
               and link command in the entire
               application. Code   compiled with
               -library=stdcxx4 cannot be used in
               the same program as code compiled
               with the default -library=Cstd or
               the optional -library=stlport4.


from http://docs.oracle.com/cd/E24457_01/html/E22003/cplusplus.1.html

or more explicitly:

Quote
Use the Apache stdcxx version 4 C++ standard library in Oracle Solaris, instead of the default
libCstd by compiling with -library=stdcxx4. This option also sets the -mt option implicitly.
The stdcxx library requires multithreading mode. This option must be used consistently on
every compilation and link command in the entire application. Code compiled with
-library=stdcxx4 cannot be used in the same program as code compiled with the default
-library=Cstd or the optional -library=stlport4.
Keep in mind the following when using the Apache stdcxx library:
   The stdcxx and iostream libraries provide their own implementation of I/O streams.
   Specifying more than one of these with the -library option can result in undefined
   program behavior.
   Tools.h++ is not supported with stdcxx.
   The C++ Interval Math library (libCsunimath) is not supported with stdcxx.
   The stdcxx library is binary incompatible with the default libCstd and with STLport. If you
   use the stdcxx implementation of the standard library, then you must compile and link all
   files, including third-party libraries, with the option -library=stdcxx4.

if this means also wxwidgets or wxbase (in my case) and cryptopp i guess this would be a pain.
Logged

peerstudio

  • Approved Newbie
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 17
Re: amule 2.3.1 - solaris 11/11 - sun compiler 12.3 : libCstd error
« Reply #16 on: December 30, 2011, 11:40:13 PM »


as said in a previous post, i think a solution can be in compat=g (now supported also on solarisx86)

please someone have a look at this appendix.
http://docs.oracle.com/cd/E24457_01/html/E21991/bkana.html#bkanr
the option description is very detailed but it does not explain what libraries or macros it uses for reaching this compatibity and where to get them

in fact, as expect:

./configure CFLAGS=-xc99 CXXFLAGS="-compat=g -DwxNEEDS_T -I/usr/local/sunstudio/include" --disable-monolithic  --enable-amule-daemon --disable-amulecmd --disable-webserver --disable-amule-gui --disable-cas --disable-wxcas --disable-alc --disable-alcc --disable-xas --disable-fileview --disable-plasmamule --disable-geoip --disable-upnp --disable-debug --disable-nls --with-zlib=sys --disable-ed2k --enable-optimize --enable-mmap

Code: [Select]
\
        source='FileFunctions.cpp' object='FileFunctions.o' libtool=no \
        DEPDIR=.deps depmode=none /bin/sh ../../../depcomp \
        CC -DHAVE_CONFIG_H -I. -I../../..  -DUSE_WX_EXTENSIONS  -I/usr/lib/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -DwxUSE_GUI=0  -O2 -mt -D_REENTRANT  -compat=g -DwxNEEDS_T -I/usr/local/sunstudio/include -c -o FileFunctions.o FileFunctions.cpp
CC: Warning: Can not determine include paths to compile with -library=stdcpp, please, consult documentation
"/usr/include/wx-2.8/wx/string.h", line 176: Error: Could not open include file<string>.
"/usr/include/wx-2.8/wx/string.h", line 181: Error: wstring is not a member of std.
"/usr/include/wx-2.8/wx/string.h", line 715: Error: const int is not a structure type.
"/usr/include/wx-2.8/wx/iosfwrap.h", line 18: Error: Could not open include file<iosfwd>.
"/usr/include/wx-2.8/wx/string.h", line 1649: Error: ostream is not a member of std.
"/usr/include/wx-2.8/wx/string.h", line 1649: Error: ostream is not a member of std.
"/usr/include/wx-2.8/wx/string.h", line 1649: Error: Operand expected instead of ",".
"/usr/include/wx-2.8/wx/string.h", line 1649: Error: There must be an identifier to declare.
"/usr/include/wx-2.8/wx/longlong.h", line 326: Error: ostream is not a member of std.
"/usr/include/wx-2.8/wx/longlong.h", line 326: Error: ostream is not a member of std.
"/usr/include/wx-2.8/wx/longlong.h", line 549: Error: ostream is not a member of std.
"/usr/include/wx-2.8/wx/longlong.h", line 549: Error: ostream is not a member of std.
"/usr/include/wx-2.8/wx/longlong.h", line 1070: Error: Multiple declaration for<<.
"/usr/include/wx-2.8/wx/longlong.h", line 1071: Error: Multiple declaration for<<.
"/usr/include/wx-2.8/wx/log.h", line 358: Error: ostream is not a member of std.
"/usr/include/wx-2.8/wx/log.h", line 365: Error: ostream is not a member of std.
"/usr/include/wx-2.8/wx/log.h", line 358: Error: ostream is not a member of std.
"/usr/include/wx-2.8/wx/log.h", line 358: Error: Operand expected instead of ")".
"/usr/include/wx-2.8/wx/log.h", line 358: Error: Operand expected instead of ")".
"FileFunctions.cpp", line 37: Error: Could not open include file<memory>.
"../../Types.h", line 33: Error: Could not open include file<list>.
"../../Types.h", line 34: Error: Could not open include file<vector>.
"../../Types.h", line 118: Error: list is not a member of std.
"../../Types.h", line 118: Error: A declaration does not specify a tag or an identifier.
"../../Types.h", line 118: Error: Use ";" to terminate declarations.
Compilation aborted, too many Error messages.
gmake[4]: *** [FileFunctions.o] Error 2
gmake[4]: Leaving directory `/usr/local/aMule-2.3.1/src/libs/common'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/usr/local/aMule-2.3.1/src/libs'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/local/aMule-2.3.1/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/local/aMule-2.3.1'
gmake: *** [all] Error 2

it says :
Quote
CC: Warning: Can not determine include paths to compile with -library=stdcpp, please, consult documentation
"/usr/include/wx-2.8/wx/string.h", line 176: Error: Could not open include file<string>.

now i do not know if it is referring to gcc compiler includes... i have tried to search for library stdcpp in relation to "compat=g" but there is no documentation. the most detailed is the link i posted above and this one http://docs.oracle.com/cd/E24457_01/html/E21991/bkana.html#bkapy

I have a question after reading this topic: http://forum.amule.org/index.php?topic=17455.0

since these two guys managed to compile a quite recent amule version on a quite recent solaris releas
AND
solaris is using the same std library from ages, and amule code is not changed a lot since 2.6.6

how they (Skolnick and vdb) did IT ??
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3764
  • Engines screaming
Re: amule 2.3.1 - solaris 11/11 - sun compiler 12.3 : libCstd error
« Reply #17 on: December 31, 2011, 11:46:54 AM »

how they (Skolnick and vdb) did IT ??

After lots of hair pulling I managed to get a working Solaris version of aMule, with lots of help from Skolnick, thanks for that.
;)
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

skolnick

  • Global Moderator
  • Hero Member
  • *****
  • Karma: 24
  • Offline Offline
  • Posts: 1189
  • CentOS 6 User
Re: amule 2.3.1 - solaris 11/11 - sun compiler 12.3 : libCstd error
« Reply #18 on: January 01, 2012, 02:51:13 AM »

Hi!

The latest time I compiled aMule on Solaris, I used Solaris 11 beta (don't remember the exact beta release, sorry). I wrote my steps here: http://wiki.amule.org/index.php/HowTo_compile_on_Solaris

The main difference from what I did to what you are doing is the compiler. I used the gcc from the standard Solaris installation, not SUN cc (I have not installed Solaris since Oracle bought SUN...I do not really like Oracle as a company ;) ). I also used some other GNUutilities because the solaris ones didn't work. Check the wiki entry and feel free to PM me if you have any question.

Best regards and happy new year ;)
« Last Edit: January 01, 2012, 02:52:52 AM by skolnick »
Logged

peerstudio

  • Approved Newbie
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 17
Re: amule 2.3.1 - solaris 11/11 - sun compiler 12.3 : libCstd error
« Reply #19 on: January 01, 2012, 03:16:37 AM »

i have tried for an entire day with gcc and gnu utils following that guide before creating this toping
i had problems compiling wxbase with gcc. i will post more details if i have time.

i think the solaris/openindiana community would be happy to have amule compiled properly especially now that many home storage solutions are solaris based and being able to share the data not only with bittorrent would be great.
i prefer using this forum for asking questions and share a possible solutions or just some tips.
Logged

skolnick

  • Global Moderator
  • Hero Member
  • *****
  • Karma: 24
  • Offline Offline
  • Posts: 1189
  • CentOS 6 User
Re: amule 2.3.1 - solaris 11/11 - sun compiler 12.3 : libCstd error
« Reply #20 on: January 01, 2012, 07:56:58 PM »

Hi

I think aMule is easier to compile with gcc than with cc (at least it was last time I tried). Also, notice that I have never even tried to compile wxBase on Solaris, I only tried wxGTK (which worked beautifully). I will try to build myself by installing a virtual machine (the hardware I had for Solaris died and never brought it back online). I wish I could be of more help, but I am not a developer myself.

Best regards
Logged

peerstudio

  • Approved Newbie
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 17
Re: amule 2.3.1 - solaris 11/11 - sun compiler 12.3 : libCstd error
« Reply #21 on: January 01, 2012, 10:12:08 PM »

skolnick you have been very helpful with your guide. i had really no idea where to start.
actually, i was able to compile with cc the this afternoon with the compat=g flag. i will post all the details asap.
best reagards
Logged

skolnick

  • Global Moderator
  • Hero Member
  • *****
  • Karma: 24
  • Offline Offline
  • Posts: 1189
  • CentOS 6 User
Re: amule 2.3.1 - solaris 11/11 - sun compiler 12.3 : libCstd error
« Reply #22 on: January 02, 2012, 03:16:50 AM »

I'm really glad to read that you succeeded. I hope you can share with us all of the details to update the wiki entry.

Best regards.
Logged

peerstudio

  • Approved Newbie
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 17
Re: amule 2.3.1 - solaris 11/11 - sun compiler 12.3 : libCstd error
« Reply #23 on: February 04, 2012, 05:18:46 PM »

http://pkg.openindiana.org/sfe/info/0/runtime%2Fgcc%404.6.2%2C5.11-0.151.1%3A20111222T011404Z

just want to say that with this updated gcc 4.6.2 package, amule compiles cleanly like on linux

do not use gcc-3 or gcc-45 packages on solaris 11 / openindiana 151
Logged

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 165
  • Offline Offline
  • Posts: 2675
Re: amule 2.3.1 - solaris 11/11 - sun compiler 12.3 : libCstd error
« Reply #24 on: February 05, 2012, 11:20:33 PM »

Good to hear that.
Logged
concordia cum veritate
Pages: 1 [2]