Thanks for that link but there was no accepted answer to that question.
Looking it over I could see why: because the answers were very vague and
mostly incorrect. So I did a little more homework and this is what I am
going to pretend is the answer:
The __dso_handle is a hidden global pointer to the current address where
the next destructor_ptr of a *.so file to be unloaded by the OS will be
stored. It could be defined anywhere but most likely should be in the
_fini section of the GCC's crtbegin files -- which I don't use, hence I
have to define it myself in my own code. That seemed to resolve the
compiling problem.Whether it works or not is another issue altogether :)
https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib---cxa-atexit.html
https://www.ic.unicamp.br/~islene/2s2008-mo806/libc/csu/dso_handle.c
https://alex-robenko.gitbook.io/bare_metal_cpp/compiler_output/static
On 7/24/23 09:21, Antonio Scuri wrote:
Try this one:
https://stackoverflow.com/questions/34308720/where-is-dso-handle-defined
Em seg., 24 de jul. de 2023 11:15, Anonymous
<anonuser8313...@gmail.com> escreveu:
Mucho gracias Antonio! You are so patient too! I am down to six
errors I think, but it seems every time I fix one set of errors, a
new set of errors pop up. I really don't know how to read "ld"
yet, but what do you think of the following errors:
ld: ./lib/libiup_scintilla.a(ExternalLexer.o): in function
`_GLOBAL__sub_I_ExternalLexer.cxx':
ExternalLexer.cxx:(.text.startup+0x19): undefined reference to
`__dso_handle'
ld: ExternalLexer.cxx:(.text.startup+0x37): undefined reference to
`__dso_handle'
ld: ./lib/libiup_scintilla.a(CaseConvert.o): in function
`_GLOBAL__sub_I_CaseConvert.cxx':
CaseConvert.cxx:(.text.startup+0x8): undefined reference to
`__dso_handle'
ld: CaseConvert.cxx:(.text.startup+0x93): undefined reference to
`__dso_handle'
ld: CaseConvert.cxx:(.text.startup+0x11f): undefined reference to
`__dso_handle'
ld:
./lib/libiup_scintilla.a(LexAda.o):LexAda.cxx:(.text.startup+0x44):
more undefined references to `__dso_handle' follow
Which additional library(s) do I need to add now (I'm currently at
19!!)?
On 7/24/23 05:38, Antonio Scuri wrote:
IupScintilla is C only, but Scintilla itself is not.
Em qua., 19 de jul. de 2023 às 16:14, Anonymous
<anonuser8313...@gmail.com> escreveu:
I was down to 8,518 errors, but then I noticed something:
ScintillaGTK.cxx:(.text+0x22c0): undefined reference to
`operator new(unsigned long)'
ld: ./lib/libiup_scintilla.a(ScintillaGTK.o): in function
`Scintilla::ScintillaGTK::RequestSelection(_GdkAtom*)':
There are a lot of those kinds of errors which seems to
indicated that libiup_scintilla.a was compiled as a C++
program and not a C program. I thought IUP was supposed to be
C-only and not a mix? Is there a C-only version of
libiup_scintilla.a that I can download somewhere?
On 7/18/23 13:31, Anonymous wrote:
Thanks for the advice. I already use the L switch for
linking to all the IUP *.a files, i.e. -- *-L./lib*. That
works fine for all files except for libiup_scintilla.a. For
that you are telling me I need to link to specific files in
GTK3. It seems to me GTK3 isn't meant to be called directly
by programs, only by the OS (hence the reason it isn't in
the $PATH), so I temporarily add the GTK3 directory to my
path and then linked to them ... except that doesn't work.
The (Debian) system says there is no libgtk-3, which when I
go and look for it, there is only libgtk-3.so.0 which (to
me) looks like a symbolic link, so I have to change
*-lgtk-3* to *-l:libgtk-3.so.0* and so on and so forth for
all 12 files the documentation listed: *-l:libgdk-3.so.0
-l:libgdk_pixbuf-2.0.so.0 -l:libpangocairo-1.0.so.0
-l:libpango-1.0.so.0 -l:libcairo.so.2 -l:libgobject-2.0.so.0
-l:libgmodule-2.0.so.0 -l:libglib-2.0.so.0 -l:libXext.so.6
-l:libX11.so.6 -l:libm.so.6*. Now it links to them but
unfortunately, this leads to a new problem, namely:
*ld: ./lib/libiup_scintilla.a(ScintillaGTKAccessible.o):
undefined reference to symbol 'atk_object_notify_state_change'**
**ld: /lib/x86_64-linux-gnu/libatk-1.0.so.0: error adding
symbols: DSO missing from command line*
Now what do I do?
PS -- There is a typo in the doc: *gdk-3* should have been
*-lgdk-3*
PPS -- Look at that huge, gigantic command line! This is
far, far easier to do in Windows than it is in Linux.
On 7/17/23 05:56, Antonio Scuri wrote:
-L/my_path/iup/lib/Linux
Em seg., 17 de jul. de 2023 às 09:04, Anonymous
<anonuser8313...@gmail.com> escreveu:
On 7/17/23 04:49, Antonio Scuri wrote:There is no
libscintilla.a so I am stuck with libscintilla.so
There is no sense in using GTK 2 anymore for recent
systems. Focus on GTK 3.
Yes sir, I understand. I will focus only on GTK3 from
now on.
The problem I'm see is, none of the files mentioned in
the IUP documentation for static linking are visible,
even with GTK3 installed. How can I make the files
visible from the current working directory my source
code is in?
Em sáb., 15 de jul. de 2023 às 17:52, Anonymous
<anonuser8313...@gmail.com> escreveu:
Note, the documentation says to use -lpangox-2.0,
but their is no libpangox-2.0.so
<http://libpangox-2.0.so> file that exists in the
GTK2 or GTK3 directory. Was it supposed to say
-lpangoxft-1.0 or -lpangomm-1.4.so
<http://lpangomm-1.4.so> or -lpangocairo-1.0.so.0?
On 7/15/23 13:06, Anonymous wrote:
My problem is why won't GTK show up in my path,
even though the system works with GTK apps? Is
that normal? I could copy all the files needed to
a directory for static linking as
https://www.tecgraf.puc-rio.br/iup/ says to do,
"For GTK, IUP uses the GTK, GDK, Pango, Cairo if
GTK 3, and GLib. To *statically* link an
application with IUP, use the following options
in the linker call (in the same order) ...
*-lgtk-x11-2.0 -lgdk-x11-2.0* -lgdk_pixbuf-2.0*-lpangox-1.0*
-lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lXext -lX11 -lm (for GTK 2)
or
*-lgtk-3 gdk-3* -lgdk_pixbuf-2.0*-lpangocairo-1.0*
-lpango-1.0*-lcairo* -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lXext -lX11 -lm
(for GTK 3)"
... but do I really have to copy files from root
to a place where it can be found by my make file?
That doesn't make sense but if that is how things
are done in Linux, I will just have to do it. I
just hope those files are easy to find.
On 7/15/23 12:31, Antonio Scuri wrote:
Please take a look at the IUP documentation.
You will find more info there:
https://www.tecgraf.puc-rio.br/iup/
In Guide / Building Applications
Best,
Scuri
Em sáb., 15 de jul. de 2023 às 12:54, Anonymous
<anonuser8313...@gmail.com> escreveu:
One last follow-up...
If I go to
https://packages.debian.org/bullseye/amd64/libgtk2.0-0/filelist,
it shows me where the GTK files are located
for Debian based systems. Why isn't this in
the PATH? Why do I have GTK programs that
work if it isn't in the PATH? Does that mean
I have to link to the GTK library using a
hard-coded path? That's a problem since that
means that since Debian doesn't follow the
standard Linux filesystem hierarchy standard
(which says GTK should be installed in
/usr/lib/ and not
/usr/lib/x86_64-linux-gnu/) if I hard-code
the path name in the linker for GTK, it will
only work for Debian systems.
For being so user friendly, MX Linux sure is
developer unfriendly.
On 7/15/23 08:29, Anonymous wrote:
That's a typo. It actually says it has both
installed but I can't find either one on my
computer.
On 7/15/23 08:23, Anonymous wrote:
Ola,
Much thanks Antonio! I went from 13381
errors to two, but these two errors look
ominous...
ld: ./lib/libiup.a(iupgtk_toggle.o):
undefined reference to symbol
'gtk_toggle_button_new'
ld:
/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0:
error adding symbols: DSO missing from
command l
ine
Is that one error or two? My system does
not have a file named libgtk-x11-2.0.0, so
I tried...
|dpkg -l libgtk* | grep -e '^i' | grep -e
'libgtk-*[0-9]' and it returned... |ii libgtk-3-0:amd64
3.24.24-4+deb11u3 amd64 GTK graphical user interface library
ii libgtk-3-common 3.24.24-4+deb11u3 all
common files for the GTK graphical user interface library
ii libgtk2.0-0:amd64 2.24.33-2 amd64
GTK graphical user interface library - old version
ii libgtk2.0-common 2.24.33-2 all
common files for the GTK graphical user interface library
ii libgtk3-perl 0.038-1 all
Perl bindings for the GTK+ graphical user interface library
||
Oops! It looks like IUP will only work
with GTK2 and that says I have GTK3,
right? Is there any workaround for that or
am I screwed?
Signed,
Andrew
On 7/15/23 05:50, Antonio Scuri wrote:
The scintilla library itself is missing.
IupScintilla is IUP using Scintilla.
Em sáb., 15 de jul. de 2023 às 09:43,
Anonymous <anonuser8313...@gmail.com>
escreveu:
Ola,
I'm still new to Linux so forgive me
if I ask what might be stupid
questions. I cannot link to scintilla
using IUP. I get a slew of error
like this:
ld:
./lib/libiup_scintilla.a(ScintillaGTK.o):
in function
`Scintilla::ScintillaGTK::ModifyScrollBars(long,
long)':
ScintillaGTK.cxx:(.text+0x70d):
undefined reference to
`gtk_adjustment_get_upper'
ld: ScintillaGTK.cxx:(.text+0x737):
undefined reference to
`gtk_adjustment_get_page_size'
ld: ScintillaGTK.cxx:(.text+0x77b):
undefined reference to
`gtk_adjustment_set_upper'
ld: ScintillaGTK.cxx:(.text+0x790):
undefined reference to
`gtk_adjustment_set_page_size'
ld: ScintillaGTK.cxx:(.text+0x7a6):
undefined reference to
`gtk_adjustment_set_page_increment'
ld: ScintillaGTK.cxx:(.text+0x7da):
undefined reference to
`gtk_adjustment_get_upper'
ld: ScintillaGTK.cxx:(.text+0x81a):
undefined reference to
`gtk_adjustment_get_page_size'
ld: ScintillaGTK.cxx:(.text+0x855):
undefined reference to
`gtk_adjustment_set_upper'
ld: ScintillaGTK.cxx:(.text+0x86a):
undefined reference to
`gtk_adjustment_set_page_size'
ld: ScintillaGTK.cxx:(.text+0x87f):
undefined reference to
`gtk_adjustment_set_page_increment'
And etc, etc, etc for 13381 lines.
I presume that means a dependency is
missing but what dependency would
that be? Or it might be something
else? Does anyone know?
Signed,
Andrew
╔═════════════════════╗
║ Environment ║
╟─────────────────────╢
║ IUP v3.30 ║
║ IM v3.12 ║
║ CD v5.11.1 ║
║ Mx Linux v21.3 ║
║ KDE_x64 Wildflower ║
╚═════════════════════╝
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users