Re: [PATCH] pg_regress.c: Fix "make check" on Mac OS X: Pass DYLD_LIBRARY_PATH
От | David Zhang |
---|---|
Тема | Re: [PATCH] pg_regress.c: Fix "make check" on Mac OS X: Pass DYLD_LIBRARY_PATH |
Дата | |
Msg-id | 76582eb0-a363-92db-c357-0a9997fee2db@highgo.ca обсуждение исходный текст |
Ответ на | Re: [PATCH] pg_regress.c: Fix "make check" on Mac OS X: Pass DYLD_LIBRARY_PATH (David Zhang <david.zhang@highgo.ca>) |
Ответы |
Re: [PATCH] pg_regress.c: Fix "make check" on Mac OS X: Pass DYLD_LIBRARY_PATH
(Peter Eisentraut <peter@eisentraut.org>)
|
Список | pgsql-hackers |
After conducting a further investigation into this issue, I have made some discoveries. The previous patch successfully resolves the problem when running the commands `./configure && make && make check` (without any previous sudo make install or make install). However, it stops at the 'isolation check' when using the commands `./configure --enable-tap-tests && make && make check-world`. To address this, I attempted to apply a similar approach as the previous patch, resulting in an experimental patch (attached). This new patch helps progress the 'make-world' process and passes the 'isolation check', but there are still several remaining issues that need to be addressed. Currently, there is a description suggesting a workaround by running a 'make install' command first, but I find it to be somewhat inaccurate. It would be better to update the existing description to provide more precise instructions on how to overcome this issue. Here are the changes I would suggest. from: "You can work around that by doing make install before make check. Most PostgreSQL developers just turn off SIP, though." to: "You can execute sudo make install if you do not specify a prefix during the configure step, or make install without sudo if you do specify a prefix (assuming proper permissions) before make check. Most PostgreSQL developers just turn off SIP, though." Otherwise, following the current description, if you run `./configure && make install` you will get error: "mkdir: /usr/local/pgsql: Permission denied" Below are the steps I took that led to the discovery of additional issues. git apply pg_regress_mac_os_x_dyld.patch ./configure make make check ... ... # All 215 tests passed. ./configure --enable-tap-tests make make check-world ... ... echo "# +++ isolation check in src/test/isolation +++" ... ... dyld[32335]: Library not loaded: /usr/local/pgsql/lib/libpq.5.dylib Referenced from: <EB3758C5-A87B-36C5-AA29-C1E31AD89E70> /Users/david/hg/sandbox/postgres/src/test/isolation/isolationtester Reason: tried: '/usr/local/pgsql/lib/libpq.5.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/pgsql/lib/libpq.5.dylib' (no such file), '/usr/local/pgsql/lib/libpq.5.dylib' (no such file), '/usr/local/lib/libpq.5.dylib' (no such file), '/usr/lib/libpq.5.dylib' (no such file, not in dyld cache) no data was returned by command ""/Users/david/hg/sandbox/postgres/src/test/isolation/isolationtester" -V" git apply pg_regress_mac_os_x_dyld_isolation_check_only.patch ./configure --enable-tap-tests make make check-world ... ... # All 215 tests passed. ... ... # +++ isolation check in src/test/isolation +++ ... ... # All 112 tests passed. echo "# +++ tap check in src/test/modules/brin +++" ... ... # +++ tap check in src/test/modules/brin +++ t/01_workitems.pl ........ Bailout called. Further testing stopped: command "initdb -D /Users/david/hg/sandbox/postgres/src/test/modules/brin/tmp_check/t_01_workitems_tango_data/pgdata -A trust -N" died with signal 6 t/01_workitems.pl ........ Dubious, test returned 255 (wstat 65280, 0xff00) No subtests run Any thoughts ? Thank you David On 2023-06-16 2:25 p.m., David Zhang wrote: > I have applied the patch to the latest master branch and successfully executed './configure && make && make check' on macOSVentura. However, during the process, a warning was encountered: "mixing declarations and code is incompatible withstandards before C99 [-Wdeclaration-after-statement]". Moving the declaration of 'result' to the beginning like belowcan resolve the warning, and it would be better to use a unique variable instead of 'result'. > > #ifdef __darwin__ > static char extra_envvars[4096]; > +int result = -1; > ... ... > -int result = snprintf(extra_envvars, sizeof(extra_envvars), "DYLD_LIBRARY_PATH=%s", > +result = snprintf(extra_envvars, sizeof(extra_envvars), "DYLD_LIBRARY_PATH=%s",
Вложения
В списке pgsql-hackers по дате отправления:
Предыдущее
От: Andres FreundДата:
Сообщение: Re: OK to build LLVM (*.bc) with CLANG but rest of postgresql with CC (other compiler)?
Следующее
От: Matthias van de MeentДата:
Сообщение: Re: Improving btree performance through specializing by key shape, take 2