If you look at the blame of the code in fpdbglinuxclasses.pas then you'll clearly see that these function imports exist like this for 10 years already (though the use of at least login_tty had been removed around a year ago), much longer than the move of openpty and login_tty from libutil to libc inside the glibc project.
The issue is simply as usual that an application compiled on a more modern Linux system isn't usable on an older one.
hi PascalDragon - you are right about the two symbols having existed before glibc 2.34 - i see now that they also have 2.2.5 versions. but the use of the 2.34 version these
two specific symbols still conflicts with
all other libc symbols being versioned to 2.2.5. i have 'toned back' my original posting accordingly.
here is a list of
all the libc symbols from
lazarus-ide:
3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND wcrtomb@GLIBC_2.2.5 (2)
17: 0000000000000000 0 FUNC GLOBAL DEFAULT UND openlog@GLIBC_2.2.5 (2)
36: 0000000000000000 0 FUNC GLOBAL DEFAULT UND tcgetattr@GLIBC_2.2.5 (2)
51: 0000000000000000 0 FUNC GLOBAL DEFAULT UND closelog@GLIBC_2.2.5 (2)
81: 0000000000000000 0 FUNC GLOBAL DEFAULT UND dlopen@GLIBC_2.2.5 (2)
129: 0000000000000000 0 FUNC GLOBAL DEFAULT UND read@GLIBC_2.2.5 (2)
196: 0000000000000000 0 FUNC GLOBAL DEFAULT UND dlclose@GLIBC_2.2.5 (2)
200: 0000000000000000 0 FUNC GLOBAL DEFAULT UND grantpt@GLIBC_2.2.5 (2)
221: 0000000000000000 0 FUNC GLOBAL DEFAULT UND syslog@GLIBC_2.2.5 (2)
291: 0000000000000000 0 FUNC GLOBAL DEFAULT UND nl_langinfo@GLIBC_2.2.5 (2)
306: 0000000000000000 0 FUNC GLOBAL DEFAULT UND dlsym@GLIBC_2.2.5 (2)
313: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __errno_location@GLIBC_2.2.5 (2)
393: 0000000000000000 0 FUNC GLOBAL DEFAULT UND iconv_close@GLIBC_2.2.5 (2)
409: 0000000000000000 0 FUNC GLOBAL DEFAULT UND login_tty@GLIBC_2.34 (3)
435: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.2.5 (2)
522: 0000000000000000 0 FUNC GLOBAL DEFAULT UND setenv@GLIBC_2.2.5 (2)
541: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcoll@GLIBC_2.2.5 (2)
552: 0000000000000000 0 FUNC GLOBAL DEFAULT UND dlerror@GLIBC_2.2.5 (2)
567: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fcntl@GLIBC_2.2.5 (2)
591: 0000000000000000 0 FUNC GLOBAL DEFAULT UND iconv_open@GLIBC_2.2.5 (2)
616: 0000000000000000 0 FUNC GLOBAL DEFAULT UND unlockpt@GLIBC_2.2.5 (2)
638: 0000000000000000 0 FUNC GLOBAL DEFAULT UND write@GLIBC_2.2.5 (2)
694: 0000000000000000 0 FUNC GLOBAL DEFAULT UND tcsetattr@GLIBC_2.2.5 (2)
728: 0000000000000000 0 FUNC GLOBAL DEFAULT UND mbrtowc@GLIBC_2.2.5 (2)
761: 0000000000000000 0 FUNC GLOBAL DEFAULT UND iconv@GLIBC_2.2.5 (2)
859: 0000000000000000 0 FUNC GLOBAL DEFAULT UND wcscoll@GLIBC_2.2.5 (2)
882: 0000000000000000 0 FUNC GLOBAL DEFAULT UND ptsname_r@GLIBC_2.2.5 (2)
915: 0000000000000000 0 FUNC GLOBAL DEFAULT UND openpty@GLIBC_2.34 (3)
975: 0000000000000000 0 FUNC GLOBAL DEFAULT UND towlower@GLIBC_2.2.5 (2)
1004: 0000000000000000 0 FUNC GLOBAL DEFAULT UND sched_yield@GLIBC_2.2.5 (2)
1062: 0000000000000000 0 FUNC GLOBAL DEFAULT UND dladdr@GLIBC_2.2.5 (2)
1111: 0000000000000000 0 FUNC GLOBAL DEFAULT UND close@GLIBC_2.2.5 (2)
1236: 0000000000000000 0 FUNC GLOBAL DEFAULT UND setlocale@GLIBC_2.2.5 (2)
1264: 0000000000000000 0 FUNC GLOBAL DEFAULT UND mbrlen@GLIBC_2.2.5 (2)
1324: 0000000000000000 0 FUNC GLOBAL DEFAULT UND sysconf@GLIBC_2.2.5 (2)
1325: 0000000000000000 0 FUNC GLOBAL DEFAULT UND posix_openpt@GLIBC_2.2.5 (2)
1370: 0000000000000000 0 FUNC GLOBAL DEFAULT UND towupper@GLIBC_2.2.5 (2)
1372: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.2.5 (2)(the above is output from:
readelf --dyn-syms -W lazarus-ide | grep GLIBC)
note that the above is the output from examining a copy of
lazarus-ide extracted
directly from the sourceforge .deb file using:
dpkg-deb -R lazarus-project_3.6.0-0_amd64.deb tempi am at a loss as to how this ELF file was created, likely either a partial set of symbol substitutions was done using a modified FPC compiler (similar to what i have advocated elsewhere but half-baked), or possibly one part of the compilation/make process was carried out on an 'old' linux distro, with the remaining part carried out on a 'new' linux distro. either way, something is seriously wrong.
does anyone know
who creates the .deb files that are on sourceforge? i would very much like to have a chat with them.
cheers,
rob :-)