Coder Social home page Coder Social logo

s63_pi's Introduction

1. Build instructions

    A.  Windows

    i.       Create a build directory, e.g.  "C:\s63_pi_build"
    ii.      Copy the entire git source tree into this directory.
    iii.     Open a Visual Studio 10 command prompt, and navigate to this directory.
    iv.      Find a compatible copy of opencpn.lib (typically from the most recent OpenCPN Release build),
             and copy it into this directory.
    v.       Assuming your cmake 2.8 executable is installed normally, execute the following:
                "C:\Program Files\CMake 2.8\bin\cmake" -G "NMake Makefiles"
    vi.      Build the PlugIn install package by executing the following:
                NMake package

    The Windows install package will be built, and called s63_pi_x.x.x_setup.exe


    B. Linux

    i.       git clone the project.
    ii.      $cmake
    iii.     $make package

    The debian install package will be built, and called s63_pi_0.1.0-_i386.deb
    
2.   Copyright and licensing

This software is copyright (c) David Register 2021. It is distributed under the terms of the Gnu Public License version 2 or, at your option, any later version. See COPYING.gplv2.

The OCPNsenc binary is closed source. Re-distribution of these items is allowed.

The sources also contains dependencies distributed under various open-source licenses. Refer to the source files for details.

s63_pi's People

Contributors

bdbcat avatar dominig avatar jongough avatar rasbats avatar sethdart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

s63_pi's Issues

OCPNsenc runtime error on RPi with Raspbian 9.1

Hi,

after building OpenCPN and s63_pi from source code on a RPi 3 with Raspbian 9.1 I get a runtime error in the pre-built ARM binary OCPNsenc when trying to create a new signature file in the s63_pi plugin. The plugin calls OCPNsenc to to this. When running OCPNsenc from the command line it yields the following runtime error:

OCPNsenc
OCPNsenc: Symbol _ZN12wxTextBuffer6ms_eofE' has different size in shared object, consider re-linking 15:22:32: Warning: Mismatch between the program and library build versions detected. The library used 3.0 (wchar_t,compiler with C++ ABI 1010,wx containers,compatible with 2.8), and your program used 3.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 2.8). 15:22:32: Warning: Mismatch between the program and library build versions detected. The library used 3.0 (wchar_t,compiler with C++ ABI 1010,wx containers,compatible with 2.8), and program used 3.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 2.8). *** Error in OCPNsenc': corrupted size vs. prev_size: 0x00826d90 ***
Aborted

I interpret this as an inconsistency among the C++ compilers ABI version used when the binary was compiled by you and the C++ compiler ABI version that were used to build the stdc++ libray of the Raspbian. As far as I can see the only real solution is if you can provide a new OCPNsenc built with a newer C++ version used by Raspbian ? When running ldd -r on the distributed OCPNsenc bnary i find the following:

ldd -r /usr/bin/OCPNsenc
linux-vdso.so.1 (0x7ef57000)
/usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f9a000)
libwx_baseu-3.0.so.0 => /usr/lib/arm-linux-gnueabihf/libwx_baseu-3.0.so.0 (0x76d3b000)
libwx_baseu_net-3.0.so.0 => /usr/lib/arm-linux-gnueabihf/libwx_baseu_net-3.0.so.0 (0x76ced000)
libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x76ba5000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x76b26000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76af9000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76ad0000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76991000)
libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x7696a000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x76957000)
/lib/ld-linux-armhf.so.3 (0x76faf000)
/usr/bin/OCPNsenc: Symbol `_ZN12wxTextBuffer6ms_eofE' has different size in shared object, consider re-linking

Looking into the stdc++ library I find the following :

strings /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 | egrep 'LIB|ABI'
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_TM_1
CXXABI_ARM_1.3.3
GLIBC_2.4
GLIBC_2.18
GLIBC_2.17

and when I do the same for OCPNsenc I get:

strings /usr/bin/OCPNsenc | egrep 'LIB|ABI'
GLIBC_2.4
GLIBCXX_3.4.11
CXXABI_1.3
CXXABI_ARM_1.3.3
GLIBCXX_3.4
3.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 2.8)
.note.ABI-tag

My RPi has the following release info:

lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.1 (stretch)
Release: 9.1

Hope you have a solution for this problem.

b.r.
Jan

problem with s63_pi built upon wxgtk3.1.5

Hi Dave
As you may know I build rpms for classical installation of OpenCPN and its plugins on rpmbased linux distro

I built rpms for OpenCPN 5.6.2 and the last versions of its plugins upon wxgtk3.0 (for o-charts_pi : thanks to you)
I tested this a lot including s63
A fresh install is OK
An update of a previous install of OpenCPN 5.2.4 is OK too (keeping the /home/myname/.opencpn/ folder and its store files)

BUT
When I build the whole stuff upon wxgtk3.1.5 problems appear yet for building Climatology
rgleason/climatology_pi#35

After this problem was solved, I did a fresh install of OpenCPN 5.6.2 and installed its plugins one by one
the simple fact of installing the rpm of s63_pi plugin induces an immediate crash of OpenCPN at the lauching : segfault without explanation but a problem with the s63_panel_icon.png

If you want to test these rpms you may find them
here (for the wxgtk3.0 built) :
http://fildidier.free.fr/opencpn.htm

and there (for the wxgtk3.1.5 built) :
http://fildidier.free.fr/opencpn2.htm

Gentoo plugin

Hello,

I have added a Gentoo section in the CMAKEFILE.txt This might be of interest

IF (EXISTS /etc/gentoo-release)
EXECUTE_PROCESS( COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE ARCH )
ENDIF(EXISTS /etc/gentoo-release)

This seems to work well, I could also use CMAKE_SIZEOF_VOID_P MATCHES instead of uname

https://bugs.gentoo.org/654016

Compiling for Win other files needed.

Does this do independent compile? - If not, please disregard.
[LATER- It does do independent compile with the changes noted below}
Trying as an independent compile - First try
After copy opencpn.lib from v4.0 into the /build directory.
Needed ../include/opncpn_plugin.h in the src directory due to link errors.

Then cmake .. and cmake --build . --config release

Build FAILED.
"C:\Data-Dart\Up-Soft\Navigation\o-plugin\s63_pi\build\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\Data-Dart\Up-Soft\Navigation\o-plugin\s63_pi\build\s63_pi.vcxproj" (defaulttarget) (3) ->(Link target) ->
LINK : fatal error LNK1181: cannot open input file 'E:\opencpn_cmake2010\release\opencpn.lib'
[C:\Data-Dart\Up-Soft\Navigation\o-plugin\s63_pi\build\s63_pi.vcxproj]
0 Warning(s)
1 Error(s)

Error comes from CMakeLists.txt file Line 200

 IF(WIN32)
#  SET(OPENCPN_IMPORT_LIB "opencpn.lib")
  SET(OPENCPN_IMPORT_LIB "E:/opencpn_cmake2010/${CMAKE_CFG_INTDIR}/opencpn.lib")
  TARGET_LINK_LIBRARIES( ${PACKAGE_NAME} ${OPENCPN_IMPORT_LIB} )
#  ADD_DEPENDENCIES(${PACKAGE_NAME} ${PARENT})
ENDIF(WIN32) 

So, I un-commented line 199 and commented line 200

 SET(OPENCPN_IMPORT_LIB "opencpn.lib")
# SET(OPENCPN_IMPORT_LIB "E:/opencpn_cmake2010/${CMAKE_CFG_INTDIR}/opencpn.lib")

And it compiled for both cmake --build .
and cmake --build . --config release

When I did cpack the second time, after a failure, it compiled successfully.

Maybe the README under Windows should clarify this?

OCPNsenc needed for ARM processor

Hi, I have just compiled OCPN for an ARM processor machine and run it successfully. I would now like to run the S63 plugin on the same machine. I have compiled the S63 plugin, but the OCPNsenc is a pre-compiled binary and does not appear to be available yet for the ARM processor. Can you generate one so that we can support a bigger range of hardware?

Jon

Arch detection woth OpenSUSE requires a patch

Hello

the ARCH dectection has been modified between 4.0 and 4.2 and the new code fails with OpenSUSE.
(actuall only Debian and Fedora case are supported) what leads to a systematic failure on 34 bit architecture.
The following patch adds OpenSUSE support.
The test is written in order to work on Workstation and the OBS Cloud building system.

Dominig

---------- Patch ----------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b568241..fe35443 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -50,7 +50,6 @@ IF (NOT WIN32)
ENDIF (PREFIX)

 IF (EXISTS /etc/debian_version)
  •  MESSAGE (STATUS "**\* Debian detected")
    
    SET (PACKAGE_FORMAT "DEB")
    SET (PACKAGE_DEPS "libc6, libwxgtk2.8-0 (>= 2.8.7.1), libglu1-mesa (>= 7.0.0), libgl1-mesa-glx (>= 7.0.0), zlib1g, bzip2")
    SET (LIB_INSTALL_DIR "lib")
    @@ -60,8 +59,7 @@ IF (NOT WIN32)
    SET (ARCH "i386")
    ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
    ENDIF (EXISTS /etc/debian_version)
  • IF (EXISTS /etc/redhat-release OR EXISTS /etc/susehelp.d)
  • MESSAGE (STATUS "*** Redhat or OpenSUSE detected")
  • IF (EXISTS /etc/redhat-release)^M
    SET (PACKAGE_FORMAT "RPM")
    SET (PACKAGE_DEPS "opencpn zlib bzip2")
    IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
    @@ -71,7 +69,7 @@ IF (NOT WIN32)
    SET (ARCH "i386")
    SET (LIB_INSTALL_DIR "lib")
    ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
  • ENDIF (EXISTS /etc/redhat-release OR EXISTS /etc/susehelp.d)
  • ENDIF (EXISTS /etc/redhat-release)^M
    ENDIF (UNIX AND NOT APPLE)
    endif(NOT WIN32)

diff --git a/buildlinux64/OCPNsenc/OCPNsenc b/buildlinux64/OCPNsenc/OCPNsenc
index 7c62f75..1e01dcf 100644
Binary files a/buildlinux64/OCPNsenc/OCPNsenc and b/buildlinux64/OCPNsenc/OCPNsenc differ

OCPNsenc contains faulty RPATH to /home/dsr

When I try to create my package for s63 plugin with the OCPNsenc binary blob provided with 4.2, I get the following error during the installation phase in the chroot :
ERROR: RPATH "/home/dsr/Projects/wxWidgets-3.0.2/wxWidgets-3.0.2/build_console/lib

I found the faulty RPATH is present in the header on the 64 bit version only (but I only checked for Linux)

chrpath -l buildlinux64/OCPNsenc/OCPNsenc | egrep 'RPATH|RUNPATH'
buildlinux64/OCPNsenc/OCPNsenc.ori: RPATH=/home/dsr/Projects/wxWidgets-3.0.2/wxWidgets-3.0.2/build_console/lib

Workaround:

I used the command chrpath to remove the RPATH. It build but I do not know if it will work (I have no s-63 chat to test)

chrpath -d buildlinux64/OCPNsenc/OCPNsenc

The Key/Permits process is clear but the certificates as listed are not in the correct order.

Key/Permits Tab

Since they are not in the correct order of sequence, they should be numbered:


7. From your Service Account, download, Expand and Install Charts (from the Service-NZ), then go to the Chart Cells Tab.
6. Download and expand the charts into your chart directory last.
5. From S63,  "Certificate Name"  "Import Permit.txt Certificate" from your chart directory.
4. Download Permit.txt from your new S63Chart account (NZ), place in Chart directory. 
3. Enter o-chart User Permit number.
2. Install o-chart S63 Permit.
1. System Identification Fingerprint file (first)

PS: It would be more intuitive to have them in the reverse order.

Partial-View-of-Import-Certificate

Chart Cells Tab

6. Import Cell Permits

S63-Tab-Chart-Cells

Chart Directory (example)

Chart-Directory

OCPNsenc refused to work on Fedora 21 x86_64

Please provide the binary that works or point to the source code if it needs to be compiled for the particular system. This issue makes opencpn impossible to use with s63 charts on Fedora.

[rpetrovski@rooman-laptop3 build]$ ../../OCPNsenc
Fatal Error: Mismatch between the program and library build versions detected.
The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.4,compatible with 2.6),
and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6).

[OSX] Segmentation Fault (wxwidgets) when importing Navionics chart

I bought charts from Navionics via chartworld.com. I did all the DRM stuff, I can import the charts. But when I then close the import dialog it crashes. I saw that there is a 1.12 release here but the openCPN website still links the 1.8 version. I couldn't get it to build properly on osx so I just copied the OCPNenc binary to the plugin folder and left the old dylib where it was.

Can you tell me how to properly build the dylib so the binary and the dylib are from the same version?

Here is the current stacktrace:

Process:               OpenCPN [15141]
Path:                  /Applications/OpenCPN.app/Contents/MacOS/OpenCPN
Identifier:            OpenCPN
Version:               4.8.6 (???)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           OpenCPN [15141]
User ID:               501

Date/Time:             2018-08-20 11:31:09.977 +0200
OS Version:            Mac OS X 10.13.6 (17G65)
Report Version:        12
Bridge OS Version:     3.0 (14Y664)
Anonymous UUID:        B8580470-547E-0F0A-AEFF-C0396FB5C909

Sleep/Wake UUID:       150F30EF-6781-40B2-9129-4F65B758A05B

Time Awake Since Boot: 260000 seconds
Time Since Wake:       7700 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000060
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

VM Regions Near 0x60:
--> 
    __TEXT                 0000000105d00000-00000001064bc000 [ 7920K] r-x/rwx SM=COW  /Applications/OpenCPN.app/Contents/MacOS/OpenCPN

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libs63_pi.dylib               	0x0000000115c2c9b9 PolyTessGeo::GetRefPos(double*, double*) + 9
1   libs63_pi.dylib               	0x0000000115c14d66 ChartS63::InitFrom_ehdr(wxString&) + 3894
2   libs63_pi.dylib               	0x0000000115c13358 ChartS63::Init(wxString const&, int) + 6312
3   org.opencpn                   	0x000000010605d4df ChartPlugInWrapper::Init(wxString const&, ChartInitFlag) + 47
4   org.opencpn                   	0x0000000105d894cf ChartDatabase::CreateChartTableEntry(wxString const&, ChartClassDescriptor&) + 2655
5   org.opencpn                   	0x0000000105d86dc9 ChartDatabase::SearchDirAndAddCharts(wxString&, ChartClassDescriptor&, wxGenericProgressDialog*) + 6153
6   org.opencpn                   	0x0000000105d84423 ChartDatabase::TraverseDirAndAddCharts(ChartDirInfo&, wxGenericProgressDialog*, wxString&, bool) + 2771
7   org.opencpn                   	0x0000000105d83602 ChartDatabase::Update(ArrayOfCDI&, bool, wxGenericProgressDialog*) + 1122
8   org.opencpn                   	0x0000000105d4b6a0 MyFrame::UpdateChartDatabaseInplace(ArrayOfCDI&, bool, bool, wxString const&) + 3088
9   org.opencpn                   	0x0000000105d49d60 MyFrame::ProcessOptionsDialog(int, ArrayOfCDI*) + 448
10  org.opencpn                   	0x0000000105d40135 MyFrame::DoOptionsDialog() + 1861
11  org.opencpn                   	0x0000000105d38f9a MyFrame::DoSettings() + 26
12  org.opencpn                   	0x0000000105d1f1c2 MyFrame::OnToolLeftClick(wxCommandEvent&) + 178
13  libwx_baseu-3.0.0.3.0.dylib   	0x00000001072e9715 wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) + 93
14  libwx_baseu-3.0.0.3.0.dylib   	0x00000001072eac1b wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) + 241
15  libwx_baseu-3.0.0.3.0.dylib   	0x00000001072eacbc wxEvtHandler::TryHereOnly(wxEvent&) + 152
16  libwx_baseu-3.0.0.3.0.dylib   	0x00000001072ea465 wxEvtHandler::ProcessEvent(wxEvent&) + 127
17  libwx_baseu-3.0.0.3.0.dylib   	0x00000001072ead3c wxEvtHandler::ProcessEventLocally(wxEvent&) + 80
18  libwx_baseu-3.0.0.3.0.dylib   	0x00000001072ea474 wxEvtHandler::ProcessEvent(wxEvent&) + 142
19  libwx_osx_cocoau_core-3.0.0.3.0.dylib	0x0000000106d9f3f1 wxWindowBase::TryAfter(wxEvent&) + 85
20  libwx_baseu-3.0.0.3.0.dylib   	0x00000001072ea491 wxEvtHandler::ProcessEvent(wxEvent&) + 171
21  libwx_baseu-3.0.0.3.0.dylib   	0x00000001072e9afc wxEvtHandler::SafelyProcessEvent(wxEvent&) + 18
22  libwx_osx_cocoau_core-3.0.0.3.0.dylib	0x0000000106da0f70 wxWindowBase::HandleWindowEvent(wxEvent&) const + 16
23  libwx_osx_cocoau_core-3.0.0.3.0.dylib	0x0000000106d5f357 wxMenuBase::SendEvent(int, int) + 177
24  libwx_osx_cocoau_core-3.0.0.3.0.dylib	0x0000000106c40873 wxMenu::HandleCommandProcess(wxMenuItem*, wxWindow*) + 123
25  com.apple.AppKit              	0x00007fff35562a43 -[NSApplication(NSResponder) sendAction:to:from:] + 312
26  com.apple.AppKit              	0x00007fff34ff7213 -[NSMenuItem _corePerformAction] + 323
27  com.apple.AppKit              	0x00007fff34ff6f9b -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 114
28  com.apple.AppKit              	0x00007fff34ff5dff -[NSMenu performKeyEquivalent:] + 363
29  com.apple.AppKit              	0x00007fff355616a9 routeKeyEquivalent + 884
30  com.apple.AppKit              	0x00007fff3555ece0 -[NSApplication(NSEvent) sendEvent:] + 1096
31  libwx_osx_cocoau_core-3.0.0.3.0.dylib	0x0000000106c1c807 -[wxNSApplication sendEvent:] + 135
32  com.apple.AppKit              	0x00007fff34dbf8b5 -[NSApplication run] + 812
33  libwx_osx_cocoau_core-3.0.0.3.0.dylib	0x0000000106cb3a64 wxGUIEventLoop::OSXDoRun() + 106
34  libwx_baseu-3.0.0.3.0.dylib   	0x00000001072d1c44 wxCFEventLoop::DoRun() + 50
35  libwx_baseu-3.0.0.3.0.dylib   	0x000000010724c7b1 wxEventLoopBase::Run() + 83
36  libwx_baseu-3.0.0.3.0.dylib   	0x0000000107226382 wxAppConsoleBase::MainLoop() + 128
37  libwx_osx_cocoau_core-3.0.0.3.0.dylib	0x0000000106c5bceb wxApp::OnRun() + 29
38  libwx_baseu-3.0.0.3.0.dylib   	0x0000000107275ac6 wxEntry(int&, wchar_t**) + 102
39  org.opencpn                   	0x0000000105d093a4 main + 20
40  org.opencpn                   	0x0000000105d07ed4 start + 52

Thread 1:: CVDisplayLink
0   libsystem_kernel.dylib        	0x00007fff5f7bca16 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff5f985589 _pthread_cond_wait + 732
2   com.apple.CoreVideo           	0x00007fff39406a44 CVDisplayLink::runIOThread() + 660
3   libsystem_pthread.dylib       	0x00007fff5f984661 _pthread_body + 340
4   libsystem_pthread.dylib       	0x00007fff5f98450d _pthread_start + 377
5   libsystem_pthread.dylib       	0x00007fff5f983bf9 thread_start + 13

Thread 2:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	0x00007fff5f7b320a mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff5f7b2724 mach_msg + 60
2   com.apple.CoreFoundation      	0x00007fff37830785 __CFRunLoopServiceMachPort + 341
3   com.apple.CoreFoundation      	0x00007fff3782fad7 __CFRunLoopRun + 1783
4   com.apple.CoreFoundation      	0x00007fff3782f153 CFRunLoopRunSpecific + 483
5   com.apple.AppKit              	0x00007fff34f07fc4 _NSEventThread + 184
6   libsystem_pthread.dylib       	0x00007fff5f984661 _pthread_body + 340
7   libsystem_pthread.dylib       	0x00007fff5f98450d _pthread_start + 377
8   libsystem_pthread.dylib       	0x00007fff5f983bf9 thread_start + 13

Thread 3:: com.apple.CFSocket.private
0   libsystem_kernel.dylib        	0x00007fff5f7bccf2 __select + 10
1   com.apple.CoreFoundation      	0x00007fff3786a88b __CFSocketManager + 635
2   libsystem_pthread.dylib       	0x00007fff5f984661 _pthread_body + 340
3   libsystem_pthread.dylib       	0x00007fff5f98450d _pthread_start + 377
4   libsystem_pthread.dylib       	0x00007fff5f983bf9 thread_start + 13

Thread 4:
0   libsystem_kernel.dylib        	0x00007fff5f7bd28a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff5f984009 _pthread_wqthread + 1035
2   libsystem_pthread.dylib       	0x00007fff5f983be9 start_wqthread + 13

Thread 5:
0   libsystem_kernel.dylib        	0x00007fff5f7bd28a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff5f98420e _pthread_wqthread + 1552
2   libsystem_pthread.dylib       	0x00007fff5f983be9 start_wqthread + 13

Thread 6:
0   libsystem_kernel.dylib        	0x00007fff5f7bd28a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff5f984009 _pthread_wqthread + 1035
2   libsystem_pthread.dylib       	0x00007fff5f983be9 start_wqthread + 13

Thread 7:
0   libsystem_kernel.dylib        	0x00007fff5f7bd28a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff5f98420e _pthread_wqthread + 1552
2   libsystem_pthread.dylib       	0x00007fff5f983be9 start_wqthread + 13

Thread 8:
0   libsystem_kernel.dylib        	0x00007fff5f7bd28a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff5f98420e _pthread_wqthread + 1552
2   libsystem_pthread.dylib       	0x00007fff5f983be9 start_wqthread + 13

Thread 9:
0   libsystem_kernel.dylib        	0x00007fff5f7bd28a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff5f98420e _pthread_wqthread + 1552
2   libsystem_pthread.dylib       	0x00007fff5f983be9 start_wqthread + 13

Thread 10:
0   libsystem_kernel.dylib        	0x00007fff5f7bd28a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff5f98420e _pthread_wqthread + 1552
2   libsystem_pthread.dylib       	0x00007fff5f983be9 start_wqthread + 13

Thread 11:
0   libsystem_kernel.dylib        	0x00007fff5f7bd28a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff5f984009 _pthread_wqthread + 1035
2   libsystem_pthread.dylib       	0x00007fff5f983be9 start_wqthread + 13

Thread 12:
0   libsystem_pthread.dylib       	0x00007fff5f983bdc start_wqthread + 0
1   ???                           	0x0000000000000001 0 + 1

Thread 13:
0   libsystem_kernel.dylib        	0x00007fff5f7bd28a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff5f98420e _pthread_wqthread + 1552
2   libsystem_pthread.dylib       	0x00007fff5f983be9 start_wqthread + 13

Thread 14:
0   libsystem_pthread.dylib       	0x00007fff5f983bdc start_wqthread + 0

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000001  rbx: 0x00007fcdeef96c20  rcx: 0x00007fff981833c8  rdx: 0x00007ffee9efbf18
  rdi: 0x0000000000000000  rsi: 0x00007ffee9efbf20  rbp: 0x00007ffee9efbc30  rsp: 0x00007ffee9efbc30
   r8: 0x0000000000000000   r9: 0x000000000000000a  r10: 0x000000000000000a  r11: 0x00000000000022e8
  r12: 0x000000011b80a008  r13: 0x00007fcde1bfe000  r14: 0x000000011b80a000  r15: 0x00007fcde1bfe050
  rip: 0x0000000115c2c9b9  rfl: 0x0000000000010202  cr2: 0x0000000000000060
  
Logical CPU:     4
Error Code:      0x00000004
Trap Number:     14


Binary Images:
       0x105d00000 -        0x1064bbff7 +org.opencpn (4.8.6 - ???) <B9663E77-3FE3-3FF7-A9B2-9E9E578B35C4> /Applications/OpenCPN.app/Contents/MacOS/OpenCPN
       0x106840000 -        0x10684bff7 +libwx_osx_cocoau_gl-3.0.0.3.0.dylib (4) <96989B6B-A303-3608-B31D-1E7E6FF3D120> /Applications/OpenCPN.app/Contents/MacOS/libwx_osx_cocoau_gl-3.0.0.3.0.dylib
       0x10685a000 -        0x106885fff +libwx_baseu_net-3.0.0.3.0.dylib (4) <C1A5673F-5E13-3252-92A6-DDE460291AAC> /Applications/OpenCPN.app/Contents/MacOS/libwx_baseu_net-3.0.0.3.0.dylib
       0x10689e000 -        0x1068abfff +libwx_baseu_xml-3.0.0.3.0.dylib (4) <43A4648A-5B3B-3025-9F1A-A5A78013C906> /Applications/OpenCPN.app/Contents/MacOS/libwx_baseu_xml-3.0.0.3.0.dylib
       0x1068b8000 -        0x106945fff +libwx_osx_cocoau_html-3.0.0.3.0.dylib (4) <913476A2-CFBB-35C8-9338-F78332BBAE9A> /Applications/OpenCPN.app/Contents/MacOS/libwx_osx_cocoau_html-3.0.0.3.0.dylib
       0x1069a2000 -        0x106a94fff +libwx_osx_cocoau_adv-3.0.0.3.0.dylib (4) <128F15E5-DB01-347D-9A22-6A01400DDA2C> /Applications/OpenCPN.app/Contents/MacOS/libwx_osx_cocoau_adv-3.0.0.3.0.dylib
       0x106b6c000 -        0x106bcefe7 +libwx_osx_cocoau_aui-3.0.0.3.0.dylib (4) <9A0830A9-5B11-3BE9-B9AB-045158086217> /Applications/OpenCPN.app/Contents/MacOS/libwx_osx_cocoau_aui-3.0.0.3.0.dylib
       0x106c0d000 -        0x107006ff7 +libwx_osx_cocoau_core-3.0.0.3.0.dylib (4) <596FE2E8-7F15-3C6A-9196-CA0555A13CDC> /Applications/OpenCPN.app/Contents/MacOS/libwx_osx_cocoau_core-3.0.0.3.0.dylib
       0x10721f000 -        0x107396fff +libwx_baseu-3.0.0.3.0.dylib (4) <4C900952-C021-3AAA-90E0-BEEFC65D16E4> /Applications/OpenCPN.app/Contents/MacOS/libwx_baseu-3.0.0.3.0.dylib
       0x10743a000 -        0x107458ff7 +liblzma.5.dylib (8.2) <31A275ED-DB2C-3605-9876-6A9A57EA7AE9> /Applications/OpenCPN.app/Contents/MacOS/liblzma.5.dylib
       0x107461000 -        0x107520ff7 +libcairo.2.dylib (11403.6) <68543D17-4E8C-3416-BA18-7FB56D175F93> /Applications/OpenCPN.app/Contents/MacOS/libcairo.2.dylib
       0x107550000 -        0x1075cbfff +libpixman-1.0.dylib (33.8) <4D463962-D1F4-321B-A8F0-E13092D5E17D> /Applications/OpenCPN.app/Contents/MacOS/libpixman-1.0.dylib
       0x1075e1000 -        0x107611ff7 +libfontconfig.1.dylib (10) <1E8E44B5-401C-3D77-B6F2-46FF524AC681> /Applications/OpenCPN.app/Contents/MacOS/libfontconfig.1.dylib
       0x10761d000 -        0x107695fff +libfreetype.6.dylib (19) <55E6DE0E-04BC-3620-9D1A-FD0467460E02> /Applications/OpenCPN.app/Contents/MacOS/libfreetype.6.dylib
       0x1076b2000 -        0x1076d8fff +libpng16.16.dylib (37) <BFD60983-5190-3DB9-88B4-3224FD6C6C07> /Applications/OpenCPN.app/Contents/MacOS/libpng16.16.dylib
       0x109511000 -        0x1095d3ffb  com.apple.AMDRadeonX4000GLDriver (1.68.20 - 1.6.8) <03AC29A1-DE03-3031-854D-B7F6D2018B4D> /System/Library/Extensions/AMDRadeonX4000GLDriver.bundle/Contents/MacOS/AMDRadeonX4000GLDriver
       0x10abed000 -        0x10b96bfff  com.apple.driver.AppleIntelSKLGraphicsGLDriver (10.36.19 - 10.3.6) <D2038E23-AE4E-3ADD-8A7D-B5B6F0A23ED6> /System/Library/Extensions/AppleIntelSKLGraphicsGLDriver.bundle/Contents/MacOS/AppleIntelSKLGraphicsGLDriver
       0x10d220000 -        0x10d357fff  com.apple.AMDMTLBronzeDriver (1.68.20 - 1.6.8) <C5D6A803-7CE1-32BD-BE34-C518131CED8B> /System/Library/Extensions/AMDMTLBronzeDriver.bundle/Contents/MacOS/AMDMTLBronzeDriver
       0x1129c4000 -        0x1129defff  com.apple.security.csparser (3.0 - 58286.70.7) <9065D307-CC21-3ED2-95C7-BF2D59FC48D3> /System/Library/Frameworks/Security.framework/PlugIns/csparser.bundle/Contents/MacOS/csparser
       0x115bd0000 -        0x115c76fff +libs63_pi.dylib (0) <3D1F4DF3-82C0-33AF-9CD3-DE99A7B86E2F> /Applications/OpenCPN.app/Contents/PlugIns/s63_pi/libs63_pi.dylib
       0x115cf8000 -        0x115d48ff7 +libwmm_pi.dylib (0) <357D49FE-814F-3095-8C88-93D500B789C1> /Applications/OpenCPN.app/Contents/PlugIns/libwmm_pi.dylib
       0x115d98000 -        0x115de2acf  dyld (551.4) <8A72DE9C-A136-3506-AA02-4BA2B82DCAF3> /usr/lib/dyld
       0x116515000 -        0x116597fff +libchartdldr_pi.dylib (0) <AF20BB7E-9E35-30BE-957E-5FCCCA52AFA8> /Applications/OpenCPN.app/Contents/PlugIns/libchartdldr_pi.dylib
       0x1165ff000 -        0x11673cff7 +libgrib_pi.dylib (0) <64D2A3D5-B44A-35AB-8E59-43C7DB563E3B> /Applications/OpenCPN.app/Contents/PlugIns/libgrib_pi.dylib
       0x119802000 -        0x119804ff7  com.apple.CloudDocsFileProvider (1.0 - 575.14) <B44961F2-4735-3CE5-B519-0ED38AD5F1E5> /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/CloudDocsFileProvider.bundle/Contents/MacOS/CloudDocsFileProvider
       0x119809000 -        0x11980cfff  com.apple.FileProviderOverride (125.15 - 125.15) <A7854D9E-5100-31FC-A84A-A86D6519FDED> /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/FileProviderOverride.bundle/Contents/MacOS/FileProviderOverride
       0x119812000 -        0x119818fff  com.apple.FinderSyncCollaborationFileProviderOverride (1.0 - 1054.5.4) <4C21E7FC-3B4C-30CA-8AAF-1310F6C8F946> /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/FinderSyncCollaborationFileProviderOverride.bundle/Contents/MacOS/FinderSyncCollaborationFileProviderOverride
    0x7fff2fd61000 -     0x7fff300afff7  com.apple.RawCamera.bundle (8.05.0 - 1017.4.1) <CAF490E6-CB0E-3EF0-B3D2-C4880CF85077> /System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera
    0x7fff302f7000 -     0x7fff30b4dff7  ATIRadeonX4000SCLib.dylib (1.68.20) <09BE979C-D263-34F4-A83D-3E36420ED78D> /System/Library/Extensions/AMDRadeonX4000GLDriver.bundle/Contents/MacOS/ATIRadeonX4000SCLib.dylib
    …

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 109
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 689957
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=510.2M resident=0K(0%) swapped_out_or_unallocated=510.2M(100%)
Writable regions: Total=966.7M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=966.7M(100%)
 
                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework               512K        5 
Activity Tracing                   256K        2 
CG backing stores                 20.2M       14 
CG image                           368K       28 
CG raster data                     208K        7 
CoreAnimation                     1080K       66 
CoreAnimation (reserved)            12K        4         reserved VM address space (unallocated)
CoreGraphics                         8K        2 
CoreImage                          236K       47 
CoreUI image data                 3248K       27 
CoreUI image file                  384K        9 
Foundation                        16.0M        5 
IOKit                             7940K        2 
Image IO                            16K        2 
Kernel Alloc Once                    8K        2 
MALLOC                           907.0M      152 
MALLOC guard page                   48K       10 
Memory Tag 242                      12K        2 
Memory Tag 251                      80K        4 
OpenGL GLSL                        256K        4 
STACK GUARD                       56.1M       16 
Stack                             15.1M       16 
VM_ALLOCATE                       3696K       76 
__DATA                            43.8M      380 
__FONT_DATA                          4K        2 
__GLSLBUILTINS                    2588K        2 
__LINKEDIT                       204.4M       29 
__TEXT                           305.9M      375 
__UNICODE                          560K        2 
mapped file                       91.2M       52 
shared memory                     1200K       19 
===========                     =======  ======= 
TOTAL                              1.6G     1332 
TOTAL, minus reserved VM space     1.6G     1332 

Model: MacBookPro13,3, BootROM MBP133.0247.B00, 4 processors, Intel Core i7, 2,9 GHz, 16 GB, SMC 2.38f7
Graphics: Intel HD Graphics 530, Intel HD Graphics 530, Built-In
Graphics: Radeon Pro 460, AMD Radeon Pro 460, PCIe
Memory Module: BANK 0/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
Memory Module: BANK 1/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x15A), Broadcom BCM43xx 1.0 (7.77.37.31.1a9)
Bluetooth: Version 6.0.7f10, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB 3.0 Bus
USB Device: iBridge
USB Device: Keyboard Hub
USB Device: USB Laser Mouse
USB Device: Apple Keyboard
Thunderbolt Bus: MacBook Pro, Apple Inc., 33.1
Thunderbolt Bus: MacBook Pro, Apple Inc., 33.1

Rendering of Obstruction Boundaries

Hi Dave,
am using S63 charts from the Australian Hydrographic Service. They were working fine with plugin version 1.14, but have some rendering problems under 1.16.

This problem was referred to on the Cruisers Forum [(https://www.cruisersforum.com/forums/f134/opencpn-version-5-2-0-released-237051-7.html#post3203869).]

When an obstruction adjoins a land area the enclosing line does not render properly. The screenshot shows this, but also a case where not adjacent to a land area and the rendering is fine. The examples shown in the screenshot are OBSTRN CATOBS 6, but other CATOBS also exhibit this behaviour.

image

I have tried the IHO S57 test data set and there is no problem. I have also tried the sample data set from Australian Hydro (also S57) and again, no problem.

The tests above and The title for commit "Update SENC format to 126, Improved AREA Feature boundary rendering." [https://github.com/bdbcat/s63_pi/commit/255098765fbc3e3dcba2df455443664f000f96a5] suggests that the problem might be there or thereabouts.

I have checked with aboon (the Cruisers Forum post referred to above) and his setup is: Windows 10 Pro (V1909) 64-bit, OCPN V5.2.0 and S63 pi V1.16.725.
I am happy to do any other testing that might help to narrow down the problem.

My setup (2 machines with S63 charts licensed)
Machine 1:
Architecture: AMD64
Ubuntu 20.04.1 LTS
Gnome Version 3.36.3
Windowing System Wayland
OpenCPN Version 5.2.4 (5.2.4.6-0~focal1) - Installed from http://ppa.launchpad.net/bdbcat/opencpn/ubuntu
Working plugin: S63 Plugin 1.14.1626 - Compiled from the orig source (opencpn-plugin-s63_1.14.1626.orig.tar.bz2) downloaded from the OpenCPN PPA
Plugin with issue: S63 Plugin 1.16.725 installed from the plugin catalogue after removing the deb.
The only other plugin active is WMM 1.1.

Machine 2:
Architecture: AMD64
Ubuntu 20.04.1 LTS
Gnome Version 3.36.3
Windowing System X11 also tried Wayland
OpenCPN Version 5.2.4.0-0~bionic1 - Installed from http://ppa.launchpad.net/opencpn/opencpn/ubuntu (the reason that it is Bionic is another story that I will take up elsewhere).
S63 Plugin 1.16.725 installed from the plugin catalogue after removing the deb.

Best Regards
Greg

Rpi4 Ubuntu 18.04.3 Desktop

Hi I tried compiling this plugin on my RPI4 running Ubuntu 18.04.3 Gnome desktop and it comp;lies but seems to be in armhf format and will not run on the pi4 as I think it needs to be in aarch64.

Is there a way to compile for the target environment. Rpi4 Ubuntu 18.04.3 latest openCPN I cannot get charts into the plotter to test without this plugin or the osenc one both produce armhf packages.

Any help appreciated.

Cheers
Spart

Licensing

I cannot find a clear answer to the question how this plugin is licensed.

The file data/license.txt is has the local modification at top saying

This program is distributed under the terms of the GPL v2.

However, looking at the code it seems to be mostly GPL-2+ with some parts using other licenses (Expat, SGI 1.1 B, MIT).

I'd suggest that the first line in license.txt (which implies GPL-2 as opposed to GPL-2+) is removed and that README is augmented with something like

2 Licensing
This work is distributed under the GPL license version 2 or, at your option, any later version. See
the file data/license.txt for more.

Some parts are distributed using other licenses as stated in the source files.

please tag releases

Dear developer,

I would like to make your plugin available to the users of Gentoo Linux.

Right now this is not possible because there are no source code releases available for your plugin.

It would be very usefull to have tagged releases, so the source for a specific version of the plugin can be downloaded. Please add a release/tag for your released versions. This makes packaging a lot easier.

Please see: Creating Releases

Thanks in advance!

where do I find OCPNsenc to integrate it in a Linux package ?

When building the s63 plugin under Linux the build process should create a directory buildlinux64/OCPNsenc/OCPNsenc (64bits) or buildlinux/OCPNsenc/OCPNsenc (32 bits).
None of them are created.
There is no obvious rules , nor source for building them.

Result is an error at plugin installation.

Can we built OCPNsenc in the open ?
Where do we get the source ?

If not where do I find a staticaly built Lib that would work independently of the distro release?

follow $PREFIX

Build system promises installation to /usr/local, but binaries go to /usr/lib64 and /usr/bin and gettext stuff to /usr/share/locale

$ cmake ../
...
-- *** Building s63_pi ***
-- *** Will install to /usr/local ***

$ sudo make install
...
Install the project...
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: "Debug"
-- Installing: /usr/lib64/opencpn/libs63_pi.so
-- Installing: /usr/bin/OCPNsenc
... etc.

It would be really nice to have all by default in /usr/local like opencpn.

no updated binary (OCPNsenc) for linux 586 ?

Hi
I discovered that you have updated the OCPNsenc binary for linux64 arm and arm64 but not for linux 32bits...
(same thing as for oesenc bdbcat/oesenc_pi#121)
Does it mean that it's not necessary to update it, or do you think it's useless to maintain this plugin for the old linux32 bits
(old computers are still well working aboard :-)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.