Jump to content

Recommended Posts

I'm attempting to build ICS for Linux, to help with the MacOS support. 

 

I used Hyper-V Quick Create to create an Ubuntu 18 VM, took about 10 minutes and a few key clicks, except xRDP no longer works on that build and without it you can not connect to install the fixed packages.  Started again with Ubuntu 20 which works fine and displays a Gnome desktop with full connectivity. 

 

Installed PAServer and running it in a terminal window, expected port and IP address.  But when I create a profile in 10.4 with those details, just get connection failed.  There is no Windows firewall, maybe  Ubuntu 20 has one?  Or am I missing something obvious?

 

Thought I'd try and setup Apache web server, but can not find it. 

 

Angus

 

Share this post


Link to post

Yes, it seems that my Windows 10 Hyper-V virtual Ethernet adapter only allows outgoing TCP connections, and blocks incoming, to all my VMs.  Don;t often open servers in VMs.  I'm going to try moving the Linux VM to a Windows 2018 server.

 

Angus

 

 

Share this post


Link to post

I have no experience with Hyper-V: I am using VMWare Workstation on top of Win10 to run Overbyte webserver and wiki under Ubuntu 18.04. I use that version because it is the most recent LTS (Long Term Support) for Ubuntu. I have not tried to install PAServer on that version.

 

If you don't want to invest in VMWare Workstation, you can use VMWare Player which is a free version lacking snapshot. You can replace snapshot by copying the vmdk file.

Edited by FPiette

Share this post


Link to post
54 minutes ago, Fr0sT.Brutal said:

Hmm, VirtualBox? It's free and even open-source

And it runs on Windows, Linux and Mac.  With a little editing of the vbox file (Virtualbox Machine Definition) you can move/copy your VM's from one platform to another.  

Share this post


Link to post

Using a different virtual environment means starting again, which will not happen soon.  The Windows 10 VM will not run under 2018 due to different disks and NIC, so that is start again as well.  I have better things on which to spend my time.

 

Angus

 

Share this post


Link to post
7 hours ago, Angus Robertson said:

Windows 10 Hyper-V virtual Ethernet adapter

If your Host machine has a single NIC then you may need to get the IP from the Hyper-V virtual Ethernet adapter to reach your machine.

If that is the case the bottom panel has three tabs, the networking tab will have the VMs IP after it has been started.

Share this post


Link to post

The Hyper-V adaptor status shows the same IPv4 address as the VM.  

 

There is probably some obscure Powershell network command needed to allow incoming TCP access, but I've not found it after a lot of searching.

 

Angus

Share this post


Link to post
15 minutes ago, Angus Robertson said:

needed to allow incoming TCP access

To be clear, I use 'Bash on Ubuntu for Windows' and can access from the Host machine to my Hyper-Vm using that IP.

 

Share this post


Link to post

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

 

image.thumb.png.68a1637d3924b8019c6100d5c46b2aa9.png

 

Downloaded PAServer, and ran it with the default port 

Tested connection from 10.3.3 - success.
image.png.0e3f619ce5cfbc1f5311213161d335b7.png

 

Share this post


Link to post

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

 

Share this post


Link to post
sudo apt install gcc

cured the linker problems, but

 

image.thumb.png.a9fb71aa978e96f8d119d516852281a7.png

appeared in the PAserver and 
image.png.8c694cb5cee811bdea27e3a417a5f146.png

followed in the IDE.

/facepalm

Share this post


Link to post

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

Share this post


Link to post
Quote

opening a terminal, and running "ip addr show" - my second adapter shows as 172.17.202.69 

That is the IP range of the internal adaptor, I have 192.168.1.137 on the same subnet as my LAN with the external adapter.  I'll try adding a second Hyper-V internal adaptor. 

 

I'm aware UBUNTU 20 is not officially supported by Delphi, but UBUNTU 18 does not install properly with the Hyper-V Quick Create image.

 

Thanks for trying. 

 

Angus

 

Share this post


Link to post

Thanks, will read your blog.  When starting the UBUNTU 18 VM, I get an error window saying:

 

connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login
login successful
started connecting
connection problem, giving up
some problem

 

which a little searching indicates is a known problem - Issues with xRDP and Ubuntu 18.04.2 – How to fix it https://c-nergy.be/blog/?p=13390

but without xRDP you can not follow the instructions.

 

Angus

 

  • Like 1

Share this post


Link to post

The Ubuntu 18.04 that my Hyper-V Quick Create offers me, has the visual UI - so not a pure server, perhaps?
image.thumb.png.3b18e1a53bc6dcd28d424281dee7c981.png

  • Thanks 1

Share this post


Link to post

PAServer is finally running after adding a second virtual network adapter for the default switch, which means PAServer now has two IP addresses 192.168.1.137 and 172.23.99.102 and I can connect to the second one. 

 

Something strange about Hyper-V on Windows 10.,  I've had VMs running on Windows Server for 12 years with external public access with public and LAN IPs, and never needed to add a second network adaptor.

 

Delphi is currently transferring a lot of stuff somewhere, so not managed to build a package yet.

 

Thanks again for pointing me in the right direction.

 

Angus

  • Like 2

Share this post


Link to post
29 minutes ago, Angus Robertson said:

That is exactly what I installed on Monday, are you also using Windows 10 2004 or earlier? 

 

Angus

I am on 
 

PS C:\Windows\System32> Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer

WindowsProductName    WindowsVersion OsHardwareAbstractionLayer
------------------    -------------- --------------------------
Windows 10 Enterprise 1909           10.0.18362.752

Share this post


Link to post

I'm on Windows 10 Enterprise 2004 64-bit 10.0.19041 so more recent.  The blog that mentions the problem is 18 months old, so maybe some other issue.

 

Anyway, Ubuntu 20.04 seems to be working OK for my purposes, building the ICS common package gives 57 errors in the Utils unit, so now need to go looking more closely at what string types the Linux compiler  supports and why it does not like UTF8, but won't be this week, need to finish other stuff before starting this migration project.

 

Angus

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×