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

Reply via email to