forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Problems building C++ with Pixel's new gcc patch.

 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PS2 Development
View previous topic :: View next topic  
Author Message
ooPo
Site Admin


Joined: 17 Jan 2004
Posts: 2032
Location: Canada

PostPosted: Tue Feb 17, 2004 8:34 am    Post subject: Problems building C++ with Pixel's new gcc patch. Reply with quote

So I'm trying to build ps2-gcc with C++ support. Here's what I do:
Quote:

## gcc-3.2.2 (C++)
cd $TMPDIR; tar xfvz $SRCDIR/gcc-3.2.2.tar.gz; cd gcc-3.2.2
cat $SRCDIR/gcc-3.2.2-PS2.patch | patch -p1
mkdir build; cd build; ../configure --prefix=$PS2DEV/ps2 --target=ps2 --enable-languages="c,c++" --enable-cxx-flags="-G0"
make CFLAGS_FOR_TARGET="-G0"; make install
cd $TMPDIR; rm -Rf gcc-3.2.2


And here's the result:
Quote:

In file included from ../../../../libstdc++-v3/libsupc++/eh_alloc.cc:33:
/tmp/gcc-3.2.2/build/ps2/libstdc++-v3/include/cstdlib:86: `div_t' not declared
/tmp/gcc-3.2.2/build/ps2/libstdc++-v3/include/cstdlib:87: `ldiv_t' not declared
/tmp/gcc-3.2.2/build/ps2/libstdc++-v3/include/cstdlib:97: `div' not declared
/tmp/gcc-3.2.2/build/ps2/libstdc++-v3/include/cstdlib:102: `ldiv' not declared
/tmp/gcc-3.2.2/build/ps2/libstdc++-v3/include/cstdlib:104: `mblen' not declared
/tmp/gcc-3.2.2/build/ps2/libstdc++-v3/include/cstdlib:105: `mbstowcs' not declared
/tmp/gcc-3.2.2/build/ps2/libstdc++-v3/include/cstdlib:106: `mbtowc' not declared
/tmp/gcc-3.2.2/build/ps2/libstdc++-v3/include/cstdlib:115: `wcstombs' not declared
/tmp/gcc-3.2.2/build/ps2/libstdc++-v3/include/cstdlib:116: `wctomb' not declared
/tmp/gcc-3.2.2/build/ps2/libstdc++-v3/include/cstdlib:122: syntax error before `(' token
make[2]: *** [eh_alloc.lo] Error 1
make[2]: Leaving directory `/tmp/gcc-3.2.2/build/ps2/libstdc++-v3/libsupc++'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/tmp/gcc-3.2.2/build/ps2/libstdc++-v3'


Inside the file, it seems the problem is in this blurb of code:
Quote:

namespace std
{
using ::div_t;
using ::ldiv_t;

using ::abort;
using ::abs;
using ::atexit;
using ::atof;
using ::atoi;
using ::atol;
using ::bsearch;
using ::calloc;
using ::div;
using ::exit;
using ::free;
using ::getenv;
using ::labs;
using ::ldiv;
using ::malloc;
using ::mblen;
using ::mbstowcs;
using ::mbtowc;
using ::qsort;
using ::rand;
using ::realloc;
using ::srand;
using ::strtod;
using ::strtol;
using ::strtoul;
using ::system;
using ::wcstombs;
using ::wctomb;

inline long
abs(long __i) { return labs(__i); }

inline ldiv_t
div(long __i, long __j) { return ldiv(__i, __j); }
}


Any suggestions? I'm not a C++ monkey.
Back to top
View user's profile Send private message Visit poster's website
ooPo
Site Admin


Joined: 17 Jan 2004
Posts: 2032
Location: Canada

PostPosted: Tue Feb 17, 2004 9:11 am    Post subject: Reply with quote

After talking with pixel on irc:

../configure --prefix=$PS2DEV/ps2 --target=ps2 --enable-languages="c,c++" --with-headers=$PS2DEV/ps2/ps2/include --enable-cxx-flags="-G0"

Next time people want me to change my script, the answer is no.
Back to top
View user's profile Send private message Visit poster's website
mrbrown



Joined: 17 Jan 2004
Posts: 1536

PostPosted: Tue Feb 17, 2004 9:29 am    Post subject: Reply with quote

Having to specify --with-headers is either a bug in GCC 3.2.2 (or the patch), or an toolchain environment config issue -- GCC *always* checks <prefix>/<target>/include/ for its include files (among other directories, some of which you can configure on the configure line). This is the reason that newlib installs its includes into <prefix>/<target>/include/.

When I get to the tools, I'll take a look at this (note: I have never had to explicitly use --with-headers on the commandline on any of the systems I use [cygwin or linux]). --with-headers is for giving GCC an include path outside of its normal realm.

Also .. didn't you say this broke for you with pixel's latest patch? And what's your bootstrap configure line again?
Back to top
View user's profile Send private message
ooPo
Site Admin


Joined: 17 Jan 2004
Posts: 2032
Location: Canada

PostPosted: Tue Feb 17, 2004 9:51 am    Post subject: Reply with quote

For reference, I'm doing this all under linux. There's something mysterious at work here. When I'm done getting stuff compiled, I'll give you a copy of the autobuild script to toy with.

The conversation I was having with pixel about the broken thing was a miscommunication. He was talking about the stuff he had to do to build as non-root as part of a debian source package script, I was talking about something else. Ignore it. :)
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PS2 Development All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group