parallaxinc / PropLoader

Parallax Propeller loader supporting both serial and wifi downloads
MIT License
27 stars 13 forks source link

Document or link build dependencies #34

Closed PropGit closed 7 years ago

PropGit commented 7 years ago

@dbetz - Can you help me by documenting or linking all the build dependencies for this repository and anything else I may need to configure to build (besides just using make OS=linux)? If I try to clone and build PropLoader on Ubuntu, I get failures that for most I don't know where the resources are.

jmartin@ubuntu:~/Development/PropLoader$ make OS=linux
VERSION v1.0-30 (2017-03-30 16:25:42 g3304189)
gcc -Wall -DVERSION=\""v1.0-30 (2017-03-30 16:25:42 g3304189)"\" -DLINUX -I/home/jmartin/Development/proploader-linux-build/obj tools/split.c -o /home/jmartin/Development/proploader-linux-build/bin/split
cd spin/; openspin -o /home/jmartin/Development/proploader-linux-build/obj/IP_Loader.binary IP_Loader.spin
/bin/sh: 1: openspin: not found
Makefile:152: recipe for target '/home/jmartin/Development/proploader-linux-build/obj/IP_Loader.h' failed
make: *** [/home/jmartin/Development/proploader-linux-build/obj/IP_Loader.h] Error 127

I don't have a path/file: /home/jmartin/Development/proploader-linux-build/obj tools/split.c or the object /home/jmartin/Development/proploader-linux-build/bin/split.

Is your local PropLoader repository "proploader-linux-build" or is that something outside of your local PropLoader repository?

dbetz commented 7 years ago

I believe that the only dependency is on openspin. It needs to be installed and in your path.

dbetz commented 7 years ago

I updated README.md to indicate the dependency on OpenSpin.

dbetz commented 7 years ago

I also need to add instructions for building the Windows version. I do this under Linux using the MinGW cross-development tools. I've never tried building under native Windows but it should also be possible if you install the MinGW toolchain.

PropGit commented 7 years ago

Looks like there are more dependencies, though I know not why.

On a relatively fresh Mac VM, I cloned PropLoader and OpenSpin, built OpenSpin, added it's build folder to my path and verified. That works.

I tried again to build PropLoader and now get what looks like an error due to PropGCC being needed:

.
.
.
g++ -o /Users/jmartin/Projects/proploader-macosx-build/bin/proploader  /Users/jmartin/Projects/proploader-macosx-build/obj/main.o /Users/jmartin/Projects/proploader-macosx-build/obj/loader.o /Users/jmartin/Projects/proploader-macosx-build/obj/fastloader.o /Users/jmartin/Projects/proploader-macosx-build/obj/propimage.o /Users/jmartin/Projects/proploader-macosx-build/obj/packet.o /Users/jmartin/Projects/proploader-macosx-build/obj/serialpropconnection.o /Users/jmartin/Projects/proploader-macosx-build/obj/serialloader.o /Users/jmartin/Projects/proploader-macosx-build/obj/wifipropconnection.o /Users/jmartin/Projects/proploader-macosx-build/obj/loadelf.o /Users/jmartin/Projects/proploader-macosx-build/obj/sd_helper.o /Users/jmartin/Projects/proploader-macosx-build/obj/config.o /Users/jmartin/Projects/proploader-macosx-build/obj/expr.o /Users/jmartin/Projects/proploader-macosx-build/obj/system.o /Users/jmartin/Projects/proploader-macosx-build/obj/messages.o /Users/jmartin/Projects/proploader-macosx-build/obj/serial_posix.o /Users/jmartin/Projects/proploader-macosx-build/obj/sock_posix.o  -lstdc++
openspin -o /Users/jmartin/Projects/proploader-macosx-build/blink-fast.binary blink.spin
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.80 Compiled on Apr 20 2017 11:31:17
Compiling...
blink.spin
Done.
Program size is 56 bytes
openspin -DSLOW -o /Users/jmartin/Projects/proploader-macosx-build/blink-slow.binary blink.spin
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.80 Compiled on Apr 20 2017 11:31:17
Compiling...
blink.spin
Done.
Program size is 56 bytes
propeller-elf-gcc -Os -mlmm -o /Users/jmartin/Projects/proploader-macosx-build/toggle.elf toggle.c
make: propeller-elf-gcc: No such file or directory
make: *** [/Users/jmartin/Projects/proploader-macosx-build/toggle.elf] Error 1
rm /Users/jmartin/Projects/proploader-macosx-build/obj/sd_helper.c /Users/jmartin/Projects/proploader-macosx-build/bin/bin2c /Users/jmartin/Projects/proploader-macosx-build/obj/sd_helper.binary
dbetz commented 7 years ago

What is the error? It's not supposed to need PropGCC.

PropGit commented 7 years ago

See previous post... Mac froze up before I could paste it in the first time.

dbetz commented 7 years ago

Okay, that's a bug in the Makefile. I build the toggle program for testing. The loader should have built okay. I'll move that to another Makefile target called 'tests' so it won't be built with the loader itself.

PropGit commented 7 years ago

The newest commit works. Was able to build properly on Mac OSX.

PropGit commented 7 years ago

Closing.