Rockbox Development > Starting Development and Compiling
Cygwin sim build library confusion
(1/1)
pondlife:
It's been a long while since I did a build, but I thought I'd get myself set up again (after the git migration, which went fine).
However, attempting a Cygwin build of the H300 sim fails to link..
--- Code: ---LD rockboxui.exe
/usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a(dcvos00710.o):(.text+0x0): multiple definition of `_sqrt'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../libm.a(t-d001675.o):(.text+0x0): first defined here
collect2: ld returned 1 exit status
/home/Steve/rockbox/uisimulator/uisimulator.make:34: recipe for target /home/Steve/rockbox/buildsim/rockboxui.exe' failed
--- End code ---
I've done all the obvious (make veryclean, re-installed Cygwin) but no joy... any suggestions (not involving a VM)?
pondlife
dreamlayers:
The obvious problem here is that it is trying to link with both the Microsoft C library at /usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a and Cygwin libm at /usr/lib/libm.a. I'm able to build successfully using i686-pc-mingw32-gcc 4.5.2 with: CROSS_COMPILE=i686-pc-mingw32- ../tools/configure
pondlife:
Thanks - I didn't have that compiler installed:
../tools/configure: line 3651: i686-pc-mingw32-cpp: command not found
This was fixed by re-running Cygwin setup to add the packages:
mingw-gcc-core (I already had gcc-mingw-core!)
mingw-binutils
I can then run your configure command with no errors, then make clean and make, but compiling fails with:
--- Code: ---CC uisimulator/common/io.c
/home/Steve/rockbox/uisimulator/common/io.c:39:21: fatal error: windows.h: No such file or directory
compilation terminated.
/home/Steve/rockbox/uisimulator/uisimulator.make:38: recipe for target `/home/Steve/rockbox/buildsim/uisimulator/common/
io.o' failed
make: *** [/home/Steve/rockbox/buildsim/uisimulator/common/io.o] Error 1
--- End code ---
The only windows.h I have is in \cygwin\usr\include\w32api, nothing down in \cygwin\usr\i686-pc-mingw32\sys-root\mingw\include.
Any idea what I'm doing wrong?
p.s. I don't think make reconf is taking the CROSS_COMPILE prefix into account, but that's one for the future.
pondlife
dreamlayers:
It seems you need mingw-runtime. For that compiler, there is also mingw-w32api and mingw-pthreads.
Yes, I can confirm that make reconf ignores CROSS_COMPILE.
Navigation
[0] Message Index
Go to full version