zonkyio / embedded-postgres-binaries

Lightweight bundles of PostgreSQL binaries with reduced size intended for testing purposes.
Apache License 2.0
130 stars 29 forks source link

Postgres binary of version 14.10.0 does not work on Mac #75

Closed e-wag closed 7 months ago

e-wag commented 7 months ago

As version 14.10.0 is the new default one since https://github.com/zonkyio/embedded-postgres/pull/123, we noticed this issue.

The following error occurs:

/var/folders/s1/1jm7mb_j6jqgtq78f24h5b280000gp/T/embedded-pg/PG-f15761a1c59ff5f8349c12c01b3af539/bin/initdb -A trust -U postgres -D /var/folders/s1/1jm7mb_j6jqgtq78f24h5b280000gp/T/epg4423307102381004501 -E UTF-8
dyld[2295]: Library not loaded: @loader_path/../lib/libintl.8.dylib
  Referenced from: <2023A287-FF50-3D03-8AF9-D2783EDBED04> /private/var/folders/s1/1jm7mb_j6jqgtq78f24h5b280000gp/T/embedded-pg/PG-f15761a1c59ff5f8349c12c01b3af539/lib/libgssapi_krb5.2.2.dylib
  Reason: tried: '/private/var/folders/s1/1jm7mb_j6jqgtq78f24h5b280000gp/T/embedded-pg/PG-f15761a1c59ff5f8349c12c01b3af539/lib/../lib/libintl.8.dylib' (no such file), '/usr/lib/libintl.8.dylib' (no such file, not in dyld cache)

I've tried out versions 14.8.0, 14.9.0, 15.0.0, and 16.0.0 as well. Those seem to work fine.

patrickhuy commented 7 months ago

I'm seeing the same issue on M1 Mac. The problem seems to happen both when using the Linux AMD64 binaries as well as when using the darwin arm64v8 binaries

tomix26 commented 7 months ago

Thank you guys for the report. I'll take a look at it as soon as possible.

Do you have any extensions enabled that could be causing this problem? Because the tests passed successfully during the release.

@patrickhuy Are you sure? Because this problem typically occurs only on the MacOS platform. Could you please attach an example of the error that you are experiencing?

patrickhuy commented 7 months ago

@tomix26 sorry, that was not correct, it happens both with darwin amd64 and arm64 binaries. AMD64:

09:19:47.781 [prefetching-1] INFO  io.zonky.test.db.postgres.embedded.EmbeddedPostgres - Detected a Darwin aarch64 system
09:19:47.782 [prefetching-1] INFO  io.zonky.test.db.postgres.embedded.DefaultPostgresBinaryResolver - Detected distribution: 'Unknown'
09:19:47.783 [prefetching-1] WARN  io.zonky.test.db.postgres.embedded.DefaultPostgresBinaryResolver - No native binaries supporting ARM architecture found. Trying to use binaries for x64 architecture instead: 'postgres-darwin-x86_64.txz'. Make sure you have enabled emulation for this purpose. Note that performance may be degraded.
09:19:47.888 [prefetching-1] INFO  io.zonky.test.db.postgres.embedded.EmbeddedPostgres - Postgres binaries at /var/folders/px/xqm7jv354cs9jfdkkkmrb6g80000gn/T/embedded-pg/PG-f15761a1c59ff5f8349c12c01b3af539
09:19:48.108 [initdb:pid(43845)] INFO  io.zonky.test.db.postgres.embedded.EmbeddedPostgres - dyld[43845]: Library not loaded: @loader_path/../lib/libintl.8.dylib
09:19:48.109 [initdb:pid(43845)] INFO  io.zonky.test.db.postgres.embedded.EmbeddedPostgres -   Referenced from: <2023A287-FF50-3D03-8AF9-D2783EDBED04> /private/var/folders/px/xqm7jv354cs9jfdkkkmrb6g80000gn/T/embedded-pg/PG-f15761a1c59ff5f8349c12c01b3af539/lib/libgssapi_krb5.2.2.dylib
09:19:48.109 [initdb:pid(43845)] INFO  io.zonky.test.db.postgres.embedded.EmbeddedPostgres -   Reason: tried: '/private/var/folders/px/xqm7jv354cs9jfdkkkmrb6g80000gn/T/embedded-pg/PG-f15761a1c59ff5f8349c12c01b3af539/lib/../lib/libintl.8.dylib' (no such file), '/usr/lib/libintl.8.dylib' (no such file, not in dyld cache)

Arm64:

09:15:37.688 [prefetching-1] INFO  io.zonky.test.db.postgres.embedded.EmbeddedPostgres - Detected a Darwin aarch64 system
09:15:37.689 [prefetching-1] INFO  io.zonky.test.db.postgres.embedded.DefaultPostgresBinaryResolver - Detected distribution: 'Unknown'
09:15:37.690 [prefetching-1] INFO  io.zonky.test.db.postgres.embedded.DefaultPostgresBinaryResolver - System specific postgres binaries found: 'postgres-darwin-arm_64.txz'
09:15:37.795 [prefetching-1] INFO  io.zonky.test.db.postgres.embedded.EmbeddedPostgres - Postgres binaries at /var/folders/px/xqm7jv354cs9jfdkkkmrb6g80000gn/T/embedded-pg/PG-80aba9f04787d5df8c2d26b72e3dc4c0
09:15:37.965 [initdb:pid(43645)] INFO  io.zonky.test.db.postgres.embedded.EmbeddedPostgres - dyld[43645]: Library not loaded: @loader_path/../lib/libintl.8.dylib
09:15:37.966 [initdb:pid(43645)] INFO  io.zonky.test.db.postgres.embedded.EmbeddedPostgres -   Referenced from: <2023A287-FF50-3D03-8AF9-D2783EDBED04> /private/var/folders/px/xqm7jv354cs9jfdkkkmrb6g80000gn/T/embedded-pg/PG-80aba9f04787d5df8c2d26b72e3dc4c0/lib/libgssapi_krb5.2.2.dylib
09:15:37.966 [initdb:pid(43645)] INFO  io.zonky.test.db.postgres.embedded.EmbeddedPostgres -   Reason: tried: '/private/var/folders/px/xqm7jv354cs9jfdkkkmrb6g80000gn/T/embedded-pg/PG-80aba9f04787d5df8c2d26b72e3dc4c0/lib/../lib/libintl.8.dylib' (no such file), '/usr/lib/libintl.8.dylib' (no such file, not in dyld cache)
09:15:37.968 [main] WARN  org.springframework.web.context.support.GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'databaseTestConfiguration': Invocation of init method failed
09:15:37.982 [main] INFO  org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLogger - 
tomix26 commented 7 months ago

@patrickhuy Ok, great, thank you for the clarification.

e-wag commented 7 months ago

@tomix26 Thank you for looking into this issue.

Do you have any extensions enabled that could be causing this problem?

Not as far as I know.

It seems odd that all the other listed binaries I've tried worked. When I check the libs folder of the other downloaded binaries, I can see that they don't include libgssapi_krb5.2.2.dylib which seems to cause the issue. If I can provide you with any more information, feel free to reach out.

tomix26 commented 7 months ago

The bugfix versions have been released. Thanks again for reporting the problem.