"make check" fails on my mac
- Dominant language
- C
- Stars
- 12.8k
- Forks
- 794
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 31
Description
Running `make` and `make install` succeed on my system but `make check` causes this error.
```
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C src/test/regress check-full
'/usr/bin/perl' /Users/j/citus/citus/src/test/regress/pg_regress_multi.pl --pgxsdir="/usr/local/lib/postgresql/pgxs" --bindir="/usr/local/Cellar/postgresql/9.5.1/bin" --libdir="/usr/local/lib" --majorversion="9.5" --load-extension=citus \
-- --inputdir=/Users/j/citus/citus/src/test/regress --schedule=/Users/j/citus/citus/src/test/regress/multi_schedule
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /usr/local/lib/libJPEG.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
```
It happens because of the value of the library search path (`libdir`). As a first gross hack I can get `make check` to pass by hard-coding libdir and bindir in the regression test Makefile.
``` diff
--- a/src/test/regress/Makefile
+++ b/src/test/regress/Makefile
@@ -14,7 +14,7 @@ endif
## Citus regression support
##
MULTI_INSTALLDIR=$(CURDIR)/tmp_check/install
-pg_regress_multi_check = $(PERL) $(citus_abs_srcdir)/pg_regress_multi.pl --pgxsdir="$(pgxsdir)" --bindir="$(bindir)" --libdir="$(libdir)" --majorversion="$(MAJORVERSION)"
+pg_regress_multi_check = $(PERL) $(citus_abs_srcdir)/pg_regress_multi.pl --pgxsdir="$(pgxsdir)" --bindir="/usr/local/Cellar/postgresql/9.5.1/bin" --libdir="/usr/local/Cellar/postgresql/9.5.1/lib" --majorversion="$(MAJORVERSION)"
MULTI_REGRESS_OPTS = --inputdir=$(citus_abs_srcdir) $(pg_regress_locale_flags)
# XXX: Can't actually do useful testruns against install - $libdir
```
My next attempt is to set these variables with the configure script rather than hard-coding them:
``` bash
make clean
./configure --libdir=/usr/local/Cellar/postgresql/9.5.1/lib --bindir=/usr/local/Cellar/postgresql/9.5.1/bin
make
make check
```
However this fails. I notice that the main makefile passes bindir to the regression test makefile but appears not to pass my custom libdir.
---
My system has had several versions of postgres on it at various times, so it may be fussier than most. Here are some other facts
- Mac 10.10.5 (14F27)
- Xcode 6.4 (Build version 6E35b)
Contributor guide
Assessment
This issue has not been assessed yet.