NC - SC

NC - SC

◇◇◇◇◇ REMARK – THIS IS NOT MY MAIN BLOG ◇◇◇◇◇◇

The Better Blog Version is ON WORDPRESS *****To jest blog pomocniczy. Podstawowy jest tu (link trzeba przekopiować): **** https://tradycyjnyyahwista.wordpress.com/ STRUKTURA STRONY:•Wordpress blog zasadniczy, NOWOŚĆ: INDEKS A...Z. Bogate menu, galerie, *AKTUALIZACJE*, ŹRÓDŁA! •Blogger to blog pomocniczy – notatki, też komentarz itp. •YT – playlisty (aż z kilkanaście, PL i ENG.), WYCINKI - FRAGMENTY •Rumble – filmiki, filmy i WYCINKI, Dżek •JustPaste – pozostałe materiały i notatki, koment.

Search This Blog

Wednesday, February 28, 2024

Damned „manually”: Clang «fast» Compiler still, 2024, NOT fully compatible with «gcc-code»: The nsxiv app’s compilation is one example.

 

Problem WAS, I updated some packages in Arch Linux and, after that, tried to replace old sxiv’s program custom enhanced variant to the new nsxiv from its git repository.

3 „old-fashioned” errors
— with fast Clang compiler, „new technology” of compilers, that are also accompanied (across… MULTIPLE Arch Linux packages) with the LLVM compiling orientation:

clang-16: warning: treating ‚c’ input as ‚c++’ when in C++ mode, this behavior is deprecated [-Wdeprecated]
autoreload.c:70:17: error: assigning to ‚char *’ from incompatible type ‚void *’
scratch.buf = erealloc(scratch.buf, scratch.len);
^~~~~~~~ autoreload.c:73:9: error: cannot initialize return object of type ‚char *’ with an rvalue of type ‚void *’ return memcpy(scratch.buf, filepath, len); ^~~~~~~~
autoreload.c:87:9: error: assigning to ‚char *’ from ‚const char *’ discards qualifiers
base = strrchr(filepath, ‚/’);
^~~~~~
3 errors generated.


Rerun make with old, „straight” gcc

 (by unset CXX & unset CC bash commands- and OK:

CC autoreload.o
c99 -Wall -pedantic -O2 -DNDEBUG -D_XOPEN_SOURCE=700 -DHAVE_LIBEXIF=1 -DHAVE_LIBFONTS=1 -DHAVE_INOTIFY=1 -I/usr/include/freetype2 -I/usr/local/include/freetype2 -c -o autoreload.o autoreload.c
CC commands.o
c99 -Wall -pedantic -O2 -DNDEBUG -D_XOPEN_SOURCE=700 -DHAVE_LIBEXIF=1 -DHAVE_LIBFONTS=1 -DHAVE_INOTIFY=1 -I/usr/include/freetype2 -I/usr/local/include/freetype2 -c -o commands.o commands.c
CC image.o


Yea, this one was simple.

 But generally, in IT world we have bigger projects that must be (re)compiled (or linked dynamically), DUE TO *.SO libraries issues.

There is no „hot” alternative. I don’t want the difficult special scientific system distrubution — I prefer to, AS WITH the icu lib, to put *ALTERNATIVE* libs in its special folder – not in /etc/alternatives but in /usr/local/lib/ICUxx, for example. While the icu library is the most wideheavy alternative (Libre Office tends to link version after version of icu!!!), the (re)compilation of application turns out to be solution (as it was with BibleTime, also).

Some time ago, I replaced Arch Linux packages with the manjaro repo – resulted, not instantly but after update+manually, QGIS started working.

Previously I run QGIS from chrooted Debian system (that is, the container – not the VM nor similar, but live ability to change root directory – the SO objects are linked from distribution file tree).


Theory of Concave Earth PC Programs

No comments:

Post a Comment