• arm, static

    From Karel Kral@2:423/39 to All on Tue May 21 10:52:42 2024
    Hello All!

    Trying to run golded on ARM linux. Downloaded the latest from GIT.

    Fighting with few things:

    1) is it possible to compile it like "static" (all .so stuff within one file)?

    2) the latest did not produce gnlx (nodelist) binary. It is some bug or issue on my side?

    Thank you in advance

    Karel

    --- GoldED+/LNX 1.1.5-b20240209
    * Origin: Plast DATA (2:423/39)
  • From Vitaliy Aksyonov@1:104/117 to Karel Kral on Tue May 21 20:22:28 2024
    Hello Karel.

    21 May 24 10:52, you wrote to All:

    Trying to run golded on ARM linux. Downloaded the latest from GIT.

    Fighting with few things:

    1) is it possible to compile it like "static" (all .so stuff within
    one file)?

    Should be possible. It only uses ncurses and some C/C++ specific libraries. You may link it with static ncurses.

    Why do you need static linkage though?

    2) the latest did not produce gnlx (nodelist) binary. It is some bug
    or issue on my side?

    If you use cmake - it will produce binary _golded_, not _gedlnx_.

    Vitaliy

    ... 640K ought to be enough for anybody
    --- GoldED+/LNX 1.1.5-b20240305-beta
    * Origin: Aurora, Colorado (1:104/117)
  • From Karel Kral@2:423/39 to Vitaliy Aksyonov on Wed May 22 12:04:53 2024
    Hello Vitaliy!

    21 May 24 20:22, you wrote to me:

    Should be possible. It only uses ncurses and some C/C++ specific libraries. You may link it with static ncurses.

    Why do you need static linkage though?

    Because I am using Golded on some Embeded linux (= I need to translate it somewhere else). It produced gedlnx (in bin/), I copied it there - and now is asking for libncurses.so.6. Last time I had to collect several libraries like libfontenc, libncurses, libtinfo, etc. = I wanted to have just one executable.

    Googling arround, something like:

    gcc program.o -llib1 -Wl,-Bstatic -llib2 -Wl,-Bdynamic -llib3

    2) the latest did not produce gnlx (nodelist) binary. It is some
    bug or issue on my side?

    If you use cmake - it will produce binary _golded_, not _gedlnx_.

    I got gedlnx. Wondering where to get gnlx then.

    Karel

    --- GoldED+/LNX 1.1.5-b20240209
    * Origin: Plast DATA (2:423/39)
  • From Vitaliy Aksyonov@1:104/117 to Karel Kral on Wed May 22 09:17:10 2024
    Hello Karel.

    22 May 24 12:04, you wrote to me:

    Should be possible. It only uses ncurses and some C/C++ specific
    libraries. You may link it with static ncurses.

    Why do you need static linkage though?

    Because I am using Golded on some Embeded linux (= I need to translate
    it somewhere else). It produced gedlnx (in bin/), I copied it there -
    and now is asking for libncurses.so.6. Last time I had to collect
    several libraries like libfontenc, libncurses, libtinfo, etc. = I
    wanted to have just one executable.

    Googling arround, something like:

    gcc program.o -llib1 -Wl,-Bstatic -llib2 -Wl,-Bdynamic -llib3

    Yes, you need static version of ncurses and modify makefiles.

    2) the latest did not produce gnlx (nodelist) binary. It is some
    bug or issue on my side?

    If you use cmake - it will produce binary _golded_, not _gedlnx_.

    I got gedlnx. Wondering where to get gnlx then.

    If you looking for nodelist compiler it's gnlnx, not gnlx. Shall be next to gedlnx. Maybe build failed, look for errors in build output.

    Vitaliy

    ... 640K ought to be enough for anybody
    --- GoldED+/LNX 1.1.5-b20240305-beta
    * Origin: Aurora, Colorado (1:104/117)
  • From Karel Kral@2:423/39 to Vitaliy Aksyonov on Thu May 23 09:10:59 2024
    Hello Vitaliy!

    22 May 24 09:17, you wrote to me:

    gcc program.o -llib1 -Wl,-Bstatic -llib2 -Wl,-Bdynamic -llib3
    Yes, you need static version of ncurses and modify makefiles.

    No luck so far. Tried to modify GNUmakef.def in the way:

    " ifeq ($(WIDE_NCURSES),1)
    LIBCURSES=-L/opt/csw/lib -lncursesw -Wl,-Bstatic
    else
    LIBCURSES=-L/opt/csw/lib -lncurses -Wl,-Bstatic
    endif
    "
    But did not help - still need libraries.

    Copying then libraries. One by one.

    Stuck now with libstdc++.so.6 (actually /usr/lib64/libstdc++.so.6.0.25)

    starting program ends with error in it: "symbol __cxa_thread_atexit_impl, version GLIBC_2.18 not defined in file libc.so.6 with link time reference"

    To make static build would help a lot.

    If you looking for nodelist compiler it's gnlnx, not gnlx. Shall be
    next to gedlnx. Maybe build failed, look for errors in build output.

    Did make clean and make again (with changed def see above) and it solved by itself. Got gnlnx and rddtlnx afterwards.

    Karel

    --- GoldED+/LNX 1.1.5-b20240209
    * Origin: Plast DATA (2:423/39)