Jump to content

Lars Fosdal

Administrators
  • Content Count

    3565
  • Joined

  • Last visited

  • Days Won

    120

Everything posted by Lars Fosdal

  1. Lars Fosdal

    Get started writing Linux apps

    Oh, BTW - VS Code and Powershell 7 works beautifully under Ubuntu 18.04 🙂
  2. Lars Fosdal

    Get started writing Linux apps

    Originally, this was done to try to figure out why @Angus Robertson had issues with getting his Ubuntu environment working.
  3. Lars Fosdal

    ICS for Linux?

    I am on PS C:\Windows\System32> Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer WindowsProductName WindowsVersion OsHardwareAbstractionLayer ------------------ -------------- -------------------------- Windows 10 Enterprise 1909 10.0.18362.752
  4. Lars Fosdal

    ICS for Linux?

    The Ubuntu 18.04 that my Hyper-V Quick Create offers me, has the visual UI - so not a pure server, perhaps?
  5. Lars Fosdal

    ICS for Linux?

    @Angus Robertson I tried Hyper-V Quick Create, and it worked for me, but you need to add the build essentials manually. Wrote a small post about it too. https://larsfosdal.blog/2020/08/26/get-started-writing-linux-apps-with-delphi-10-3-3-rio/ What fails during your installation?
  6. Lars Fosdal

    ICS for Linux?

    It is unfortunate that the toolchain doesn't keep up with the platforms it is supposed to support.
  7. Lars Fosdal

    ICS for Linux?

    sudo apt install gcc cured the linker problems, but appeared in the PAserver and followed in the IDE. /facepalm
  8. Lars Fosdal

    ICS for Linux?

    What went wrong?
  9. Lars Fosdal

    ICS for Linux?

    This compiled, but it didnt link. 😕 program LinuxTest; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; begin try { TODO -oUser -cConsole Main : Insert code here } Writeln('Hello World'); except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end. Checking project dependencies... [EurekaLog] LinuxTest.dproj(1): Unsupported project (LinuxTest.dproj; Linux64): platform "Linux64" is not supported Compiling LinuxTest.dproj (Debug, Linux64) brcc32 command line for "LinuxTest.vrc" c:\program files (x86)\embarcadero\studio\20.0\bin\cgrc.exe -c65001 LinuxTest.vrc -foLinuxTest.res dcclinux64 command line for "LinuxTest.dpr" c:\program files (x86)\embarcadero\studio\20.0\bin\dcclinux64.exe -$O- --no-config -M -Q -AGenerics.Collections=System.Generics.Collections; Generics.Defaults=System.Generics.Defaults -DDEBUG;foslar -E.\Linux64\Debug -I"c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug"; "c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\release";C:\Users\foslar\Documents\Embarcadero\Studio\20.0\Imports;"c:\program files (x86)\embarcadero\studio\20.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp\Linux64;"c:\program files (x86)\embarcadero\studio\20.0\include";"c:\program files (x86)\embarcadero\studio\20.0\redist\Linux64"; C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Linux64 -LEC:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Linux64 -LNC:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp\Linux64 -NU.\Linux64\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap;;(Default) -O"c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\release";C:\Users\foslar\Documents\Embarcadero\Studio\20.0\Imports;"c:\program files (x86)\embarcadero\studio\20.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp\Linux64;"c:\program files (x86)\embarcadero\studio\20.0\include";"c:\program files (x86)\embarcadero\studio\20.0\redist\Linux64"; C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Linux64 -R"c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\release"; C:\Users\foslar\Documents\Embarcadero\Studio\20.0\Imports;"c:\program files (x86)\embarcadero\studio\20.0\Imports"; C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp\Linux64;"c:\program files (x86)\embarcadero\studio\20.0\include";"c:\program files (x86)\embarcadero\studio\20.0\redist\Linux64";C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Linux64 -U"c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug";"c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\release"; C:\Users\foslar\Documents\Embarcadero\Studio\20.0\Imports;"c:\program files (x86)\embarcadero\studio\20.0\Imports"; C:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp\Linux64;"c:\program files (x86)\embarcadero\studio\20.0\include";"c:\program files (x86)\embarcadero\studio\20.0\redist\Linux64";C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Linux64 --syslibroot:C:\Users\foslar\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk --libpath:C:\Users\foslar\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\usr\lib\gcc\x86_64-linux-gnu\9; C:\Users\foslar\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\usr\lib\x86_64-linux-gnu; C:\Users\foslar\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\lib\x86_64-linux-gnu -V -VN -NHC:\Users\Public\Documents\Embarcadero\Studio\20.0\hpp\Linux64 -NO.\Linux64\Debug LinuxTest.dpr [DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot find -lgcc_s C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot find -lc C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot find -ldl C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot find -lpthread C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\ld-linux.exe: error: cannot find -lm c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::__malloc(NativeUInt): error: undefined reference to 'malloc' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::__free(void*): error: undefined reference to 'free' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::pthread_once(int&, void (*)()): error: undefined reference to 'pthread_once' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::pthread_key_create(unsigned int&, void (*)(void*)): error: undefined reference to 'pthread_key_create' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::dladdr(NativeUInt, dl_info&): error: undefined reference to 'dladdr' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::dlopen(char*, int): error: undefined reference to 'dlopen' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::dlclose(NativeUInt): error: undefined reference to 'dlclose' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::dlsym(NativeUInt, char*): error: undefined reference to 'dlsym' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::TlsGetValue(unsigned int): error: undefined reference to 'pthread_getspecific' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\SysInit.o:SysInit:function Sysinit::TlsSetValue(unsigned int, void*): error: undefined reference to 'pthread_setspecific' SysInit.pas:1183: error: undefined reference to '_Unwind_Resume' System.pas:17574: error: undefined reference to '_Unwind_Resume' System.pas:17486: error: undefined reference to '_Unwind_Resume' System.pas:668: error: undefined reference to 'memcpy' System.pas:17471: error: undefined reference to '_Unwind_Resume' System.pas:672: error: undefined reference to 'memcpy' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::getenv(char*): error: undefined reference to 'getenv' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__malloc(NativeUInt): error: undefined reference to 'malloc' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::calloc(NativeUInt, NativeUInt): error: undefined reference to 'calloc' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::realloc(void*, NativeUInt): error: undefined reference to 'realloc' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__free(void*): error: undefined reference to 'free' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__exit(int): error: undefined reference to 'exit' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::memmove(void*, void const*, NativeUInt): error: undefined reference to 'memmove' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::memset(void*, int, NativeUInt): error: undefined reference to 'memset' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::strlen(char*): error: undefined reference to 'strlen' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__raise(int): error: undefined reference to 'raise' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::pthread_self(): error: undefined reference to 'pthread_self' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::sched_yield(): error: undefined reference to 'sched_yield' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::dladdr(NativeUInt, dl_info&): error: undefined reference to 'dladdr' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::dlopen(char*, int): error: undefined reference to 'dlopen' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::dlclose(NativeUInt): error: undefined reference to 'dlclose' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::dlsym(NativeUInt, char*): error: undefined reference to 'dlsym' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::dlerror(): error: undefined reference to 'dlerror' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::open(char*, int): error: undefined reference to 'open' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__chdir(char*): error: undefined reference to 'chdir' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__close(int): error: undefined reference to 'close' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fchdir(int): error: undefined reference to 'fchdir' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::ftruncate(int, long): error: undefined reference to 'ftruncate' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::getcwd(char*, NativeUInt): error: undefined reference to 'getcwd' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::lseek(int, long, int): error: undefined reference to 'lseek' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__read(int, void*, NativeUInt): error: undefined reference to 'read' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::readlink(char*, char*, NativeUInt): error: undefined reference to 'readlink' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::sysconf(int): error: undefined reference to 'sysconf' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::usleep(unsigned int): error: undefined reference to 'usleep' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__write(int, void*, NativeUInt): error: undefined reference to 'write' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::iconv(void*, char**, NativeUInt*, char**, NativeUInt*): error: undefined reference to 'iconv' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::iconv_open(char*, char*): error: undefined reference to 'iconv_open' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::iconv_close(void*): error: undefined reference to 'iconv_close' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::stat(char*, _stat&): error: undefined reference to 'stat' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::mmap(void*, NativeUInt, int, int, int, long): error: undefined reference to 'mmap' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::munmap(void*, NativeUInt): error: undefined reference to 'munmap' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::__error(): error: undefined reference to '__errno_location' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::wcscoll_l(int const*, int const*, void*): error: undefined reference to 'wcscoll_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::towupper_l(unsigned int, void*): error: undefined reference to 'towupper_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::setlocale(int, char const*): error: undefined reference to 'setlocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::newlocale(int, char const*, void*): error: undefined reference to 'newlocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::times(tms&): error: undefined reference to 'times' ICU.inc:243: error: undefined reference to 'memcpy' System.pas:28043: error: undefined reference to 'memcpy' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fegetexceptflag(unsigned short*, unsigned int): error: undefined reference to 'fegetexceptflag' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fesetexceptflag(unsigned short*, unsigned int): error: undefined reference to 'fesetexceptflag' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fegetround(): error: undefined reference to 'fegetround' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fesetround(unsigned int): error: undefined reference to 'fesetround' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::fedisableexcept(unsigned int): error: undefined reference to 'fedisableexcept' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::libm_cosl(long double): error: undefined reference to 'cosl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::libm_sinl(long double): error: undefined reference to 'sinl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::libm_atanl(long double): error: undefined reference to 'atanl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::libm_sqrtl(long double): error: undefined reference to 'sqrtl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::llrintl(long double): error: undefined reference to 'llrintl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_RaiseException(_Unwind_Exception&): error: undefined reference to '_Unwind_RaiseException' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_GetRegionStart(_Unwind_Context*): error: undefined reference to '_Unwind_GetRegionStart' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_GetLanguageSpecificData(_Unwind_Context*): error: undefined reference to '_Unwind_GetLanguageSpecificData' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_SetGR(_Unwind_Context*, int, NativeUInt): error: undefined reference to '_Unwind_SetGR' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_GetIP(_Unwind_Context*): error: undefined reference to '_Unwind_GetIP' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.o:System:function System::_Unwind_SetIP(_Unwind_Context*, NativeUInt): error: undefined reference to '_Unwind_SetIP' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dlfcn.o:Posix.Dlfcn:function Posix::Dlfcn::dladdr(NativeUInt, dl_info&): error: undefined reference to 'dladdr' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dlfcn.o:Posix.Dlfcn:function Posix::Dlfcn::dlopen(char*, int): error: undefined reference to 'dlopen' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dlfcn.o:Posix.Dlfcn:function Posix::Dlfcn::dlclose(NativeUInt): error: undefined reference to 'dlclose' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dlfcn.o:Posix.Dlfcn:function Posix::Dlfcn::dlsym(NativeUInt, char*): error: undefined reference to 'dlsym' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Fcntl.o:Posix.Fcntl:function Posix::Fcntl::__open(char*, int): error: undefined reference to 'open' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Fcntl.o:Posix.Fcntl:function Posix::Fcntl::fcntl(int, int): error: undefined reference to 'fcntl' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.SysStat.o:Posix.SysStat:function Posix::Sysstat::fstat(int, _stat&): error: undefined reference to 'fstat' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.SysStat.o:Posix.SysStat:function Posix::Sysstat::lstat(char*, _stat&): error: undefined reference to 'lstat' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.SysStat.o:Posix.SysStat:function Posix::Sysstat::stat(char*, _stat&): error: undefined reference to 'stat' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Signal.o:Posix.Signal:function Posix::Signal::sigaction(int, sigaction_t*, sigaction_t*): error: undefined reference to 'sigaction' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Signal.o:Posix.Signal:function Posix::Signal::sigaddset(sigset_t&, int): error: undefined reference to 'sigaddset' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Signal.o:Posix.Signal:function Posix::Signal::kill(int, int): error: undefined reference to 'kill' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Time.o:Posix.Time:function Posix::Time::clock_gettime(int, timespec*): error: undefined reference to 'clock_gettime' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Time.o:Posix.Time:function Posix::Time::localtime_r(long&, tm&): error: undefined reference to 'localtime_r' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.SysTime.o:Posix.SysTime:function Posix::Systime::gettimeofday(timeval&, void*): error: undefined reference to 'gettimeofday' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Locale.o:Posix.Locale:function Posix::Locale::localeconv(): error: undefined reference to 'localeconv' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Locale.o:Posix.Locale:function Posix::Locale::newlocale(int, char const*, void*): error: undefined reference to 'newlocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Locale.o:Posix.Locale:function Posix::Locale::freelocale(void*): error: undefined reference to 'freelocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Locale.o:Posix.Locale:function Posix::Locale::duplocale(void*): error: undefined reference to 'duplocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Locale.o:Posix.Locale:function Posix::Locale::uselocale(void*): error: undefined reference to 'uselocale' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Iconv.o:Posix.Iconv:function Posix::Iconv::iconv_open(char*, char*): error: undefined reference to 'iconv_open' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Iconv.o:Posix.Iconv:function Posix::Iconv::iconv_close(void*): error: undefined reference to 'iconv_close' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dirent.o:Posix.Dirent:function Posix::Dirent::closedir(__dirstream*): error: undefined reference to 'closedir' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dirent.o:Posix.Dirent:function Posix::Dirent::opendir(char*): error: undefined reference to 'opendir' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Dirent.o:Posix.Dirent:function Posix::Dirent::readdir_r(__dirstream*, dirent*, dirent*&): error: undefined reference to 'readdir_r' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Errno.o:Posix.Errno:function Posix::Errno::__error(): error: undefined reference to '__errno_location' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Fnmatch.o:Posix.Fnmatch:function Posix::Fnmatch::fnmatch(char*, char*, int): error: undefined reference to 'fnmatch' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Langinfo.o:Posix.Langinfo:function Posix::Langinfo::nl_langinfo(int): error: undefined reference to 'nl_langinfo' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Langinfo.o:Posix.Langinfo:function Posix::Langinfo::nl_langinfo_l(int, void*): error: undefined reference to 'nl_langinfo_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Pthread.o:Posix.Pthread:function Posix::Pthread::GetCurrentThreadID(): error: undefined reference to 'pthread_self' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Stdlib.o:Posix.Stdlib:function Posix::Stdlib::getenv(char*): error: undefined reference to 'getenv' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.String_.o:Posix.String_:function Posix::String_::memcmp(void const*, void const*, NativeUInt): error: undefined reference to 'memcmp' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.String_.o:Posix.String_:function Posix::String_::strcmp(char*, char*): error: undefined reference to 'strcmp' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.String_.o:Posix.String_:function Posix::String_::strerror_r(int, char*, NativeUInt): error: undefined reference to 'strerror_r' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Unistd.o:Posix.Unistd:function Posix::Unistd::euidaccess(char*, int): error: undefined reference to 'access' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Unistd.o:Posix.Unistd:function Posix::Unistd::__close(int): error: undefined reference to 'close' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Unistd.o:Posix.Unistd:function Posix::Unistd::getpid(): error: undefined reference to 'getpid' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Unistd.o:Posix.Unistd:function Posix::Unistd::__read(int, void*, NativeUInt): error: undefined reference to 'read' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Unistd.o:Posix.Unistd:function Posix::Unistd::__write(int, void*, NativeUInt): error: undefined reference to 'write' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_destroy(sem_t&): error: undefined reference to 'sem_destroy' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_getvalue(sem_t&, int&): error: undefined reference to 'sem_getvalue' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_init(sem_t&, int, unsigned int): error: undefined reference to 'sem_init' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_post(sem_t&): error: undefined reference to 'sem_post' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_trywait(sem_t&): error: undefined reference to 'sem_trywait' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_wait(sem_t&): error: undefined reference to 'sem_wait' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Semaphore.o:Posix.Semaphore:function Posix::Semaphore::sem_timedwait(sem_t&, timespec&): error: undefined reference to 'sem_timedwait' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.SysUtsname.o:Posix.SysUtsname:function Posix::Sysutsname::uname(utsname&): error: undefined reference to 'uname' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Wchar.o:Posix.Wchar:function Posix::Wchar::wcscoll_l(int const*, int const*, void*): error: undefined reference to 'wcscoll_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Wchar.o:Posix.Wchar:function Posix::Wchar::wcscasecmp_l(int const*, int const*, void*): error: undefined reference to 'wcscasecmp_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Wctype.o:Posix.Wctype:function Posix::Wctype::towupper(unsigned int): error: undefined reference to 'towupper' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Wctype.o:Posix.Wctype:function Posix::Wctype::towlower_l(unsigned int, void*): error: undefined reference to 'towlower_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\Posix.Wctype.o:Posix.Wctype:function Posix::Wctype::towupper_l(unsigned int, void*): error: undefined reference to 'towupper_l' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.Internal.ExcUtils.o:System.Internal.ExcUtils:function System::Internal::Excutils::TlsGetValue(int): error: undefined reference to 'pthread_getspecific' System.SysUtils.pas:978: error: undefined reference to 'memset' System.SysUtils.pas:978: error: undefined reference to 'memset' System.SysUtils.pas:29191: error: undefined reference to 'memset' c:\program files (x86)\embarcadero\studio\20.0\lib\Linux64\debug\System.SysUtils.o:System.SysUtils:function System::Sysutils::gnu_get_libc_version(): error: undefined reference to 'gnu_get_libc_version' [DCC Fatal Error] F2588 Linker error code: 1 ($00000001) Failed Elapsed time: 00:00:02.9
  10. Lars Fosdal

    ICS for Linux?

    I just installed Ubuntu 20.04 LTS on Hyper-V on my Windows 10 machine, Advanced Model, 2 cores, 8Gb, no other configuration changes and opening a terminal, and running "ip addr show" - my second adapter shows as 172.17.202.69 Downloaded PAServer, and ran it with the default port Tested connection from 10.3.3 - success.
  11. Lars Fosdal

    ICS for Linux?

    FWIW, Hyper-V is really easy to install and configure.
  12. Lars Fosdal

    Free Resource Builder Utility?

    Are there any BRCC32 specialties that doesn't work with the MS RC compiler?
  13. Lars Fosdal

    Enums and generics

    Maintain, how? Once the text is written, it rarely needs to be changed after any initial correction. Sentences for UI texts are definitively not ideal - but this worked out so well that we even use this method for hip computer voice responses in multiple languages for our JsonRPC services. We still haven't introduced a fourth language, but if we do - it will be impossible to miss a translation.
  14. Lars Fosdal

    Enums and generics

    Not really. Usually I just create a keyboard macro on the fly to make the template, and then I fill in the texts afterwards.
  15. Lars Fosdal

    Enums and generics

    Normally we use Sisulizer, but it is hard to keep track of context in Sisulizer, so for enums we have this "dirty" workaround which also prevents missing translations.
  16. Lars Fosdal

    Enums and generics

    It probably is no consolation that I also have hundreds of these helpers... TAllowState = (asAllow,asWarn,asDeny); TAllowStateHelper = record helper for TAllowState const Translate: array[TAllowState] of xlt = ( { asAllow } (no:'Tillatt'; se:'Tillåten'; en:'Allow'), { asWarn } (no:'Vis advarsel'; se:'Visa varning'; en:'Show warning'), { asDeny } (no:'Sperret'; se:'Sperrad'; en:'Denied') ); public function ToString(const Language: TLanguage = langDefault): String; inline; class function FromString(str: string; const Language: TLanguage = langDefault): TAllowState; static; end; { TAllowStateHelper } class function TAllowStateHelper.FromString(str: string; const Language: TLanguage): TAllowState; begin Result:=asWarn; //Default var Lang := Language.GetLanguage; for var state :=Low(TAllowState) to High(TAllowState) do if CompareText(str, state.ToString(Lang)) = 0 then Exit(state); end; function TAllowStateHelper.ToString(const Language: TLanguage): String; begin Result := Translate[Self].Text(Language); end;
  17. Lars Fosdal

    Enums and generics

    It is tricky to do a generic helper class for Enumerations, since there is no constraint that will allow you to use enum operators. There are workarounds, but not pretty ones. As for having to use a constant table - why not use the actual type name? There is System.TypInfo function to convert an enum to a string which reflects the actual type name. http://docwiki.embarcadero.com/Libraries/Sydney/en/System.TypInfo.GetEnumName Result := GetEnumName(TypeInfo(TProjectType), Ord(Self)); There also is the reverse http://docwiki.embarcadero.com/Libraries/Sydney/en/System.TypInfo.GetEnumValue
  18. Lars Fosdal

    best component for web media player

    @RDP1974 - I moved the post and delete the three "reposts". If you happened to post in the wrong category, ask a moderator to move it. Please don't do reposts/cross-posts.
  19. Wrong floating point precision when choosing overloads https://quality.embarcadero.com/browse/RSP-27488 Reduction of precision from integer to single rather than double https://quality.embarcadero.com/browse/RSP-27499 Another case of silent reduction of precision https://quality.embarcadero.com/browse/RSP-27500
  20. Can it be that some of the known FP expression precision issues come into play here?
  21. It was based on this: https://stackoverflow.com/questions/12788870/conditionally-compile-units-for-fmx-or-vcl I never mix VCL and FMX form code in projects myself, but I guess the problem here is that the "defined" depends on FMX.Types already being in scope. My approach would probably be to use an interface or a proxy class to hide the actual VCL/FMX accesses.
  22. Lars Fosdal

    Grid Sort indicator

    No worries. The only benefit of custom draw is if the column title is wider than the actual column.
  23. Lars Fosdal

    System.GetMemory returning NIL

    @Kas Ob. - The 32-bit IDE is running on WoW. My IDE crashes too. Out of memory or it simply hangs in an internal deadlock. Several times per day. But - it has never crashed or trashed my Windows 10 Enterprise 1909 system. My uptime is typically about a month, i.e. until the next security patches. RAD Studio, Visual Studio, VS Code, PowerShell 7, MS SQL Server Manager, MS SQL Server, a large number of remote desktops, Excel, Outlook, OneNote, Teams, Discord, Chrome with too many tabs, Apex SQL Diff, Beyond Compare, VirtualBox, and the invaluable Process Hacker. I was thinking of the software you write - if it has page file issues - you either have HW spec issues, or you have allocation strategy issues.
  24. Lars Fosdal

    System.GetMemory returning NIL

    "suffered from potential degradation" ? Either you suffer, or it is entirely potential. "The guys" ?
  25. Lars Fosdal

    System.GetMemory returning NIL

    If your software has issues with page file involvement - your machines are not up to spec.
×