make: *** [Makefile:4817: ../src/jpeg/principia-jaricom.o] Error 1
Closed this issue · 12 comments
I have no idea how I supposedly solve this issue
joelr@JOEL-ROG-GL503GE MSYS /c/Bithack/principia/build-windows
$ ./go
CC ../src/jpeg/principia-jaricom.o
make: *** [Makefile:4817: ../src/jpeg/principia-jaricom.o] Error 1
I have followed the instruction & made sure all packages up to date.
I already moved the entire repo clone away from spaced folder name, right to the root, yet still emit the same error. What did I miss here?
Relevant Spec
- Windows 11 22H2
Yup
Sad to see you're not still on windows 7
Ugh
I thought this would solve it right ahead. Still error
joelr@JOEL-ROG-GL503GE MINGW64 /c/Users/joelr/Documents/kolmorotzzet (kolmorotshitt)/Artistic Setups/Bithack/principia/build-windows
$ ./autogen.sh && ./configure && ./go
configure: loading site script /etc/config.site
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... gcc3
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
CC ../src/jpeg/principia-jaricom.o
<command-line>: error: conflicting types for 'rand'; have 'long int(void)'
C:/msys64/usr/include/stdlib.h:258:9: note: in expansion of macro 'random'
258 | long random (void);
| ^~~~~~
In file included from ../src/jpeg/jinclude.h:39,
from ../src/jpeg/jaricom.c:17:
C:/msys64/usr/include/stdlib.h:144:9: note: previous declaration of 'rand' with type 'int(void)'
144 | int rand (void);
| ^~~~
make: *** [Makefile:4817: ../src/jpeg/principia-jaricom.o] Error 1
it's still looking for 32-bit stuff i think, try cleaning up, rerun ./autogen.sh
Run make clean
Then autogen.sh
Might be redundant but might help
Still not working
joelr@JOEL-ROG-GL503GE MINGW64 /c/Users/joelr/Documents/kolmorotzzet (kolmorotshitt)/Artistic Setups/Bithack/principia/build-windows
$ make clean
test -z "principia.exe" || rm -f principia.exe
rm -f *.o
rm -f ../src/GLEW/*.o
rm -f ../src/SDL-pc/SDL/src/*.o
rm -f ../src/SDL-pc/SDL/src/atomic/*.o
rm -f ../src/SDL-pc/SDL/src/audio/*.o
rm -f ../src/SDL-pc/SDL/src/audio/directsound/*.o
rm -f ../src/SDL-pc/SDL/src/audio/disk/*.o
rm -f ../src/SDL-pc/SDL/src/audio/dummy/*.o
rm -f ../src/SDL-pc/SDL/src/audio/winmm/*.o
rm -f ../src/SDL-pc/SDL/src/core/windows/*.o
rm -f ../src/SDL-pc/SDL/src/cpuinfo/*.o
rm -f ../src/SDL-pc/SDL/src/dynapi/*.o
rm -f ../src/SDL-pc/SDL/src/events/*.o
rm -f ../src/SDL-pc/SDL/src/file/*.o
rm -f ../src/SDL-pc/SDL/src/filesystem/windows/*.o
rm -f ../src/SDL-pc/SDL/src/libm/*.o
rm -f ../src/SDL-pc/SDL/src/loadso/windows/*.o
rm -f ../src/SDL-pc/SDL/src/power/*.o
rm -f ../src/SDL-pc/SDL/src/power/windows/*.o
rm -f ../src/SDL-pc/SDL/src/render/*.o
rm -f ../src/SDL-pc/SDL/src/render/direct3d/*.o
rm -f ../src/SDL-pc/SDL/src/render/opengl/*.o
rm -f ../src/SDL-pc/SDL/src/render/opengles/*.o
rm -f ../src/SDL-pc/SDL/src/render/opengles2/*.o
rm -f ../src/SDL-pc/SDL/src/render/psp/*.o
rm -f ../src/SDL-pc/SDL/src/render/software/*.o
rm -f ../src/SDL-pc/SDL/src/stdlib/*.o
rm -f ../src/SDL-pc/SDL/src/thread/*.o
rm -f ../src/SDL-pc/SDL/src/thread/generic/*.o
rm -f ../src/SDL-pc/SDL/src/thread/windows/*.o
rm -f ../src/SDL-pc/SDL/src/timer/*.o
rm -f ../src/SDL-pc/SDL/src/timer/windows/*.o
rm -f ../src/SDL-pc/SDL/src/video/*.o
rm -f ../src/SDL-pc/SDL/src/video/dummy/*.o
rm -f ../src/SDL-pc/SDL/src/video/windows/*.o
rm -f ../src/SDL_image/*.o
rm -f ../src/SDL_mixer/*.o
rm -f ../src/SDL_ttf/*.o
rm -f ../src/freetype/src/autofit/*.o
rm -f ../src/freetype/src/base/*.o
rm -f ../src/freetype/src/bdf/*.o
rm -f ../src/freetype/src/bzip2/*.o
rm -f ../src/freetype/src/cache/*.o
rm -f ../src/freetype/src/cff/*.o
rm -f ../src/freetype/src/cid/*.o
rm -f ../src/freetype/src/gxvalid/*.o
rm -f ../src/freetype/src/gzip/*.o
rm -f ../src/freetype/src/lzw/*.o
rm -f ../src/freetype/src/otvalid/*.o
rm -f ../src/freetype/src/pcf/*.o
rm -f ../src/freetype/src/pfr/*.o
rm -f ../src/freetype/src/psaux/*.o
rm -f ../src/freetype/src/pshinter/*.o
rm -f ../src/freetype/src/psnames/*.o
rm -f ../src/freetype/src/raster/*.o
rm -f ../src/freetype/src/sfnt/*.o
rm -f ../src/freetype/src/smooth/*.o
rm -f ../src/freetype/src/truetype/*.o
rm -f ../src/freetype/src/type1/*.o
rm -f ../src/freetype/src/type42/*.o
rm -f ../src/freetype/src/winfonts/*.o
rm -f ../src/gtk-undo/*.o
rm -f ../src/jpeg/*.o
rm -f ../src/lua/src/*.o
rm -f ../src/luasocket/src/*.o
rm -f ../src/png/*.o
rm -f ../src/src/*.o
rm -f ../src/src/Box2D/Collision/*.o
rm -f ../src/src/Box2D/Collision/Shapes/*.o
rm -f ../src/src/Box2D/Common/*.o
rm -f ../src/src/Box2D/Dynamics/*.o
rm -f ../src/src/Box2D/Dynamics/Contacts/*.o
rm -f ../src/src/Box2D/Dynamics/Joints/*.o
rm -f ../src/src/Box2D/Particle/*.o
rm -f ../src/tms/backends/windows/*.o
rm -f ../src/tms/bindings/cpp/*.o
rm -f ../src/tms/core/*.o
rm -f ../src/tms/math/*.o
rm -f ../src/tms/modules/3ds/*.o
rm -f ../src/tms/util/*.o
joelr@JOEL-ROG-GL503GE MINGW64 /c/Users/joelr/Documents/kolmorotzzet (kolmorotshitt)/Artistic Setups/Bithack/principia/build-windows
$ ./autogen.sh && ./configure && ./go
configure: loading site script /etc/config.site
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... gcc3
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
windres principia.rc -o principia.o
CC ../src/jpeg/principia-jaricom.o
<command-line>: error: conflicting types for 'rand'; have 'long int(void)'
C:/msys64/usr/include/stdlib.h:258:9: note: in expansion of macro 'random'
258 | long random (void);
| ^~~~~~
In file included from ../src/jpeg/jinclude.h:39,
from ../src/jpeg/jaricom.c:17:
C:/msys64/usr/include/stdlib.h:144:9: note: previous declaration of 'rand' with type 'int(void)'
144 | int rand (void);
| ^~~~
make: *** [Makefile:4817: ../src/jpeg/principia-jaricom.o] Error 1
I did get the same error when I tried to set everything up for the first time. what I did was remove everything and start over and made sure I used the 64-bit mingw64 from MSYS2. Other configurations failed with the exact same errors and I really don't know what failed.
Luckily we do know that LLVM compilation works so eventually the windows building will be improved and based on that.
I have no other suggestion than scrap your MSYS2 install and start over... sorry.
Woot clang by default?
I did get the same error when I tried to set everything up for the first time. what I did was remove everything and start over and made sure I used the 64-bit mingw64 from MSYS2. Other configurations failed with the exact same errors and I really don't know what failed. Luckily we do know that LLVM compilation works so eventually the windows building will be improved and based on that. I have no other suggestion than scrap your MSYS2 install and start over... sorry.
Okay.
I have cleaned up everything. now it works. it appears that my MSYS2 installation was corrupted. uninstall & install again fixed it. yey!!!
little note though, yess, #9 , spaced folder causes exe linking fails
...
CXX ../src/src/Box2D/Dynamics/Joints/principia-b2MotorJoint.o
CXX ../src/src/Box2D/Dynamics/Joints/principia-b2MouseJoint.o
CXX ../src/src/Box2D/Dynamics/Joints/principia-b2PrismaticJoint.o
CXX ../src/src/Box2D/Dynamics/Joints/principia-b2PulleyJoint.o
CXX ../src/src/Box2D/Dynamics/Joints/principia-b2RevoluteJoint.o
CXX ../src/src/Box2D/Dynamics/Joints/principia-b2PivotJoint.o
CXX ../src/src/Box2D/Dynamics/Joints/principia-b2RopeJoint.o
CXX ../src/src/Box2D/Dynamics/Joints/principia-b2WeldJoint.o
CXX ../src/src/Box2D/Dynamics/Joints/principia-b2WheelJoint.o
CXXLD principia.exe
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find (kolmorotshitt)/Artistic: No such file or directory
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find Setups/Bithack/principia/build-windows: No such file or directory
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile:4131: principia.exe] Error 1
but yeah it works afterall. Just moved the entire repo out from spaced folder name, ./go
again, yey!!!
joelr@JOEL-ROG-GL503GE MINGW64 ~
$ cd /c/Bithack/principia/build-windows/
joelr@JOEL-ROG-GL503GE MINGW64 /c/Bithack/principia/build-windows
$ ./go
CXXLD principia.exe
./go: line 88: principia: command not found
joelr@JOEL-ROG-GL503GE MINGW64 /c/Bithack/principia/build-windows
$ ./principia.exe
III: Created named pipe, starting listener thread.
III: chdirring back!
III: set initial res to 1280x720
III: num workers (real): 12
Loading settings... III: num workers (user): 12
OK
III: Texture quality: 2
III: Shadow quality: 1 (1280x720)
_ _ _
_ __ _ __(_)_ __ ___(_)_ __ (_) __ _
| '_ \| '__| | '_ \ / __| | '_ \| |/ _` |
| |_) | | | | | | | (__| | |_) | | (_| |
| .__/|_| |_|_| |_|\___|_| .__/|_|\__,_|
|_| |_|
Version: 34. Aug 9 2022/00:23:22
Initializing SDL... OK
Creating window... OK
Initializing GLEW... OK (v1.10.0)
oh yeah, you see that principia could not launch, I tried to launch it from Windows Explorer
it couldn't find few libraries, so I ./principia.exe
right in that MSYS2 MinGW x64 manually, it works.
Well it works
thancc cool and good yey! Amazing Duper Awesome!