Thread

  1. Re: [PATCH] Add native windows on arm64 support

    Dave Cramer <davecramer@postgres.rocks> — 2024-01-25T19:07:11Z

    On Thu, 25 Jan 2024 at 12:30, Andrew Dunstan <andrew@dunslane.net> wrote:
    
    >
    > On 2024-01-24 We 19:02, Michael Paquier wrote:
    >
    > On Wed, Jan 24, 2024 at 06:45:21AM -0500, Dave Cramer wrote:
    >
    > I managed to get it to build the vcvarsall arch needs to be x64. I need to
    > add some options, but the patch above needs to be applied to build it.
    >
    > Nice.  If I may ask, what kind of host and/or configuration have you
    > used to reach a state where the code can be compiled and run tests
    > with meson?  If you have found specific steps, it may be a good thing
    > to document that on the wiki, say around [1].
    >
    > Perhaps you have not included TAP?  It may be fine in terms of runtime
    > checks and coverage.
    >
    > [1]: https://wiki.postgresql.org/wiki/PostgreSQL_Buildfarm_Howto#Running_on_Windows
    >
    >
    >
    > I now have an ARM64 machine, so I set up a W11 ARM64 VM. I think we really
    > want to build with x64_arm64, i.e. to generate native arm64 binaries.
    > Setting just x64 will not do that, AIUI.
    >
    > I tried that with the buidfarm, setting that in the config file's call to
    > PGBuild::VSenv::getenv().
    >
    > That upset msvc_gendef.pl, so I added this there to keep it happy:
    >
    > $arch = 'x86_64' if $arch eq 'aarch64';
    >
    > After that things went ok until I got this:
    >
    > [1453/2088] "link" @src/backend/postgres.exe.rsp
    > FAILED: src/backend/postgres.exe src/backend/postgres.pdb
    > "link" @src/backend/postgres.exe.rsp
    >    Creating library src\backend\postgres.exe.lib
    > storage_lmgr_s_lock.c.obj : error LNK2019: unresolved external symbol
    > _mm_pause referenced in function perform_spin_delay
    > src\backend\postgres.exe : fatal error LNK1120: 1 unresolved externals
    >
    >
    > I haven't made further progress, but I will return to it in the next day
    > or so.
    >
    > While this will be nice to have, I think it won't really matter until
    > there is ARM64 support in released versions of Windows Server. AFAICT they
    > still only sell versions for x86_64
    >
    
    I need it to build clients. The clients need arm64 libraries to link against
    
    Dave