citusdata / citusdata/citus

"make check" fails on my mac

Open
#373 17 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.