Thread overview | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
July 18, 2008 GDC on psptoolchain | ||||
---|---|---|---|---|
| ||||
Building GDC for the psptoolchain (as psp-gdc) is it possible? I get compile errors such as this: http://paste.dprogramming.com/dppq5raf Even though I did apply PSP patches and ran d language setup.sh I'm not sure how to patch gdc for PSP use. I like programming on Playstation Portable, but I only desire to return to that scene if I can program in a sensible, modern language such as D. |
July 19, 2008 Re: GDC on psptoolchain | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Grindstaff | John Grindstaff wrote:
> Building GDC for the psptoolchain (as psp-gdc) is it possible? I get compile errors such as this:
>
> http://paste.dprogramming.com/dppq5raf
>
> Even though I did apply PSP patches and ran d language setup.sh
>
> I'm not sure how to patch gdc for PSP use. I like programming on Playstation Portable, but I only desire to return to that scene if I can program in a sensible, modern language such as D.
>
>
>
The latest SVN version has fixes that will allow GDC to build with psptoolchain (and MIPS, in general). I do not have a PSP, so I cannot really test it beyond this.
David
|
July 20, 2008 Re: GDC on psptoolchain | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Friedman | The very latest? I checked out svn last week but I didn't know what to put in the configuration files in order to make it build. The psptoolchain works by compiling PSP binaries on a POSIX system, so setting the configuration file might be tricky.
Thanks
David Friedman wrote:
> John Grindstaff wrote:
>> Building GDC for the psptoolchain (as psp-gdc) is it possible? I get compile errors such as this:
>>
>> http://paste.dprogramming.com/dppq5raf
>>
>> Even though I did apply PSP patches and ran d language setup.sh
>>
>> I'm not sure how to patch gdc for PSP use. I like programming on Playstation Portable, but I only desire to return to that scene if I can program in a sensible, modern language such as D.
>>
>>
>>
>
> The latest SVN version has fixes that will allow GDC to build with psptoolchain (and MIPS, in general). I do not have a PSP, so I cannot really test it beyond this.
>
> David
|
July 20, 2008 Re: GDC on psptoolchain | ||||
---|---|---|---|---|
| ||||
Posted in reply to FreekSh0w86 | Yes, the very latest -- checked in last night. I'm not sure what you mean by config 'files'. You should use the commands in the psptoolchain build scripts. The only difference is that the --enable-languages option should be
--enable-languages=c,c++,d
or
--enable-languages=c,d
David
FreekSh0w86 wrote:
> The very latest? I checked out svn last week but I didn't know what to put in the configuration files in order to make it build. The psptoolchain works by compiling PSP binaries on a POSIX system, so setting the configuration file might be tricky.
>
> Thanks
>
> David Friedman wrote:
>> John Grindstaff wrote:
>>> Building GDC for the psptoolchain (as psp-gdc) is it possible? I get compile errors such as this:
>>>
>>> http://paste.dprogramming.com/dppq5raf
>>>
>>> Even though I did apply PSP patches and ran d language setup.sh
>>>
>>> I'm not sure how to patch gdc for PSP use. I like programming on Playstation Portable, but I only desire to return to that scene if I can program in a sensible, modern language such as D.
>>>
>>>
>>>
>>
>> The latest SVN version has fixes that will allow GDC to build with psptoolchain (and MIPS, in general). I do not have a PSP, so I cannot really test it beyond this.
>>
>> David
|
July 23, 2008 Re: GDC on psptoolchain | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Friedman | Hi, I was intrigued enough to have another go at compiling GDC for the PSP (my previous attempt half a year ago did not get me very far), and I can say that at least the toolchain builds fine (for D 1.0) with a working compiler and a libgphobos. (When I enabled D 2.0, the toolchain build stopped with compiler errors) Here's what my psp-gdc -v produces: Using built-in specs. Target: psp Configured with: ../configure --prefix=/pspdev --target=psp --enable-languages=c,d,c++ --with-newlib --enable-cxx-flags=-G0 --disable-libssp --enable-static --disable-shared Thread model: single gcc version 4.1.0 20060228 ( gdc 0.24, using dmd 1.030) (PSPDEV 20060507) BTW you can also see the configure flags I used. I wanted to see if I could get a working executable. So my test was, to have D function be called from a C main function (because the PSP sdk has some special initialization macros that I guess need to be defined to get a working executable). However when linking the program I got a lot of linker errors, originating from libphobos/std/math.d and libphobos/gcc/cbridge_math.c. My guess is that these come from the lack of double support on the psp toolchain. Could that be the case, or is it some kind of misconfiguration? Also is there some way of fixing this? Thanks! Here is the test program: ---------------------------------- testd.d: import std.stdio; extern(C) void dfunc() { printf("Hello from D"); } ---------------------------------- #include <pspkernel.h> #include <stdio.h> PSP_MODULE_INFO("test", 0, 1, 1); PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU); extern void dfunc(); int main(int argc, char *argv[]) { printf("Hello World\n"); dfunc(); return 0; } ---------------------------------- Here are the actual errors: psp-gcc -I. -I/pspdev/psp/sdk/include -O0 -g -G0 -Wall -D_PSP_FW_VERSION=150 -L. -L/pspdev/psp/sdk/lib -specs=/pspdev/psp/sdk/lib/prxspecs -Wl,-q,-T/pspdev/psp/sdk/lib/linkfile.prx main.o testd.o /pspdev/psp/sdk/lib/prxexports.o -lgphobos -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o test.elf /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4exp2FeZe': ../../../libphobos/std/math.d:785: undefined reference to `pow' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFddZd': ../../../libphobos/std/math.d:2137: undefined reference to `nextafter' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFffZf': ../../../libphobos/std/math.d:2126: undefined reference to `nextafterf' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFeeZe': ../../../libphobos/std/math.d:2115: undefined reference to `nextafter' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3powFeeZe': ../../../libphobos/std/math.d:2371: undefined reference to `pow' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9remainderFeeZe': ../../../libphobos/std/math.d:1574: undefined reference to `remainder' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5truncFeZe': ../../../libphobos/std/math.d:1550: undefined reference to `trunc' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5roundFeZe': ../../../libphobos/std/math.d:1509: undefined reference to `round' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nearbyintFeZe': ../../../libphobos/std/math.d:1431: undefined reference to `nearbyint' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5floorFeZe': ../../../libphobos/std/math.d:1417: undefined reference to `floor' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4ceilFeZe': ../../../libphobos/std/math.d:1411: undefined reference to `ceil' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math6tgammaFeZe': ../../../libphobos/std/math.d:1402: undefined reference to `tgamma' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math6lgammaFeZe': ../../../libphobos/std/math.d:1365: undefined reference to `lgamma' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4erfcFeZe': ../../../libphobos/std/math.d:1345: undefined reference to `erfc' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3erfFeZe': ../../../libphobos/std/math.d:1337: undefined reference to `erf' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4cbrtFeZe': ../../../libphobos/std/math.d:1196: undefined reference to `cbrt' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4logbFeZe': ../../../libphobos/std/math.d:1137: undefined reference to `logb' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4log2FeZe': ../../../libphobos/std/math.d:1120: undefined reference to `log' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3logFeZe': ../../../libphobos/std/math.d:1077: undefined reference to `log' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5log1pFeZe': ../../../libphobos/std/math.d:1107: undefined reference to `log1p' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5log10FeZe': ../../../libphobos/std/math.d:1090: undefined reference to `log10' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5ilogbFeZi': ../../../libphobos/std/math.d:1052: undefined reference to `ilogb' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4expiFeZc': ../../../libphobos/std/math.d:832: undefined reference to `cos' ../../../libphobos/std/math.d:832: undefined reference to `sin' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5expm1FeZe': ../../../libphobos/std/math.d:804: undefined reference to `expm1' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3expFeZe': ../../../libphobos/std/math.d:774: undefined reference to `exp' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFeZe': ../../../libphobos/std/math.d:721: undefined reference to `sqrt' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFdZd': ../../../libphobos/std/math.d:719: undefined reference to `sqrt' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFfZf': ../../../libphobos/std/math.d:717: undefined reference to `sqrtf' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4tanhFeZe': ../../../libphobos/std/math.d:585: undefined reference to `tanh' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sinhFeZe': ../../../libphobos/std/math.d:574: undefined reference to `sinh' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4coshFeZe': ../../../libphobos/std/math.d:563: undefined reference to `cosh' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5atan2FeeZe': ../../../libphobos/std/math.d:553: undefined reference to `atan2' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4atanFeZe': ../../../libphobos/std/math.d:530: undefined reference to `atan' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4asinFeZe': ../../../libphobos/std/math.d:518: undefined reference to `asin' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4acosFeZe': ../../../libphobos/std/math.d:505: undefined reference to `acos' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFfZi': ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitf' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFdZi': ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitd' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFeZi': ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitd' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFfZi': ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyf' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFdZi': ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyd' /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFeZi': ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyd' David Friedman Wrote: > Yes, the very latest -- checked in last night. I'm not sure what you mean by config 'files'. You should use the commands in the psptoolchain build scripts. The only difference is that the --enable-languages option should be > > --enable-languages=c,c++,d > > or > > --enable-languages=c,d > > David > > FreekSh0w86 wrote: > > The very latest? I checked out svn last week but I didn't know what to put in the configuration files in order to make it build. The psptoolchain works by compiling PSP binaries on a POSIX system, so setting the configuration file might be tricky. > > > > Thanks > > > > David Friedman wrote: > >> John Grindstaff wrote: > >>> Building GDC for the psptoolchain (as psp-gdc) is it possible? I get compile errors such as this: > >>> > >>> http://paste.dprogramming.com/dppq5raf > >>> > >>> Even though I did apply PSP patches and ran d language setup.sh > >>> > >>> I'm not sure how to patch gdc for PSP use. I like programming on Playstation Portable, but I only desire to return to that scene if I can program in a sensible, modern language such as D. > >>> > >>> > >>> > >> > >> The latest SVN version has fixes that will allow GDC to build with psptoolchain (and MIPS, in general). I do not have a PSP, so I cannot really test it beyond this. > >> > >> David |
July 23, 2008 Re: GDC on psptoolchain | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kostas Karanikolas | Thanks for listing the compile flags. I successfully built an executable but there was no libgphobos.a appearing--which prevented me from instantiating any classes or structs in my test example (which operates similar to yours--an extern'd d function called from C).
Would it be possible to use a stripped down version of Tango or Phobos, perhaps something that has the base type/classinfo and memory management stuff and leave the rest alone? I just need auto memory management and classes and I can use all the sce* psp sdk functions for other things.
BTW, you might want to use pspDebugScreenPrintf and pspDebugScreenInit instead of printf for the C code. Last time I checked, they are very different and printf doesn't work.
Kostas Karanikolas wrote:
> Hi, I was intrigued enough to have another go at compiling GDC for the PSP (my previous attempt half a year ago did not get me very far), and I can say that at least the toolchain builds fine (for D 1.0) with a working compiler and a libgphobos. (When I enabled D 2.0, the toolchain build stopped with compiler errors)
>
> Here's what my psp-gdc -v produces:
>
> Using built-in specs.
> Target: psp
> Configured with: ../configure --prefix=/pspdev --target=psp --enable-languages=c,d,c++ --with-newlib --enable-cxx-flags=-G0 --disable-libssp --enable-static --disable-shared
> Thread model: single
> gcc version 4.1.0 20060228 ( gdc 0.24, using dmd 1.030) (PSPDEV 20060507)
>
> BTW you can also see the configure flags I used.
>
> I wanted to see if I could get a working executable. So my test was, to have D function be called from a C main function (because the PSP sdk has some special initialization macros that I guess need to be defined to get a working executable). However when linking the program I got a lot of linker errors, originating from libphobos/std/math.d and libphobos/gcc/cbridge_math.c. My guess is that these come from the lack of double support on the psp toolchain. Could that be the case, or is it some kind of misconfiguration? Also is there some way of fixing this?
>
> Thanks!
>
> Here is the test program:
> ----------------------------------
> testd.d:
> import std.stdio;
>
> extern(C) void dfunc()
> {
> printf("Hello from D");
> }
>
> ----------------------------------
> #include <pspkernel.h>
> #include <stdio.h>
> PSP_MODULE_INFO("test", 0, 1, 1);
> PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
> extern void dfunc();
> int main(int argc, char *argv[])
> {
> printf("Hello World\n");
> dfunc();
> return 0;
> }
>
> ----------------------------------
> Here are the actual errors:
>
> psp-gcc -I. -I/pspdev/psp/sdk/include -O0 -g -G0 -Wall -D_PSP_FW_VERSION=150 -L. -L/pspdev/psp/sdk/lib -specs=/pspdev/psp/sdk/lib/prxspecs -Wl,-q,-T/pspdev/psp/sdk/lib/linkfile.prx main.o testd.o /pspdev/psp/sdk/lib/prxexports.o -lgphobos -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o test.elf
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4exp2FeZe':
> ../../../libphobos/std/math.d:785: undefined reference to `pow'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFddZd':
> ../../../libphobos/std/math.d:2137: undefined reference to `nextafter'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFffZf':
> ../../../libphobos/std/math.d:2126: undefined reference to `nextafterf'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFeeZe':
> ../../../libphobos/std/math.d:2115: undefined reference to `nextafter'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3powFeeZe':
> ../../../libphobos/std/math.d:2371: undefined reference to `pow'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9remainderFeeZe':
> ../../../libphobos/std/math.d:1574: undefined reference to `remainder'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5truncFeZe':
> ../../../libphobos/std/math.d:1550: undefined reference to `trunc'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5roundFeZe':
> ../../../libphobos/std/math.d:1509: undefined reference to `round'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nearbyintFeZe':
> ../../../libphobos/std/math.d:1431: undefined reference to `nearbyint'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5floorFeZe':
> ../../../libphobos/std/math.d:1417: undefined reference to `floor'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4ceilFeZe':
> ../../../libphobos/std/math.d:1411: undefined reference to `ceil'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math6tgammaFeZe':
> ../../../libphobos/std/math.d:1402: undefined reference to `tgamma'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math6lgammaFeZe':
> ../../../libphobos/std/math.d:1365: undefined reference to `lgamma'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4erfcFeZe':
> ../../../libphobos/std/math.d:1345: undefined reference to `erfc'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3erfFeZe':
> ../../../libphobos/std/math.d:1337: undefined reference to `erf'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4cbrtFeZe':
> ../../../libphobos/std/math.d:1196: undefined reference to `cbrt'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4logbFeZe':
> ../../../libphobos/std/math.d:1137: undefined reference to `logb'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4log2FeZe':
> ../../../libphobos/std/math.d:1120: undefined reference to `log'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3logFeZe':
> ../../../libphobos/std/math.d:1077: undefined reference to `log'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5log1pFeZe':
> ../../../libphobos/std/math.d:1107: undefined reference to `log1p'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5log10FeZe':
> ../../../libphobos/std/math.d:1090: undefined reference to `log10'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5ilogbFeZi':
> ../../../libphobos/std/math.d:1052: undefined reference to `ilogb'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4expiFeZc':
> ../../../libphobos/std/math.d:832: undefined reference to `cos'
> ../../../libphobos/std/math.d:832: undefined reference to `sin'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5expm1FeZe':
> ../../../libphobos/std/math.d:804: undefined reference to `expm1'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3expFeZe':
> ../../../libphobos/std/math.d:774: undefined reference to `exp'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFeZe':
> ../../../libphobos/std/math.d:721: undefined reference to `sqrt'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFdZd':
> ../../../libphobos/std/math.d:719: undefined reference to `sqrt'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFfZf':
> ../../../libphobos/std/math.d:717: undefined reference to `sqrtf'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4tanhFeZe':
> ../../../libphobos/std/math.d:585: undefined reference to `tanh'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sinhFeZe':
> ../../../libphobos/std/math.d:574: undefined reference to `sinh'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4coshFeZe':
> ../../../libphobos/std/math.d:563: undefined reference to `cosh'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5atan2FeeZe':
> ../../../libphobos/std/math.d:553: undefined reference to `atan2'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4atanFeZe':
> ../../../libphobos/std/math.d:530: undefined reference to `atan'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4asinFeZe':
> ../../../libphobos/std/math.d:518: undefined reference to `asin'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4acosFeZe':
> ../../../libphobos/std/math.d:505: undefined reference to `acos'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFfZi':
> ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitf'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFdZi':
> ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitd'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFeZi':
> ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitd'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFfZi':
> ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyf'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFdZi':
> ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyd'
> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFeZi':
> ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyd'
>
|
July 23, 2008 Re: GDC on psptoolchain | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Grindstaff | Oh yeah, did you try explicitly linking to the math lib (-lm)? Sometimes library flags such as "-lm" have to be placed in a different order, before or after others, it's really strange. As far as I know, doubles work fine on the PSP--I wrote a calculator program that uses doubles for the PSP a long time ago. |
July 23, 2008 Re: GDC on psptoolchain | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Grindstaff | On Wed, 23 Jul 2008 14:26:13 -0400, John Grindstaff wrote: > Oh yeah, did you try explicitly linking to the math lib (-lm)? Sometimes > library flags such as "-lm" have to be placed in a different order, > before or after others, it's really strange. > > As far as I know, doubles work fine on the PSP--I wrote a calculator program that uses doubles for the PSP a long time ago. Nice to hear, do you mind writing a short howto? Maybe on the news-group or on http://www.prowiki.org/wiki4d. For others who want to follow the path. |
July 23, 2008 Re: GDC on psptoolchain | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Grindstaff | Hi,
Sorry to participate to this discussion but we may have some common goals.
Actually my company is actually working on generating a cross-compiler running on windows CE device.
We have almost finished, there are some minors bugs but it's pretty close.
Now I agree with you it would be great if we could compile with no dependencies to libphobos and actually it's possible if you pass -nophoboslib to linker.
But more generally we are working on a framework called Gynoid that targets embedded platforms(Windows CE, Symbian, Darwin) and it would be great if we could add support for PSP...
There something I don't understand in your sentence below :
> Would it be possible to use a stripped down version of Tango orPhobos,
> perhaps something that has the base type/classinfo and memory management
> stuff and leave the rest alone? I just need auto memory management and
> classes and I can use all the sce* psp sdk functions for other things.
I thought that memory management was part of the language and not in phobos lib, in this case I really agree that it would be interesting to remove libphobos dependency and to allow developpers to developp their own lib.
John Grindstaff a écrit :
> Thanks for listing the compile flags. I successfully built an executable but there was no libgphobos.a appearing--which prevented me from instantiating any classes or structs in my test example (which operates similar to yours--an extern'd d function called from C).
>
> Would it be possible to use a stripped down version of Tango or Phobos, perhaps something that has the base type/classinfo and memory management stuff and leave the rest alone? I just need auto memory management and classes and I can use all the sce* psp sdk functions for other things.
>
> BTW, you might want to use pspDebugScreenPrintf and pspDebugScreenInit instead of printf for the C code. Last time I checked, they are very different and printf doesn't work.
>
> Kostas Karanikolas wrote:
>> Hi, I was intrigued enough to have another go at compiling GDC for the PSP (my previous attempt half a year ago did not get me very far), and I can say that at least the toolchain builds fine (for D 1.0) with a working compiler and a libgphobos. (When I enabled D 2.0, the toolchain build stopped with compiler errors)
>>
>> Here's what my psp-gdc -v produces:
>>
>> Using built-in specs.
>> Target: psp
>> Configured with: ../configure --prefix=/pspdev --target=psp --enable-languages=c,d,c++ --with-newlib --enable-cxx-flags=-G0 --disable-libssp --enable-static --disable-shared
>> Thread model: single
>> gcc version 4.1.0 20060228 ( gdc 0.24, using dmd 1.030) (PSPDEV 20060507)
>>
>> BTW you can also see the configure flags I used.
>>
>> I wanted to see if I could get a working executable. So my test was, to have D function be called from a C main function (because the PSP sdk has some special initialization macros that I guess need to be defined to get a working executable). However when linking the program I got a lot of linker errors, originating from libphobos/std/math.d and libphobos/gcc/cbridge_math.c. My guess is that these come from the lack of double support on the psp toolchain. Could that be the case, or is it some kind of misconfiguration? Also is there some way of fixing this?
>>
>> Thanks!
>>
>> Here is the test program:
>> ----------------------------------
>> testd.d:
>> import std.stdio;
>>
>> extern(C) void dfunc()
>> {
>> printf("Hello from D");
>> }
>>
>> ----------------------------------
>> #include <pspkernel.h>
>> #include <stdio.h>
>> PSP_MODULE_INFO("test", 0, 1, 1);
>> PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
>> extern void dfunc();
>> int main(int argc, char *argv[])
>> {
>> printf("Hello World\n");
>> dfunc();
>> return 0;
>> }
>>
>> ----------------------------------
>> Here are the actual errors:
>>
>> psp-gcc -I. -I/pspdev/psp/sdk/include -O0 -g -G0 -Wall -D_PSP_FW_VERSION=150 -L. -L/pspdev/psp/sdk/lib -specs=/pspdev/psp/sdk/lib/prxspecs -Wl,-q,-T/pspdev/psp/sdk/lib/linkfile.prx main.o testd.o /pspdev/psp/sdk/lib/prxexports.o -lgphobos -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o test.elf
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4exp2FeZe':
>> ../../../libphobos/std/math.d:785: undefined reference to `pow'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFddZd':
>> ../../../libphobos/std/math.d:2137: undefined reference to `nextafter'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFffZf':
>> ../../../libphobos/std/math.d:2126: undefined reference to `nextafterf'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFeeZe':
>> ../../../libphobos/std/math.d:2115: undefined reference to `nextafter'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3powFeeZe':
>> ../../../libphobos/std/math.d:2371: undefined reference to `pow'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9remainderFeeZe':
>> ../../../libphobos/std/math.d:1574: undefined reference to `remainder'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5truncFeZe':
>> ../../../libphobos/std/math.d:1550: undefined reference to `trunc'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5roundFeZe':
>> ../../../libphobos/std/math.d:1509: undefined reference to `round'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nearbyintFeZe':
>> ../../../libphobos/std/math.d:1431: undefined reference to `nearbyint'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5floorFeZe':
>> ../../../libphobos/std/math.d:1417: undefined reference to `floor'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4ceilFeZe':
>> ../../../libphobos/std/math.d:1411: undefined reference to `ceil'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math6tgammaFeZe':
>> ../../../libphobos/std/math.d:1402: undefined reference to `tgamma'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math6lgammaFeZe':
>> ../../../libphobos/std/math.d:1365: undefined reference to `lgamma'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4erfcFeZe':
>> ../../../libphobos/std/math.d:1345: undefined reference to `erfc'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3erfFeZe':
>> ../../../libphobos/std/math.d:1337: undefined reference to `erf'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4cbrtFeZe':
>> ../../../libphobos/std/math.d:1196: undefined reference to `cbrt'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4logbFeZe':
>> ../../../libphobos/std/math.d:1137: undefined reference to `logb'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4log2FeZe':
>> ../../../libphobos/std/math.d:1120: undefined reference to `log'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3logFeZe':
>> ../../../libphobos/std/math.d:1077: undefined reference to `log'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5log1pFeZe':
>> ../../../libphobos/std/math.d:1107: undefined reference to `log1p'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5log10FeZe':
>> ../../../libphobos/std/math.d:1090: undefined reference to `log10'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5ilogbFeZi':
>> ../../../libphobos/std/math.d:1052: undefined reference to `ilogb'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4expiFeZc':
>> ../../../libphobos/std/math.d:832: undefined reference to `cos'
>> ../../../libphobos/std/math.d:832: undefined reference to `sin'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5expm1FeZe':
>> ../../../libphobos/std/math.d:804: undefined reference to `expm1'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3expFeZe':
>> ../../../libphobos/std/math.d:774: undefined reference to `exp'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFeZe':
>> ../../../libphobos/std/math.d:721: undefined reference to `sqrt'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFdZd':
>> ../../../libphobos/std/math.d:719: undefined reference to `sqrt'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFfZf':
>> ../../../libphobos/std/math.d:717: undefined reference to `sqrtf'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4tanhFeZe':
>> ../../../libphobos/std/math.d:585: undefined reference to `tanh'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sinhFeZe':
>> ../../../libphobos/std/math.d:574: undefined reference to `sinh'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4coshFeZe':
>> ../../../libphobos/std/math.d:563: undefined reference to `cosh'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5atan2FeeZe':
>> ../../../libphobos/std/math.d:553: undefined reference to `atan2'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4atanFeZe':
>> ../../../libphobos/std/math.d:530: undefined reference to `atan'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4asinFeZe':
>> ../../../libphobos/std/math.d:518: undefined reference to `asin'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4acosFeZe':
>> ../../../libphobos/std/math.d:505: undefined reference to `acos'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFfZi':
>> ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitf'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFdZi':
>> ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitd'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFeZi':
>> ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitd'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFfZi':
>> ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyf'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFdZi':
>> ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyd'
>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFeZi':
>> ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyd'
>>
|
July 23, 2008 Re: GDC on psptoolchain | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vincent Richomme | I think libphobos contains the whole runtime, which is needed for classes, structs, garbage collection, etc.
Of course it is possible to compile d source files without libphobos, but a runtime of some sort is still needed for class instances and garbage collection.
Vincent Richomme wrote:
> Hi,
>
> Sorry to participate to this discussion but we may have some common goals.
> Actually my company is actually working on generating a cross-compiler running on windows CE device.
> We have almost finished, there are some minors bugs but it's pretty close.
> Now I agree with you it would be great if we could compile with no dependencies to libphobos and actually it's possible if you pass -nophoboslib to linker.
> But more generally we are working on a framework called Gynoid that targets embedded platforms(Windows CE, Symbian, Darwin) and it would be great if we could add support for PSP...
>
> There something I don't understand in your sentence below :
>
> > Would it be possible to use a stripped down version of Tango orPhobos,
> > perhaps something that has the base type/classinfo and memory management
> > stuff and leave the rest alone? I just need auto memory management and
> > classes and I can use all the sce* psp sdk functions for other things.
>
> I thought that memory management was part of the language and not in phobos lib, in this case I really agree that it would be interesting to remove libphobos dependency and to allow developpers to developp their own lib.
>
>
>
>
>
>
>
> John Grindstaff a écrit :
>> Thanks for listing the compile flags. I successfully built an executable but there was no libgphobos.a appearing--which prevented me from instantiating any classes or structs in my test example (which operates similar to yours--an extern'd d function called from C).
>>
>> Would it be possible to use a stripped down version of Tango or Phobos, perhaps something that has the base type/classinfo and memory management stuff and leave the rest alone? I just need auto memory management and classes and I can use all the sce* psp sdk functions for other things.
>>
>> BTW, you might want to use pspDebugScreenPrintf and pspDebugScreenInit instead of printf for the C code. Last time I checked, they are very different and printf doesn't work.
>>
>> Kostas Karanikolas wrote:
>>> Hi, I was intrigued enough to have another go at compiling GDC for the PSP (my previous attempt half a year ago did not get me very far), and I can say that at least the toolchain builds fine (for D 1.0) with a working compiler and a libgphobos. (When I enabled D 2.0, the toolchain build stopped with compiler errors)
>>>
>>> Here's what my psp-gdc -v produces:
>>>
>>> Using built-in specs.
>>> Target: psp
>>> Configured with: ../configure --prefix=/pspdev --target=psp --enable-languages=c,d,c++ --with-newlib --enable-cxx-flags=-G0 --disable-libssp --enable-static --disable-shared
>>> Thread model: single
>>> gcc version 4.1.0 20060228 ( gdc 0.24, using dmd 1.030) (PSPDEV 20060507)
>>>
>>> BTW you can also see the configure flags I used.
>>>
>>> I wanted to see if I could get a working executable. So my test was, to have D function be called from a C main function (because the PSP sdk has some special initialization macros that I guess need to be defined to get a working executable). However when linking the program I got a lot of linker errors, originating from libphobos/std/math.d and libphobos/gcc/cbridge_math.c. My guess is that these come from the lack of double support on the psp toolchain. Could that be the case, or is it some kind of misconfiguration? Also is there some way of fixing this?
>>>
>>> Thanks!
>>>
>>> Here is the test program:
>>> ----------------------------------
>>> testd.d:
>>> import std.stdio;
>>>
>>> extern(C) void dfunc()
>>> {
>>> printf("Hello from D");
>>> }
>>>
>>> ----------------------------------
>>> #include <pspkernel.h>
>>> #include <stdio.h>
>>> PSP_MODULE_INFO("test", 0, 1, 1);
>>> PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
>>> extern void dfunc();
>>> int main(int argc, char *argv[])
>>> {
>>> printf("Hello World\n");
>>> dfunc();
>>> return 0;
>>> }
>>>
>>> ----------------------------------
>>> Here are the actual errors:
>>>
>>> psp-gcc -I. -I/pspdev/psp/sdk/include -O0 -g -G0 -Wall -D_PSP_FW_VERSION=150 -L. -L/pspdev/psp/sdk/lib -specs=/pspdev/psp/sdk/lib/prxspecs -Wl,-q,-T/pspdev/psp/sdk/lib/linkfile.prx main.o testd.o /pspdev/psp/sdk/lib/prxexports.o -lgphobos -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o test.elf
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4exp2FeZe':
>>> ../../../libphobos/std/math.d:785: undefined reference to `pow'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFddZd':
>>> ../../../libphobos/std/math.d:2137: undefined reference to `nextafter'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFffZf':
>>> ../../../libphobos/std/math.d:2126: undefined reference to `nextafterf'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nextafterFeeZe':
>>> ../../../libphobos/std/math.d:2115: undefined reference to `nextafter'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3powFeeZe':
>>> ../../../libphobos/std/math.d:2371: undefined reference to `pow'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9remainderFeeZe':
>>> ../../../libphobos/std/math.d:1574: undefined reference to `remainder'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5truncFeZe':
>>> ../../../libphobos/std/math.d:1550: undefined reference to `trunc'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5roundFeZe':
>>> ../../../libphobos/std/math.d:1509: undefined reference to `round'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math9nearbyintFeZe':
>>> ../../../libphobos/std/math.d:1431: undefined reference to `nearbyint'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5floorFeZe':
>>> ../../../libphobos/std/math.d:1417: undefined reference to `floor'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4ceilFeZe':
>>> ../../../libphobos/std/math.d:1411: undefined reference to `ceil'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math6tgammaFeZe':
>>> ../../../libphobos/std/math.d:1402: undefined reference to `tgamma'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math6lgammaFeZe':
>>> ../../../libphobos/std/math.d:1365: undefined reference to `lgamma'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4erfcFeZe':
>>> ../../../libphobos/std/math.d:1345: undefined reference to `erfc'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3erfFeZe':
>>> ../../../libphobos/std/math.d:1337: undefined reference to `erf'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4cbrtFeZe':
>>> ../../../libphobos/std/math.d:1196: undefined reference to `cbrt'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4logbFeZe':
>>> ../../../libphobos/std/math.d:1137: undefined reference to `logb'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4log2FeZe':
>>> ../../../libphobos/std/math.d:1120: undefined reference to `log'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3logFeZe':
>>> ../../../libphobos/std/math.d:1077: undefined reference to `log'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5log1pFeZe':
>>> ../../../libphobos/std/math.d:1107: undefined reference to `log1p'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5log10FeZe':
>>> ../../../libphobos/std/math.d:1090: undefined reference to `log10'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5ilogbFeZi':
>>> ../../../libphobos/std/math.d:1052: undefined reference to `ilogb'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4expiFeZc':
>>> ../../../libphobos/std/math.d:832: undefined reference to `cos'
>>> ../../../libphobos/std/math.d:832: undefined reference to `sin'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5expm1FeZe':
>>> ../../../libphobos/std/math.d:804: undefined reference to `expm1'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math3expFeZe':
>>> ../../../libphobos/std/math.d:774: undefined reference to `exp'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFeZe':
>>> ../../../libphobos/std/math.d:721: undefined reference to `sqrt'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFdZd':
>>> ../../../libphobos/std/math.d:719: undefined reference to `sqrt'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sqrtFfZf':
>>> ../../../libphobos/std/math.d:717: undefined reference to `sqrtf'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4tanhFeZe':
>>> ../../../libphobos/std/math.d:585: undefined reference to `tanh'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4sinhFeZe':
>>> ../../../libphobos/std/math.d:574: undefined reference to `sinh'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4coshFeZe':
>>> ../../../libphobos/std/math.d:563: undefined reference to `cosh'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math5atan2FeeZe':
>>> ../../../libphobos/std/math.d:553: undefined reference to `atan2'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4atanFeZe':
>>> ../../../libphobos/std/math.d:530: undefined reference to `atan'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4asinFeZe':
>>> ../../../libphobos/std/math.d:518: undefined reference to `asin'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(math.o): In function `_D3std4math4acosFeZe':
>>> ../../../libphobos/std/math.d:505: undefined reference to `acos'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFfZi':
>>> ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitf'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFdZi':
>>> ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitd'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls7signbitFeZi':
>>> ../../../libphobos/gcc/cbridge_math.c:39: undefined reference to `__signbitd'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFfZi':
>>> ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyf'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFdZi':
>>> ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyd'
>>> /pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libgphobos.a(cbridge_math.o): In function `_D3gcc5fpcls10fpclassifyFeZi':
>>> ../../../libphobos/gcc/cbridge_math.c:38: undefined reference to `__fpclassifyd'
>>>
|
Copyright © 1999-2021 by the D Language Foundation