i'm trying to build dm-postgres-adapter but get this error.
sudo gem install dm-postgres-adapter
Building native extensions. This could take a while...
ERROR: Error installing dm-postgres-adapter:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking for main() in -lpq... yes
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for postgres.h... yes
checking for mb/pg_wchar.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
installing pg
worked after installing postgresql and setting pg_config path
`bundle config build.pg --with-pg-config=/usr/local/Cellar/postgresql/9.3.1/bin/pg_config`
what i am absolutly confused about is that postgres.h
is found, but not pg_wchar.h which is in the same directory /usr/local/Cellar/postgresql/9.3.1/include
setting configuration options doesnt help
--with-pgsql-server-include=/usr/local/Cellar/postgresql/9.3.1/include
i've tried this with macports postgresql before. after having the same error i've completly uninstalled mac ports and install postgresql with homebrew. I also tried the postgresql package Postgres.app
but i get always the this error.
as i said before installing pg (gem) worked.
mkmf.log
as said in error message - "Check the mkmf.log file for more details."
- ok, lets go!
this makes absolutely no sense to me.
conftest.c:5:57: error: use of undeclared identifier 'main'
int t(void) { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: /*top*/
4: extern int t(void);
5: int t(void) { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
6: int main(int argc, char **argv)
7: {
8: if (argc > 1000000) {
9: printf("%p", &t);
10: }
11:
12: return 0;
13: }
/* end */
but...
this one
/usr/local/Cellar/postgresql/9.3.1/include/server/mb/pg_wchar.h:363:14: error: function
cannot return function type 'int (unsigned char *, int)'
typedef bool (*mbcharacter_incrementer) (unsigned char *mbstr, int len);
^
/usr/local/Cellar/postgresql/9.3.1/include/server/mb/pg_wchar.h:388:2: error: unknown type
name 'uint32'
... and lot of "unknown type name 'uint32' ...
"Something went horribly wrong"
pg_wchar.h is found!!!! yeah! but wait there is an error.
fixed it with
typedef uint32_t uint32; // added in pg_wchat.h
but then comes the next
/usr/local/Cellar/postgresql/9.3.1/include/server/mb/pg_wchar.h:364:14: error: function
cannot return function type 'int (unsigned char *, int)'
typedef bool (*mbcharacter_incrementer) (unsigned char *mbstr, int len);
yes, i could go this through and trying to fix it, but i don't think that this is the right way
i have absolutely no idea where to go on. So if somebody could help i would appreciate it.
ps: i am using mac os mavericks