OpenCPN / plugins

Container Project for an Integrated Plugin Management Facility
18 stars 20 forks source link

pypilot change to circleci-build-android-armhf.sh fails, then revert and it fails #249

Closed rgleason closed 4 years ago

rgleason commented 4 years ago

Thinking the change to watchdog_pi circleci-build-android-armhf.sh should be propagated, I changed the same line in pypilot and it failed 3 times. So I reverted it and it still failed! https://github.com/rgleason/pypilot_pi/tree/frontend2/ci

Both of these lines are failing now.

DCMAKE_AR=/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-android-ar \
#  -DCMAKE_AR=/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar \    
bdbcat commented 4 years ago

Where is the buildlog?

rgleason commented 4 years ago

I am sorry, wrong branch should be frontend2 on this plugin https://github.com/rgleason/pypilot_pi/tree/frontend2

https://app.circleci.com/pipelines/github/rgleason/pypilot_pi?branch=frontend2 BUILD LOG (one of them)
https://app.circleci.com/pipelines/github/rgleason/pypilot_pi/9/workflows/584b2606-9d84-4c99-978f-e08fc3033757/jobs/107

CMake Error: The source directory "/home/circleci/project/build" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
bdbcat commented 4 years ago

rick... In something like this (circelci android build script)

  -DCMAKE_AR=/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-android-ar \
#  -DCMAKE_AR=/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar \    
  -DCMAKE_CXX_COMPILER=/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ \
  -DCMAKE_C_COMPILER=/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang \
  -DOCPN_Android_Common=OCPNAndroidCommon-master \

You cannot make "#" comments, because of the last character continuation signal "\" So, to fix, just completely remove the line with the "#" as first character.

rgleason commented 4 years ago

I just learned something. Thank you. No # with \ !!!!

So consider this fixed and stripping symbols from flatpak done in testplugin (frontend2) I've kind of lost track. Is there anything else to change/fix (provided everything builds?)

bdbcat commented 4 years ago

There should be no more changes (famous last words...) To debug pypilot, take a close look at the OCPN logfile. You will probably find some indication of a problem as it tries to load the plugin.

rgleason commented 4 years ago

I am learning it is like swimming, there is always more water! I think these are all building for all environments now (maybe just one last one for pypilot that is running) https://cloudsmith.io/~opencpn/repos/pypilot-beta/packages/?q=0.22.4.0*metadata https://cloudsmith.io/~opencpn/repos/testplugin-prod/packages/?q=1.0.137.0*metadata https://cloudsmith.io/~opencpn/repos/watchdog-prod/packages/?q=2.4.22.0*metadata

These should have the flatpak strip symbols change and android changes.

I am going to use the metadata to load the plugiins in Windows10 and Android next to test. Do I need a special version of OpenCPN for Windows10 that supports Android or not? (this sounds a little nutty but there might have been changes) Where would I find that?

rgleason commented 4 years ago

Import Plugin in Android does not seem to be working for me. I have tried testplugin, pypilot and watchdog metada files, trying both armhf and arm644

I am going to use the Plugins Beta Channel now or maybe make my own opencpn-plugins.xml. I was also unsure that the Beta channel actually changes when there is an update. It seems to me that plugins that are loaded and enabled remain even when you switch to Beta, but I may have that wrong.

Watchdog-Testplugin-Pypilot.zip

bdbcat commented 4 years ago

"Import Plugin in Android does not seem to be working for me. " How so? What happens?

Works for me.

rgleason commented 4 years ago

I click on the metadata file and there is no message of success. Which android version (armhf or arm64?) is likely to work with a old Samsung S4 phone?

Ok, so are these plugins working for you testplugin, watchdog and pypilot?

I am using this version Also, you will need a copy of OA 5.5.2(Beta) https://www.dropbox.com/s/fzvbtaoqefzoydq/org.opencpn.opencpn-v56%285.2.2%29-release.apk?dl=0

rgleason commented 4 years ago

The "?" shows v5.2.2 and dowload of the link is

org.opencpn.opencpn-v56(5.2.2)-release.apk

This does not appear to be v5.5.2

rgleason commented 4 years ago

I made an opencp-plugins.xml for the beta catalog, set Android O on the beta catalog and closed it, then pasted the version I had built over the one in the program. The new plugins show and install with the correct messages. The internal pllugins also show, so I guess that is the way it should be.

Testplugin has a wx asssert (see photos) and because ODraw is not loaded and there are no objects from ODAPI.h there is a message about that.

Watchdog works and alarms sound, but still has a frozen menu and is a pain to work with now.

Pypilot installs and shows completed installation message, but it does not show in the toolbar when enabled.

So I guess I am going to quit on this at this point.

I did put all the metadata for each pllugiin in a PR to the beta branch.

rgleason commented 4 years ago

Testplugin has these first screens, perhaps because ODraw is not installed. 20200913_140926_resized

Second 20200913_141015_resized

jongough commented 4 years ago

The second one shows what was found, nothing in this case. OD would need to be installed. It does show that test plugin is installed and working as a plugin.

The first picture shows there is an issue that needs sorting with the code, but as it is developer only plugin that is not a major issue.

Thanks for building the plugin.

rgleason commented 4 years ago

I would be interested if these work as intended on flatpak and android. I have neither.

bdbcat commented 4 years ago

Rick... You have Android. You are seeing what I am seeing.... Also, Import plugin works on the tarball, not the XML file alone.

rgleason commented 4 years ago

Darn, how could I forget that! I will try it next.

Sean has made his Cloudsmith name public and I have been able to invite him to join Opencpn org! He's working on pypilot and merged the frontend2 changes, but he said he can fix celestial_navigation.

I hope he likes CS.

rgleason commented 4 years ago

Dave, do you have any idea which android tarball my S4 phone will like? Is it unlikely to be arm64?

bdbcat commented 4 years ago

Rick... Most likely armhf.

rgleason commented 4 years ago

Thanks, yes that version works. All 3, testplugin, watchdog and pypilot "TARBALLS" installed properly with the prompts expected, one when importing and another action to actually install the downloaded tarball. Sometimes I had to uninstall the plugin if the version was the same.

So next we need to know if the flatpak symbol stripping is working and flatpak installs properly. I can't do that. Maybe Leamas will check?

Then the last thing that needs to be done is fix the frozen Watchdog screen. I will ask Sean at the proper time, once he gets comfortable with the process.