Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make impl not generating template files #33

Closed
RyanPrintup opened this issue Apr 12, 2019 · 7 comments
Closed

make impl not generating template files #33

RyanPrintup opened this issue Apr 12, 2019 · 7 comments

Comments

@RyanPrintup
Copy link

RyanPrintup commented Apr 12, 2019

I am trying to implement a component in FPrime by following the getting started tutorial. I have made the Ai.xml, Events.xml, Makefile, and mod.mk. Currently, I am trying to generate implementation templates. Running make impl results in the following console output:

Generating implementation template for DrvLinuxI2CDriver
make[1]: Entering directory '/home/ubnl-fprime/fprime/Drv/LinuxI2CDriver'
cd /home/ubnl-fprime/fprime/Drv/LinuxI2CDriver && /usr/bin/python /home/ubnl-fprime/fprime/Autocoders/bin/codegen.py --build_root -t 
Usage: /home/ubnl-fprime/fprime/Autocoders/bin/codegen.py [options] xml_filename
make[1]: Leaving directory '/home/ubnl-fprime/fprime/Drv/LinuxI2CDriver'
Build Time: 0:00.69

No templates are generated. My Makefile and mod.mk are shown below.

Makefile:

MODULE_DIR = Drv/LinuxI2CDriver
MODULE = $(subst /,,$(MODULE_DIR))

BUILD_ROOT ?= $(subst /$(MODULE_DIR),,$(CURDIR))
export BUILD_ROOT

include $(BUILD_ROOT)/mk/makefiles/module_targets.mk

mod.mk:

SRC = LinuxI2CDriverComponentAi.xml \
#	  LinuxI2CDriverComponentImpl.cpp

#HDR = LinuxI2CDriverComponentImpl.hpp
@LeStarch
Copy link
Collaborator

LeStarch commented Apr 12, 2019

Right away, I can see that your mod.mk file contains the wrong information. It should contain a source and header definition like this:

** mod.mk **

SRC = LinuxI2CDriverAi.xml

HDR = 

Of course, replace your SRC definition with the name of your own Ai.xml, if I guessed incorrectly.

@LeStarch
Copy link
Collaborator

Also, could you put a link here to the tutorial you are following, so I can ensure this information is updated?

@RyanPrintup
Copy link
Author

I accidentally copied my Makefile twice. I updated my original post with the correct mod.mk information. This is the tutorial that I've been following: https://nasa.github.io/fprime/getting-started.html

@RyanPrintup
Copy link
Author

I reviewed my code again and discovered errors in my xml syntax. Issue resolved.

@RyanPrintup
Copy link
Author

I am continuing to have this error, but with a different console output.

Generating implementation template for 
make[1]: Entering directory '/home/ubnl-fprime/rogue-zero/Balloon/BurnWire'
make[1]: *** No rule to make target '_impl'.  Stop.
make[1]: Leaving directory '/home/ubnl-fprime/rogue-zero/Balloon/BurnWire'
Command exited with non-zero status 2
Build Time: 0:00.51
/home/ubnl-fprime/rogue-zero/mk/makefiles/module_targets.mk:81: recipe for target 'impl' failed
make: *** [impl] Error 2

@LeStarch
Copy link
Collaborator

It looks like the Makefile isn't specifying the directory path correctly. Also, did you run make gen_make before running make impl?

@LeStarch
Copy link
Collaborator

LeStarch commented Mar 3, 2020

I'd recommend looking into CMake, as that is what we intend to do in the future.

I am closing this issue, as I see no updates. Please feel free to continue discussion on our mailing list: https://groups.google.com/forum/#!forum/fprime-community

Or open a new issue if you detect a new bug.

@LeStarch LeStarch closed this as completed Mar 3, 2020
r9-pena added a commit to r9-pena/fprime that referenced this issue Jul 23, 2021
LeStarch pushed a commit that referenced this issue Aug 4, 2021
* Create tutorial-support.yml

* Update tutorial-support.yml

GpsApp tutorial to be pulled for build test and submodules to be pulled recursively

* Implementation of tutorial workflow

* typo in repo address

* Added missing github action file

* Changed workflow path

* Changed dir paths

* Work around for workflow

* work around

* troubleshooting

* troubleshoot

* troubleshoot

* Performance update

* Path correction

* troubleshoot

* Dockerfile correction

* path change

* path change

* path fix

* path fix

* path fix

* path fix

* paht fix

* Revert to changes

* Completed workflow for tutorial support

* troubleshoot

* Build path error

* Optimization of workflow

* Path fix

* Path fix

* Path fix #1

* path fix #2

* path check

* Workflow test

* Workflow test #2

* Added logging feature

* Logs Troubleshoot

* Typo fix

* Troubleshoot #1

* Troubleshoot #2

* Corrected typo on path

* Troubleshoot #3

* Troubleshoot #4

* Troubleshoot #5

* Removed log archive feature

* Changed repo path to conform pull request merge

* Test run #1

* test #2

* test #3

* added branch for workflow test

* test #4

* test #4

* test #5

* test #6

* Test #7

* test #8

* test #8

* Test #9

* Test #9

* Test #10

* Test #11

* Test #12

* Test #13

* Test #14

* Test #15

* Test #16

* Test #17

* Test #18

* Test #20

* Test #21

* Test #22

* Test #23

* Test #24

* Test #25

* Split test files

* Split tests #2

* Added executable permissions

* Delete RPI.bash

* Delete Ref.bash

* Delete Framework.bash

* exe files

* Make Framework.bash executable

* Make RPI.bash and Ref.bash executable

* Test #26

* Test #27

* Test #28

* Attached Integration test to Ref test

* Test #29

* Test #30

* Test #31

* Test #32

* Test #33

* Test #34

* Test #35

* Test #35

* Test #37

* Test #38

* Test #39

* Test #40

* Test #41

* Test #42

* Test #43

* Test #43

* Test #44

* Test #45

* Cleaned up files to remove commented code

* Remove CI test branch from workflow

* Incorporated comments for PR

* Modified path for framework job test

* Incoporate reviewer comment for PR

* Incoporated reviewer comment for PR

* Was using incorrect directory for the test

* Revised args call for jobs

* Passing args #1

* Define entrypoint directly from workflow

* Changed entrypoint method

* Changed entrypoint method #2

* Corrected test path

* Syntax correction

* Path Test #1

* Path test #2

* Path Test #4

* Path Test $5

* Test Path #6

* Path Test #6

* Path Test #7

* Path Test #8

* Refactored scripts to remove master.bash

* Corrected test path

* Fixed log problems

* Entrypoint alternative

* Bypassed master.bash file

* Added line for better CI error messages
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants