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

FYI: GTK+ 3 dependency and non-fatal stack traces #254

Closed
step- opened this issue Jan 6, 2025 · 0 comments
Closed

FYI: GTK+ 3 dependency and non-fatal stack traces #254

step- opened this issue Jan 6, 2025 · 0 comments

Comments

@step-
Copy link

step- commented Jan 6, 2025

Hello, just for your information, I found some speed bumps compiling and doing a test ride on Linux.

While compiling 3a7f5ee on a Linux From Scratch (LFS) distribution
following the instructions in the README.md file:

[ 86%] Building CXX object src/gui/CMakeFiles/MultiVNCgui.dir/ViewerWindow.cpp.o
/tmp/multivnc-3a7f5ee/src/gui/ViewerWindow.cpp:13:10: fatal error: gdk/gdkx.h: No such file or directory
   13 | #include <gdk/gdkx.h>
      |          ^~~~~~~~~~~~
compilation terminated.

File gdk/gdkx.h is provided by the GTK-3 package.
After adding GTK-3 to the dependencies, building (OK) and installing:

ldd /usr/bin/multivnc
        linux-vdso.so.1 (0x00007f84f99f8000)
        libwx_gtk3u_core-3.2.so.0 => /usr/lib64/libwx_gtk3u_core-3.2.so.0 (0x00007f84f9200000)
        libwx_baseu-3.2.so.0 => /usr/lib64/libwx_baseu-3.2.so.0 (0x00007f84f9041000)
        libwx_gtk3u_qa-3.2.so.0 => /usr/lib64/libwx_gtk3u_qa-3.2.so.0 (0x00007f84f99d0000)
        libgtk-3.so.0 => /usr/lib64/libgtk-3.so.0 (0x00007f84f8800000)
        libgdk-3.so.0 => /usr/lib64/libgdk-3.so.0 (0x00007f84f98eb000)
...

The current README.md file doesn't list GTK as a dependency.

Running /usr/lib/vnc (no arguments)

ASSERT INFO:
./src/common/menucmn.cpp(1081): assert ""item"" failed in Check(): attempt to check an item which doesn't exist

BACKTRACE:
[1] wxMenuBarBase::Check(int, bool)
[2] wxCriticalSection::~wxCriticalSection()
[3] wxEntry(int&, wchar_t**)
[4] __libc_start_main

Ignoring and continuing, the connecting to localhost:

./src/common/sizer.cpp(2288): assert "CheckSizerFlags(!((flags) & (wxALIGN_RIGHT | wxALIGN_CENTRE_HORIZONTAL | wxALIGN_BOTTOM | wxALIGN_CENTRE_VERTICAL)))" failed in DoInsert(): wxALIGN_RIGHT | wxALIGN_CENTRE_HORIZONTAL | wxALIGN_BOTTOM | wxALIGN_CENTRE_VERTICAL will be ignored in this sizer: wxEXPAND overrides alignment flags in box sizers

DO NOT PANIC !!

If you're an end user running a program not developed by you, please ignore this message, it is harmless, and please try reporting the problem to the program developers.

You may also set WXSUPPRESS_SIZER_FLAGS_CHECK environment variable to suppress all such checks when running this program.

If you're the developer, simply remove this flag from your code to avoid getting this message. You can also call wxSizerFlags::DisableConsistencyChecks() to globally disable all such checks, but this is strongly not recommended.

ASSERT INFO:
./src/common/sizer.cpp(2288): assert "CheckSizerFlags(!((flags) & (wxALIGN_RIGHT | wxALIGN_CENTRE_HORIZONTAL | wxALIGN_BOTTOM | wxALIGN_CENTRE_VERTICAL)))" failed in DoInsert(): wxALIGN_RIGHT | wxALIGN_CENTRE_HORIZONTAL | wxALIGN_BOTTOM | wxALIGN_CENTRE_VERTICAL will be ignored in this sizer: wxEXPAND overrides alignment flags in box sizers

DO NOT PANIC !!

If you're an end user running a program not developed by you, please ignore this message, it is harmless, and please try reporting the problem to the program developers.

You may also set WXSUPPRESS_SIZER_FLAGS_CHECK environment variable to suppress all such checks when running this program.

If you're the developer, simply remove this flag from your code to avoid getting this message. You can also call wxSizerFlags::DisableConsistencyChecks() to globally disable all such checks, but this is strongly not recommended.

BACKTRACE:
[1] wxBoxSizer::DoInsert(unsigned long, wxSizerItem*)
[2] wxCriticalSection::~wxCriticalSection()
[3] wxCriticalSection::~wxCriticalSection()
[4] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[5] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[6] wxEvtHandler::TryHereOnly(wxEvent&)
[7] wxEvtHandler::ProcessEventLocally(wxEvent&)
[8] wxEvtHandler::ProcessEvent(wxEvent&)
[9] wxEvtHandler::ProcessPendingEvents()
[10] wxAppConsoleBase::ProcessPendingEvents()
[11] wxApp::DoIdle()
[12] g_main_context_dispatch
[13] g_main_loop_run
[14] gtk_main
[15] wxGUIEventLoop::DoRun()
[16] wxEventLoopBase::Run()
[17] wxAppConsoleBase::MainLoop()
[18] wxEntry(int&, wchar_t**)
[19] __libc_start_main

Continuing on, this message was repeated four more times, then the first message again, then connection was completed and I could see the desktop via VNC, and everything seemed to hold together. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants