Hi Russtopia,
thank you for reporting this.
Seems like I incorrectly assumed that the presence of libxcb implied the
presence of its header file. Hopefully fixed in *SVN 1715*.
Details:
your config.log says:
*conftest.cpp:139:10: fatal error: X11/Xlib-xcb.h: No such file or
directory*
which sets *apl_X11* to 0 (= X11 not present). At the same time there
is apl_GTK3 = 1 (= GTK present).
The first link error occurred because the GTK related code should not have
been compiled. That should now be fixed in *SVN 1715*.
The subsequent errors were caused by adding *-lX11*. Even though *-lX11*.
fixed the undefined symbol *XInitThreads*, it did not fix the root cause of
the problem.
I hope that GNU APL will now compile and link on your box, but some
functionality ⎕GTK, ⎕PLOT etc. may be affected. A better approach would
be to provide the missing *X11/Xlib-xcb.h*. Probably in package
libx11-xcb-dev.
Best Regards,
Jürgen
On 7/4/23 02:58, Russtopia wrote:
Version: Linux Devuan amd64 stable (equivalent to debian Bullseye)
libtool: link: g++ -Wall -Wno-parentheses -I sql -I
/home/russtopia/pkgs/apl/trunk -pthread -I/usr/include/gtk-3.0
-I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0
-I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi
-I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2
-I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -I
/home/russtopia/pkgs/apl/trunk -o apl apl-main.o apl-Plot_gtk.o
apl-Archive.o apl-Assert.o apl-Avec.o apl-Backtrace.o
apl-Bif_F12_COMMA.o apl-Bif_F12_DOMINO.o apl-Bif_F12_INDEX_OF.o
apl-Bif_F12_INTERVAL_INDEX.o apl-Bif_F12_FORMAT.o
apl-Bif_F12_PARTITION_PICK.o apl-Bif_F12_SORT.o
apl-Bif_F12_TAKE_DROP.o apl-Bif_OPER1_COMMUTE.o apl-Bif_OPER1_EACH.o
apl-Bif_OPER2_POWER.o apl-Bif_OPER2_INNER.o apl-Bif_OPER2_OUTER.o
apl-Bif_OPER2_RANK.o apl-Bif_OPER1_REDUCE.o apl-Bif_OPER1_SCAN.o
apl-CDR.o apl-Cell.o apl-Doxy.o apl-CharCell.o apl-Command.o
apl-Common.o apl-ComplexCell.o apl-DerivedFunction.o apl-DiffOut.o
apl-DynamicObject.o apl-Error.o apl-Executable.o apl-FloatCell.o
apl-Function.o apl-Id.o apl-IndexExpr.o apl-IndexIterator.o
apl-InputFile.o apl-IntCell.o apl-IO_Files.o apl-LApack.o
apl-LibPaths.o apl-LineInput.o apl-Logging.o apl-LvalCell.o
apl-Malloc_hooks.o apl-Nabla.o apl-Macro.o apl-Missing_Libraries.o
apl-NamedObject.o apl-NativeFunction.o apl-NumericCell.o apl-Output.o
apl-Parallel.o apl-Parser.o apl-Performance.o apl-PointerCell.o
apl-Prefix.o apl-Plot_line_properties.o apl-Plot_data.o
apl-Plot_window_properties.o apl-PrimitiveFunction.o apl-PrintBuffer.o
apl-QuadFunction.o apl-ProcessorID.o apl-Quad_CR.o apl-Quad_DLX.o
apl-Quad_FFT.o apl-Quad_FIO.o apl-Quad_FX.o apl-Quad_GTK.o
apl-Quad_JSON.o apl-Quad_MAP.o apl-Quad_PLOT.o apl-Quad_PNG.o
apl-Quad_RE.o apl-Quad_RL.o apl-Quad_RVAL.o apl-Quad_SQL.o
apl-Quad_SVx.o apl-Quad_TF.o apl-Quad_WA.o apl-Quad_XML.o
apl-RealCell.o apl-sbrk.o apl-Shape.o apl-ScalarFunction.o
apl-Security.o apl-StateIndicator.o apl-Svar_DB.o apl-Svar_record.o
apl-Symbol.o apl-SymbolTable.o apl-SystemVariable.o apl-TabExpansion.o
apl-Thread_context.o apl-Token.o apl-Tokenizer.o apl-UCS_string.o
apl-UCS_string_vector.o apl-UserFunction.o apl-UserFunction_header.o
apl-UserPreferences.o apl-UTF8_string.o apl-Value.o apl-ValueHistory.o
apl-Workspace.o apl-static_Objects.o apl-Regexp.o -Wl,--export-dynamic
-lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject
-lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lcairo -lgdk-3
-lgtk-3 -lpcre2-32 -lz -lpng -lc -ldl -lm -lnsl -lpthread -pthread
/usr/bin/ld: apl-Plot_gtk.o: undefined reference to symbol 'XInitThreads'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libX11.so.6: error adding
symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:1544: apl] Error 1
make[3]: Leaving directory '/home/russtopia/pkgs/apl/trunk/src'
make[2]: *** [Makefile:5340: all-recursive] Error 1
make[2]: Leaving directory '/home/russtopia/pkgs/apl/trunk/src'
make[1]: *** [Makefile:542: all-recursive] Error 1
make[1]: Leaving directory '/home/russtopia/pkgs/apl/trunk'
make: *** [Makefile:430: all] Error 2
---
If I add '-lX11' to LIBS in src/Makefile after running ./configure, it
gets a bit further but fails on a GTK symbol:
... gio-2.0 -lgobject-2.0 -lglib-2.0 -lX11 -lcairo -lgdk-3 -lgtk-3
-lpcre2-32 -lz -lpng -lc -ldl -lm -lnsl -lpthread -pthread
/usr/bin/ld: apl-Plot_gtk.o: in function `plot_destroyed':
/home/russtopia/pkgs/apl/trunk/src/Plot_gtk.cc:1428: undefined
reference to `Quad_PLOT::PLOT_context::remove_handle(int)'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:1544: apl] Error 1
configure.log attached.