• arm, static

    From Karel Kral@2:423/39 to All on Tuesday, May 21, 2024 10:52:42
    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 Tuesday, May 21, 2024 20:22:28
    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 Wednesday, May 22, 2024 12:04:53
    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 Wednesday, May 22, 2024 09:17:10
    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 Thursday, May 23, 2024 09:10:59
    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)