Author Topic: RaspberryBASIC.org Forum  (Read 99948 times)

Offline John

  • Forum Support / SB Dev
  • Posts: 3598
    • ScriptBasic Open Source Project
Re: RaspberryBASIC.org Forum
« Reply #195 on: December 21, 2019, 07:56:52 PM »
Here is the tabs Nim IUP example using  the IUP shared objects you created and the Nim IUP interface. This is using the 1.1.1 version of Nim I built from source.

Code: Text
  1. # Example IUP program
  2.  
  3. # iupTabs: Creates a iupTabs control.
  4.  
  5. import iup
  6.  
  7. discard iup.open(nil, nil)
  8.  
  9. var vbox1 = iup.vbox(iup.label("Inside Tab A"), iup.button("Button A", ""), nil)
  10. var vbox2 = iup.vbox(iup.label("Inside Tab B"), iup.button("Button B", ""), nil)
  11.  
  12. iup.setAttribute(vbox1, "TABTITLE", "Tab A")
  13. iup.setAttribute(vbox2, "TABTITLE", "Tab B")
  14.  
  15. var tabs1 = iup.tabs(vbox1, vbox2, nil)
  16.  
  17. vbox1 = iup.vbox(iup.label("Inside Tab C"), iup.button("Button C", ""), nil)
  18. vbox2 = iup.vbox(iup.label("Inside Tab D"), iup.button("Button D", ""), nil)
  19.  
  20. iup.setAttribute(vbox1, "TABTITLE", "Tab C")
  21. iup.setAttribute(vbox2, "TABTITLE", "Tab D")
  22.  
  23. var tabs2 = iup.tabs(vbox1, vbox2, nil)
  24. iup.setAttribute(tabs2, "TABTYPE", "LEFT")
  25.  
  26. var box = iup.hbox(tabs1, tabs2, nil)
  27. iup.setAttribute(box, "MARGIN", "10x10")
  28. iup.setAttribute(box, "GAP", "10")
  29.  
  30. var dlg = iup.dialog(box)
  31. iup.setAttribute(dlg, "TITLE", "iupTabs")
  32. iup.setAttribute(dlg, "SIZE", "200x100")
  33.  
  34. discard showXY(dlg, IUP_CENTER, IUP_CENTER)
  35. discard mainLoop()
  36. close()
  37.  
« Last Edit: December 21, 2019, 07:59:26 PM by John »

Offline AIR

  • BASIC Developer
  • Posts: 932
  • Coder
Re: RaspberryBASIC.org Forum
« Reply #196 on: December 21, 2019, 08:00:03 PM »
AIR,

Did you create a tecmake.mak that generates shared objects rather than static libraries? It would be great to have a set of dynamic and static IUP libries.

IUP, as always, is a convoluted mess.


Why then wouldn't use pkg-config by default is beyond comprehension.

I switched shit to use pkg-config.


You need to build the following, in this order:

LUA (USE LUA53)
IM
CD
FTGL
IUP


IT'S IMPORTANT THAT YOU START FRESH, RE-DOWNLOAD THE LATEST VERSION OF EACH SOURCE PACKAGE TO BUILD.  I'M NOT TROUBLESHOOTING ANY OF THIS, ESPECIALLY WHEN YOU DON'T START CLEAN.


Use the attached Makefile-arm64 for building LUA.  The rest won't compile if you don't

Use the attached tecmake.mak file, overwriting the existing one in IM, CD, and IUP.

This will build both static and dynamic libraries.

To answer you earlier question, I didn't install a DM or a Window Manager.  I just installed the DEV libraries required to build the shit (and I mean shit).

Now to wipe my SDCARD since it now has a lot of flotsam I won't ever use....

AIR.

Offline John

  • Forum Support / SB Dev
  • Posts: 3598
    • ScriptBasic Open Source Project
Re: RaspberryBASIC.org Forum
« Reply #197 on: December 21, 2019, 08:04:35 PM »
Outstanding!

I'll try to maintain it from here. I  will start with fresh unziped downloaded IUP files.


Offline John

  • Forum Support / SB Dev
  • Posts: 3598
    • ScriptBasic Open Source Project
Re: RaspberryBASIC.org Forum
« Reply #198 on: December 21, 2019, 09:25:11 PM »
AIR,

I'm having a problem with CD.

Code: [Select]
ubuntu@rpi4b:~/iup-dev/cd/src$ make
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found
Tecmake: Building Dependencies ... [ cd.dep ] (can be slow)
In file included from ./cairo/cdcairodbuf.c:7:
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairoctx.h:57:22: note: in expansion of macro ‘CAIRO_VERSION_110’
   57 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
In file included from ./cairo/cdcairopdf.c:12:
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairoctx.h:57:22: note: in expansion of macro ‘CAIRO_VERSION_110’
   57 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
In file included from ./cairo/cdcairosvg.c:13:
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairoctx.h:57:22: note: in expansion of macro ‘CAIRO_VERSION_110’
   57 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
In file included from ./cairo/cdcairo.c:16:
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairoctx.h:57:22: note: in expansion of macro ‘CAIRO_VERSION_110’
   57 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairo.c:118:22: note: in expansion of macro ‘CAIRO_VERSION_110’
  118 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairo.c:852:22: note: in expansion of macro ‘CAIRO_VERSION_110’
  852 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairo.c:1726:22: note: in expansion of macro ‘CAIRO_VERSION_110’
 1726 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairo.c:1736:22: note: in expansion of macro ‘CAIRO_VERSION_110’
 1736 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairo.c:1749:22: note: in expansion of macro ‘CAIRO_VERSION_110’
 1749 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairo.c:1759:22: note: in expansion of macro ‘CAIRO_VERSION_110’
 1759 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
In file included from ./cairo/cdcairoimg.c:9:
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairoctx.h:57:22: note: in expansion of macro ‘CAIRO_VERSION_110’
   57 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
In file included from ./cairo/cdcairoirgb.c:13:
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairoctx.h:57:22: note: in expansion of macro ‘CAIRO_VERSION_110’
   57 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
In file included from ./cairo/cdcairops.c:13:
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairoctx.h:57:22: note: in expansion of macro ‘CAIRO_VERSION_110’
   57 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
In file included from ./cairo/cdcaironative_gdk.c:13:
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairoctx.h:57:22: note: in expansion of macro ‘CAIRO_VERSION_110’
   57 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
./cairo/cdcaironative_gdk.c:28:22: error: missing binary operator before token "("
   28 | #if GTK_CHECK_VERSION(2, 22, 0)
      |                      ^
./cairo/cdcaironative_gdk.c:67:22: error: missing binary operator before token "("
   67 | #if GTK_CHECK_VERSION(3, 0, 0)
      |                      ^
./cairo/cdcaironative_gdk.c:82:22: error: missing binary operator before token "("
   82 | #if GTK_CHECK_VERSION(3, 0, 0) && !defined(GDK_NULL)
      |                      ^
./cairo/cdcaironative_gdk.c:132:23: error: missing binary operator before token "("
  132 | #if !GTK_CHECK_VERSION(3, 0, 0)
      |                       ^
./cairo/cdcaironative_gdk.c:137:22: error: missing binary operator before token "("
  137 | #if GTK_CHECK_VERSION(3, 0, 0)
      |                      ^
./cairo/cdcaironative_gdk.c:147:23: error: missing binary operator before token "("
  147 | #if !GTK_CHECK_VERSION(3, 0, 0)  /* always recreate in GTK3 */
      |                       ^
./cairo/cdcaironative_gdk.c:181:22: error: missing binary operator before token "("
  181 | #if GTK_CHECK_VERSION(3, 0, 0)
      |                      ^
./cairo/cdcaironative_gdk.c:188:22: error: missing binary operator before token "("
  188 | #if GTK_CHECK_VERSION(3, 0, 0)
      |                      ^
./cairo/cdcairoprn_unix.c:12:22: error: missing binary operator before token "("
   12 | #if GTK_CHECK_VERSION(3, 0, 0)
      |                      ^
./cairo/cdcairoprn_unix.c:14:24: error: missing binary operator before token "("
   14 | #elif GTK_CHECK_VERSION(2, 10, 0)
      |                        ^
In file included from ./cairo/cdcairoprn_unix.c:19:
./cairo/cdcairoctx.h:20:47: error: missing binary operator before token "("
   20 | #define CAIRO_VERSION_110 CAIRO_VERSION_ENCODE(1, 10, 0)
      |                                               ^
./cairo/cdcairoctx.h:57:22: note: in expansion of macro ‘CAIRO_VERSION_110’
   57 | #if CAIRO_VERSION >= CAIRO_VERSION_110
      |                      ^~~~~~~~~~~~~~~~~
./cairo/cdcairoprn_unix.c:22:22: error: missing binary operator before token "("
   22 | #if GTK_CHECK_VERSION(2, 10, 0)
      |                      ^

Tecmake: starting [ cd:Linux53_arm64 ]
if [ ! -d ../obj/Linux53_arm64 ] ; then mkdir -p ../obj/Linux53_arm64 ; fi
if [ ! -d ../lib/Linux53_arm64 ] ; then mkdir -p ../lib/Linux53_arm64 ; fi
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling cd.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/cd.o cd.c
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling wd.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/wd.o wd.c
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling wdhdcpy.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/wdhdcpy.o wdhdcpy.c
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling rgb2map.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/rgb2map.o rgb2map.c
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling cd_vectortext.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/cd_vectortext.o cd_vectortext.c
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling cd_active.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/cd_active.o cd_active.c
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling cd_attributes.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/cd_attributes.o cd_attributes.c
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling cd_bitmap.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/cd_bitmap.o cd_bitmap.c
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling cd_image.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/cd_image.o cd_image.c
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling cd_primitives.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/cd_primitives.o cd_primitives.c
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling cd_text.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/cd_text.o cd_text.c
cd_text.c: In function ‘cdCanvasNativeFont’:
cd_text.c:310:30: warning: ‘%s’ directive writing up to 199 bytes into a region of size between 0 and 1023 [-Wformat-overflow=]
  310 |     sprintf(native_font, "%s,%s %d", canvas->font_type_face, style, canvas->font_size);
      |                              ^~                              ~~~~~
In file included from /usr/include/stdio.h:867,
                 from cd_text.c:8:
/usr/include/aarch64-linux-gnu/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output between 4 and 1236 bytes into a destination of size 1024
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'webkit2gtk-4.0' found

Tecmake: compiling cd_util.c ...
gcc -c  -Wall -O2 -fPIC -I. -Idrv -Ix11 -Iwin32 -Iintcgm -Isim -Icairo -Isvg -I../include -I../../lua53/include -I/usr -I/include/gtk-3.0/unix-print -I/usr/include/freetype2   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DUSE_GTK3 -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/cd_util.o cd_util.c
cd_util.c:1081:10: fatal error: glib.h: No such file or directory
 1081 | #include <glib.h>
      |          ^~~~~~~~
compilation terminated.
make[1]: *** [../tecmake.mak:1713: ../obj/Linux53_arm64/cd_util.o] Error 1
make: *** [Makefile:14: cd] Error 2
ubuntu@rpi4b:~/iup-dev/cd/src$

Same problem with IUP.


Tecmake: compiling iup_thread.c ...
gcc -c  -Wall -O2 -fPIC -I../include -I. -Igtk -I../../lua53/include -I/usr/X11R6/include   -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DTEC_UNAME=Linux53_arm64 -DTEC_SYSNAME=Linux -DLinux=5.3 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15 -DNDEBUG -o ../obj/Linux53_arm64/iup_thread.o iup_thread.c
iup_thread.c:15:10: fatal error: glib.h: No such file or directory
   15 | #include <glib.h>
      |          ^~~~~~~~
compilation terminated.
make[1]: *** [../tecmake.mak:1713: ../obj/Linux53_arm64/iup_thread.o] Error 1
make: *** [Makefile:12: iup] Error 2
ubuntu@rpi4b:~/iup-dev/iup/src$

« Last Edit: December 21, 2019, 09:30:44 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 3598
    • ScriptBasic Open Source Project
Re: RaspberryBASIC.org Forum
« Reply #199 on: December 21, 2019, 10:40:23 PM »
I was  able to get things to compile with the following change to tecmake.mak.


Line 1413

WAS:
        STDINCS += $(GTK)/lib/glib-2.0/include

Now:
        STDINCS += $(GTK)/lib/glib-2.0


Tecmake: Dynamic Library (../lib/Linux53_arm64/Lua53/libimlua_fftw53.so) Done.

Tecmake: Dynamic Library (../lib/Linux53_arm64/Lua53/libcdluaim53.so) Done.

Tecmake: Dynamic Library (../lib/Linux53_arm64/libftgl.so) Done.

Tecmake: Dynamic Library (../lib/Linux53_arm64/libiup.so) Done.

« Last Edit: December 21, 2019, 10:55:17 PM by John »

Offline AIR

  • BASIC Developer
  • Posts: 932
  • Coder
Re: RaspberryBASIC.org Forum
« Reply #200 on: December 21, 2019, 11:21:31 PM »
If you are modifying STDINCS to get things to compile, then your development environment is not properly set up to use pkg-config and tecmake.
You also don't have the webkitgtk-4.0 development package installed.
It works on my pi, with a freshly installed OS, so I don't have all the potential conflicts you might have (this has happened before with your building stuff).  For example, installing previous builds into the system, and not removing them prior to a new build.  Recipe for trouble, as you've repeatedly experienced.


One thing you have to be VERY careful about is, when you have an issue building and you make a change, once you get it to finish compiling you need to compile again with the -B switch passed to make.  And don't use -j4 because that will continue compiling even if there are errors since it's spawning multiple threads (4 in this case) so if one fails, the others continue, making you think the compile was 100% successful.

Only use -j4 once a full rebuild is successful.

Regarding, libcd.so, that builds fine on my ready-to-be-nuked test system, are you sure you're looking in the right place?  I have the one you mentioned, but in the Lua53 sub-folder, which is correct.

ONE MORE THING:  For my final build, I nuked both the lib and obj folders from all of the components that had them.  Then I built the components in the order I posted previously, and other than a plethora of warnings (then really need to update their code) everything compiled successfully.

AIR.

Offline John

  • Forum Support / SB Dev
  • Posts: 3598
    • ScriptBasic Open Source Project
Re: RaspberryBASIC.org Forum
« Reply #201 on: December 21, 2019, 11:46:04 PM »
I installed the webkit before recompiling. Can't say why my default glib-dev doesn't use an include. Everything seemed to build fine with a lot less warnings this time. I didn't use the -j 4 and only make.
« Last Edit: December 22, 2019, 12:12:31 AM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 3598
    • ScriptBasic Open Source Project
Re: RaspberryBASIC.org Forum
« Reply #202 on: December 22, 2019, 12:03:05 AM »
My next concern is the Nim IUP interface is a complete. h  compatible match and not IUP Lite.

Offline John

  • Forum Support / SB Dev
  • Posts: 3598
    • ScriptBasic Open Source Project
Re: RaspberryBASIC.org Forum
« Reply #203 on: December 22, 2019, 10:00:29 AM »
Thanks AIR for the Lua contribution!

Offline jalih

  • Advocate
  • Posts: 111
Re: RaspberryBASIC.org Forum
« Reply #204 on: December 22, 2019, 12:51:49 PM »
As an old OS/2 user, here is obligatory REXX version:

Code: [Select]
s = ''
t = ''

do i = 0 to 1000000
  a.i = i
  s = s || d2c(i // 26 + 65)
  if length(s) >= 26 then
    do
      t = t || s
      s = ''
    end
end

r = reverse(t)
say 'r LEN: ' || length(r)
say 'Front: ' || left(r, 26)
say 'Back:  ' || right(r, 26)
say 'UBVal: ' || a.1000000
« Last Edit: December 22, 2019, 01:14:42 PM by jalih »

Offline John

  • Forum Support / SB Dev
  • Posts: 3598
    • ScriptBasic Open Source Project
Re: RaspberryBASIC.org Forum
« Reply #205 on: December 22, 2019, 01:21:24 PM »
Does REXX run on the RPi?

It's one of the challenge primary rules.

Offline jalih

  • Advocate
  • Posts: 111
Re: RaspberryBASIC.org Forum
« Reply #206 on: December 22, 2019, 02:10:48 PM »
Does REXX run on the RPi?

It's one of the challenge primary rules.

Regina REXX should be available and probably some others can be build also.

Offline John

  • Forum Support / SB Dev
  • Posts: 3598
    • ScriptBasic Open Source Project
Re: RaspberryBASIC.org Forum
« Reply #207 on: December 22, 2019, 02:36:04 PM »
We need to get more than AIR and I onboard with Ubuntu 64 on the RPi.


Offline John

  • Forum Support / SB Dev
  • Posts: 3598
    • ScriptBasic Open Source Project
Re: RaspberryBASIC.org Forum
« Reply #208 on: December 22, 2019, 03:05:21 PM »
AIR,

I just recieved an e-mail from Antonio and he will incorporate your changes for ARM64.

It's interesting that Ubuntu is classifying this as an IoT product.
« Last Edit: December 22, 2019, 04:30:28 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 3598
    • ScriptBasic Open Source Project
Re: RaspberryBASIC.org Forum
« Reply #209 on: December 22, 2019, 06:47:42 PM »
The Nim IUP extension seems to only cover the IUP part of the library set and CD / IM are missing. At lease I have a model to work with to add the others.