Bithack/principia

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
sdac commented

Are you sure you are on the 64-bit MSYS MINGW64? And not on the "MSYS2 MSYS" console. They install multiple!
image

Are you sure you are on the 64-bit MSYS MINGW64? And not on the "MSYS2 MSYS" console. They install multiple! image

Oh wait. Use MSYS2 MinGW x64 instead?! Bruh! Hold on a sec...

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

sdac commented

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
sdac commented

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!!!
principia werk

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!