pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: octave vs tigervnc fltk battle
En Sat, Nov 07, 2026 at 07:26:44AM +0100, Greg Troxel escribió:
> > Is a bug that should me fixed in pkgsrc?
>
> Well, it's a pile of bugs, some blend of things, each of which I have no
> idea if it's true:
>
> - 1) fltk should have good enough compat that maintained programs don't
> need to use old versions
> - 2) tigervnc upstream should have a release that works with the most
> recent release of fltk
>
> and
>
> - 3) Perhaps pkgsrc should allow installing two versions of fltk, but
> that's a lot of work, and ick imposed on the system. It's not clear
> it's worth it, only that nobody has done it.
>
>
Hello Greg,
I appreciate very much your detailed (as you always provide) explanations. Thanks for your time an effort teaching all of us.
FLTK latest stable release upstream is 1.4.5
https://www.fltk.org/software.php?VERSION=1.4.5#v1.4.5
pkgsrc2026Q3 has two fltk versions that are told to conflict eath other in their Makefiles:
fltk-1.4.5nb1
fltk13-1.3.11nb2
TigerVNC upstream stable version is 1.16.2
https://github.com/TigerVNC/tigervnc/releases/tag/v1.16.2
pkgsrc2026Q3 tigervnc is tigervnc-1.16.2.20260506nb1 and is compiled against fltk13. Github upstream site says:
================================
Build requirements (all systems)
================================
....
-- FLTK 1.3.3 or later
...
So I understood that "1.3.3 or later" could be satisfied with 1.4.5.
I tried to compile pkgsrc2026Q3 tigervnc against fltk (1.4.5) tweaking pkgsrc Makefile changing
.include "../../x11/fltk13/buildlink3.mk"
to
.include "../../x11/fltk/buildlink3.mk"
but CMakeLists.txt file it has a FLTK check line tha complains if FLTK 1.4.5 is used:
check_cxx_source_compiles("#include <FL/Fl.H>\n#if FL_MAJOR_VERSION != 1 || FL_MINOR_VERSION != 3\n#error Wrong FLTK version\n#endif\nint main(int, char**) { return 0; }" OK_FLTK_VERSION)
I tried to trick the compilation tweaking it to
check_cxx_source_compiles("#include <FL/Fl.H>\n#if FL_MAJOR_VERSION != 1 || FL_MINOR_VERSION != 4\n#error Wrong FLTK version\n#endif\nint main(int, char**) { return 0; }" OK_FLTK_VERSION
to allow 1.4.5 to start compilation.
That allowed compiling almost till the end but it failed at 95% of compiling....
[ 95%] Building CXX object unix/x0vncserver/CMakeFiles/x0vncserver.dir/XDesktop.cxx.o
[ 95%] Building CXX object vncviewer/CMakeFiles/vncviewer.dir/GestureHandler.cxx.o
In file included from /usr/pkgsrc/net/tigervnc/work/tigervnc-84e930679d831bcf51d5f95733689ada68dfd52a/vncviewer/vncviewer.cxx:70:
/usr/pkgsrc/net/tigervnc/work/tigervnc-84e930679d831bcf51d5f95733689ada68dfd52a/vncviewer/touch.h:26:23: error: 'Window' was not declared in this scope
26 | bool x11_grab_pointer(Window window);
| ^~~~~~
/usr/pkgsrc/net/tigervnc/work/tigervnc-84e930679d831bcf51d5f95733689ada68dfd52a/vncviewer/touch.h:27:6: error: variable or field 'x11_ungrab_pointer' declared void
27 | void x11_ungrab_pointer(Window window);
| ^~~~~~~~~~~~~~~~~~
/usr/pkgsrc/net/tigervnc/work/tigervnc-84e930679d831bcf51d5f95733689ada68dfd52a/vncviewer/touch.h:27:25: error: 'Window' was not declared in this scope
27 | void x11_ungrab_pointer(Window window);
| ^~~~~~
/usr/pkgsrc/net/tigervnc/work/tigervnc-84e930679d831bcf51d5f95733689ada68dfd52a/vncviewer/vncviewer.cxx: In function 'int main(int, char**)':
/usr/pkgsrc/net/tigervnc/work/tigervnc-84e930679d831bcf51d5f95733689ada68dfd52a/vncviewer/vncviewer.cxx:717:3: error: 'fl_open_display' was not declared in this scope
717 | fl_open_display();
| ^~~~~~~~~~~~~~~
[ 95%] Building C object unix/x0vncserver/CMakeFiles/x0vncserver.dir/RandrGlue.c.o
[ 96%] Building CXX object unix/x0vncserver/CMakeFiles/x0vncserver.dir/XSelection.cxx.o
[ 96%] Building CXX object unix/x0vncserver/CMakeFiles/x0vncserver.dir/__/vncconfig/QueryConnectDialog.cxx.o
gmake[2]: *** [vncviewer/CMakeFiles/vncviewer.dir/build.make:373: vncviewer/CMakeFiles/vncviewer.dir/vncviewer.cxx.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/Makefile2:1118: vncviewer/CMakeFiles/vncviewer.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
[ 97%] Linking CXX executable x0vncserver
[ 97%] Built target x0vncserver
gmake: *** [Makefile:136: all] Error 2
*** Error code 2
Stop.
make[1]: stopped making "replace" in /usr/pkgsrc/net/tigervnc
*** Error code 1
And I abandoned the idea :-(
As there are other interesting programas like FLDIGI for the radio amateur, that it is compiled against fltk13 so I think that if I get tigervnc work with fltk 1.4.5 will break also FLDIGI that needs fltk13.
netbsd-nuc# pkgin show-rev-deps fltk13
local reverse dependency tree for fltk13-1.3.11nb2
tigervnc-1.16.2.20260506nb1
fldigi-4.1.01nb42
So I tried another thing, compiling octave against fltk13 instead fltk (1.4.5) changing the Makefile to use
.include "../../x11/fltk13/buildlink3.mk"
instead of
.include "../../x11/fltk/buildlink3.mk"
netbsd-nuc# pkg_info octave | grep fltk
fltk13>=1.3.11nb2<1.4.0
netbsd-nuc#
It compiles and works fine, at least it fixes my situation. But the proper fix seems difficult. If other programs trigger the installation of FLTK 1.4.5 will break tigervnc.
Regards.
Ramiro.
Home |
Main Index |
Thread Index |
Old Index