ps3dev / ps3toolchain

A script to autobuild an open source toolchain for the PS3.
BSD 2-Clause "Simplified" License
280 stars 92 forks source link

Docker build fails #101

Closed Dnawrkshp closed 3 years ago

Dnawrkshp commented 3 years ago

Hi I'm trying to build a docker image from master. During the build I get an error. I've attached the full output (log.zip) and have provided the cause of the error below. Any help would be appreciated!

building ... sprxlinker
main.c
linking ... ps3load
fpparser.cpp
compilervp.cpp
parser.cpp
compilerfp.cpp
main.cpp
/build/build/psl1ght/tools/cgcomp/source/main.cpp: In function 'int compileFP()':
/build/build/psl1ght/tools/cgcomp/source/main.cpp:456:10: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
    const auto& param = *it; 
          ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:456:16: error: ISO C++ forbids declaration of 'param' with no type [-fpermissive]
    const auto& param = *it; 
                ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:456:25: error: invalid initialization of reference of type 'const int&' from expression of type '_param'
    const auto& param = *it; 
                         ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:457:13: error: request for member 'is_const' in 'param', which is of non-class type 'const int'
    if(param.is_const && !param.is_internal) {
             ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:457:32: error: request for member 'is_internal' in 'param', which is of non-class type 'const int'
    if(param.is_const && !param.is_internal) {
                                ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:458:21: error: request for member 'count' in 'param', which is of non-class type 'const int'
     for(i=0;i<param.count;i++) {
                     ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:464:7: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
       auto& reloc = *d;
       ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:464:13: error: ISO C++ forbids declaration of 'reloc' with no type [-fpermissive]
       auto& reloc = *d;
             ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:464:22: error: invalid initialization of reference of type 'int&' from expression of type 'fragment_program_data'
       auto& reloc = *d;
                      ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:465:16: error: request for member 'index' in 'reloc', which is of non-class type 'int'
       if(reloc.index==(param.index + i)) {
                ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:465:30: error: request for member 'index' in 'param', which is of non-class type 'const int'
       if(reloc.index==(param.index + i)) {
                              ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:466:26: error: request for member 'offset' in 'reloc', which is of non-class type 'int'
        u32 offs = (reloc.offset*16);
                          ^
/build/build/psl1ght/tools/cgcomp/source/main.cpp:468:14: error: request for member 'user' in 'reloc', which is of non-class type 'int'
        reloc.user = lastoff;
              ^
/build/build/psl1ght/tools/cgcomp/Makefile:154: recipe for target 'main.o' failed
make[3]: *** [main.o] Error 1

Makefile:123: recipe for target 'build' failed
zeldin commented 3 years ago

Hi. Does it work better if you use https://github.com/ps3dev/ps3dev-docker instead? I think the dockerfile in this repo is just meant for some CI thing...

Dnawrkshp commented 3 years ago

Yes thank you!