Related
I'm trying to install the pg gem in order to work again with my rails projects. But I get this error:
Building native extensions. This could take a while... ERROR: Error
installing pg: ERROR: Failed to build gem native extension.
/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If
building fails, please try again with
--with-pg-config=/path/to/pg_config checking for libpq-fe.h... no Can't find the 'libpq-fe.h header
* 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.
Provided configuration options: --with-opt-dir --without-opt-dir
--with-opt-include --without-opt-include=${opt-dir}/include
--with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog
--without-make-prog --srcdir=. --curdir
--ruby=/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
--with-pg --without-pg --with-pg-config --without-pg-config
--with-pg_config --without-pg_config --with-pg-dir
--without-pg-dir --with-pg-include
--without-pg-include=${pg-dir}/include --with-pg-lib
--without-pg-lib=${pg-dir}/
Gem files will remain installed in
/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0
for inspection. Results logged to
/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0/ext/gem_make.out
I tried everything I found on stackoverflow but I still get this error.
If I try to install postgresql using brew I get the following waring:
Warning: postgresql-9.2.4 already installed, it's just not linked
If I try to link
brew link postgresql Linking /usr/local/Cellar/postgresql/9.2.4...
Warning: Could not link postgresql. Unlinking...
Error: Could not symlink file:
/usr/local/Cellar/postgresql/9.2.4/share/man/man7/WITH.7
/usr/local/share/man/man7 is not writable. You should change its
permissions.
Help Please
NOTE: I already installed the command line tools for mavericks.
If I uninstall using homebrew and try to install again, I get this error:
==> Downloading http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
################################################################## 100.0%
==> Patching patching file src/pl/plpython/Makefile patching file contrib/uuid-ossp/uuid-ossp.c
==> ./configure --prefix=/usr/local/Cellar/postgresql/9.2.4 --datadir=/usr/local/Cellar/postgresql/9.2.4/share/postgresql --docdir=/usr/local/Cellar/p
==> make install-world
==> Caveats
Build Notes
If builds of PostgreSQL 9 are failing and you have version 8.x
installed, you may need to remove the previous version first. See:
https://github.com/mxcl/homebrew/issues/issue/2510
Create/Upgrade a Database
If this is your first install, create a database with: initdb
/usr/local/var/postgres -E utf8
To migrate existing data from a previous major version (pre-9.2) of
PostgreSQL, see:
http://www.postgresql.org/docs/9.2/static/upgrading.html
Loading Extensions
By default, Homebrew builds all available Contrib extensions. To see a
list of all available extensions, from the psql command line, run:
SELECT * FROM pg_available_extensions;
To load any of the extension names, navigate to the desired database
and run: CREATE EXTENSION [extension name];
For instance, to load the tablefunc extension in the current database,
run: CREATE EXTENSION tablefunc;
For more information on the CREATE EXTENSION command, see:
http://www.postgresql.org/docs/9.2/static/sql-createextension.html For
more information on extensions, see:
http://www.postgresql.org/docs/9.2/static/contrib.html
Other
Some machines may require provisioning of shared memory:
http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC
When installing the postgres gem, including ARCHFLAGS is recommended:
ARCHFLAGS="-arch x86_64" gem install pg
To install gems without sudo, see the Homebrew wiki.
To have launchd start postgresql at login:
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents Then to load postgresql now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist Or, if you don't
want/need launchctl, you can just run:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start Warning: Could not link
postgresql. Unlinking... Error: The brew link step did not complete
successfully The formula built, but is not symlinked into /usr/local
You can try again using `brew link postgresql'
==> Summary 🍺 /usr/local/Cellar/postgresql/9.2.4: 2831 files, 38M, built in 4.9 minutes
SOLUTION:
I execute this command in order to change the permission of the folder:
sudo chown jeanosorio /usr/local/share/man/man7
Then
brew link postgresql Linking /usr/local/Cellar/postgresql/9.3.1... 421
symlinks created
And finally:
sudo ARCHFLAGS="-arch x86_64" gem install pg
Fetching: pg-0.17.0.gem (100%) Building native extensions. This could
take a while... Successfully installed pg-0.17.0
If you want to avoid using MacPorts, you can download the Postgres App and place it into the Application directory.
Then, specify the location of newly downloaded pg_config:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
If you run in to missing headers problem, try specifying the include directory of the app:
gem install pg -- --with-pg-include='/Applications/Postgres.app/Contents/Versions/latest/include/'
Use brew to get postgresql
brew install postgresql
Check you have pg_config in the installed brew. I found mine in
/usr/local/Cellar/postgresql/9.3.3/bin/pg_config
Check via :
$ ls /usr/local/Cellar/postgresql/9.3.3/bin/pg_config
> /usr/local/Cellar/postgresql/9.3.3/bin/pg_config
Once done, install the pg gem with
env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.3/bin/pg_config
I wasn't able to install postgres via MacPorts. Instead, I installed Postgress.app. and called
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Note: in newer versions (in 9.3 at least) the path is actually: /Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
If you have homebrew, just type:
$ brew install postgresql
For me, on Yosemite, I didn't need to specify pg_config path. The following got it done.
brew install postgresql
sudo env ARCHFLAGS="-arch x86_64" gem install pg
Seems like architecture flag is the key.
Here's another alternative in case you want to use the postgresql installer directly. There's a couple of hoops you gotta jump through to begin with after updating to mavericks. Here's what I did:
Install the xcode command line tools first:
xcode-select --install
Download and install the latest version of PostgreSQL (9.3.1), in my case I just used the graphical installer. Here's the link to the downloads page:
http://www.enterprisedb.com/products-services-training/pgdownload#osx
Just choose all of the defaults it gives you. It my case it installed postgres to the following directory, if you installed it to a different directory, just remember the path you chose, because you'll need it shortly.
/Library/PostgreSQL/9.3
If you now try and install the latest pg gem (0.17.0) you'll need to pass a couple of options on the command line. This is what I used:
ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
If you installed postgres to a different location then you'll need to fix up the path to the pg_config file.
If it complains of a missing 'libpq.5.dylib' file while trying install the pg gem you'll need to create a symlink pointing to the actual location of this file. Postgres is looking for it in your /usr/local/lib/ directory so create a symlink in there and redirect it to its actual location. In my case I had to run:
sudo ln -s /Library/PostgreSQL/9.3/lib/libpq.5.dylib /usr/local/lib/libpq.5.dylib
Once you've done that, retry installing the gem again and hopefully it will work for you the same way it did for me.
In my case (i needed PG 0.16.0 on Mavericks), i installed postgresql via MacPorts
sudo port install postgresql90
and then
gem install pg -v '0.16.0' -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config
For the latest version you need to deduct -v '0.16.0'
gem install pg -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config
If you have Homebrew installed do not install MacPorts before you read about their coexistense
Place the missing --with-pg-config in Bundler's config file: /Users/<your_user>/.bundle/config to make your life easier.
---
BUNDLE_BUILD__PG: --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
BUNDLE_BUILD__EXAMPLE_GEM: --other-configs
BUNDLE_BUILD__OTHER_EXAMPLE_GEM: --other-configs
Then run bundle install again.
That works for me! (Postgres 93, mac ox 10.9.1)1. download # http://postgresapp.com/ and than
gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
I was stuck on my bundle install for 3 days. Tried Everything like adding env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.5_1/bin/pg_config
I was able to see pg gem getting installed after this command but still it was not installing from bundle install, which was a pain because I dint know what to write in Gemfile except gem 'pg'
The thing which finally worked for me was to find that my pg_config was in /Library/PostgreSQL/9.3/bin/pg_config and by default the Gemfile bundle install looks in /usr/local/bin/pg_config
I just ran the following command and magic happened.
bundle config build.pg --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
In my case it didn't work if you don't specify the arch flags, OS X 10.10.3 and postersApp 9.4
sudo env ARCHFLAGS="-arch x86_64" gem install pg -- \--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
The easiest way for me to resolve this was to use Postgres.app and set up my env vars so gem install pg just works (instead of requiring the --with-pg-config flag).
Using Homebrew Cask,
brew cask install postgres
echo 'export PG_HOME=/Applications/Postgres.app/Contents/Versions/latest' >> ~/.bash_profile
echo 'export PATH="$PATH:$PG_HOME/bin"' >> ~/.bash_profile
source ~/.bash_profile
# now it just works
gem install pg
This is what it worked for me:
gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
In my case, I uninstalled the version installed via homebrew and switched to Postgres.app (v9.3.4.2 at the time of writing).
It only seemed to work when prepending the environment architecture flags and specifying the path to pg_config. Your milage might vary, so this answer could help with variations on pg_config's location.
Here is the final, complete command that worked for me:
env ARCHFLAGS="-arch x86_64" gem install pg -- \
--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
sudo ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/bin/pg_config
I had installed postgres using homebrew on mac. Used below command to find the location
which postgres
/usr/local/opt/postgresql#12/bin/postgres
Installed gem using below command. In the above path just replace the postgres with pg_config since command requires path for pg_config.
gem install pg -- --with-pg-config=/usr/local/opt/postgresql#12/bin/pg_config
I was getting the same error when running bundle install regarding the pg gem (using Mac OS X Mavericks). After hours of researching, I found the solution. I installed postgres using homebrew
brew install postgres
After installing that, I created a new rails app using postgres. I ran
bundle install
to no avail (got same error as the question). I used
which psql
to figure out where my postgres was installed, it returned
/usr/local/bin/psql
before running bundle install again, I had to change the global path to build.pg by running the following
bundle config build.pg --with-pg-config=/usr/local/bin/pg_config
then I ran bundle install again and voila! I used the postgres where brew installed it.
On OS X Mavericks with latest Postgres App do the following with sudo privileges
env ARCHFLAGS="-arch x86_64" gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
What worked for me on 10.9.3 with Xcode 5.1.1 was the following:
brew update
brew install postgresql
gem install pg -v '0.17.1'
I needed pg 0.17.1
For me, the error message looked like this:
Installing pg 0.18.4 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
...
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
As the error message shows, it's trying to execute the command/script "pg_config". So just add it to the path from wherever your Postgres installation is. In my case, I did:
export PATH=/Applications/Postgres.app/Contents/Versions/9.5/bin:$PATH
then
bundle
That's it.
For any lost soul outthere still having this issue with no resolution and have a brew installed ruby and postgres. Here's the following steps to make sure of:
Make sure your version of ruby wasn't installed with the --universal flag.
This was the hardest thing to figure out, I had --universal which was the final root of the problem.
Make sure you have initialized postgresql properly with initdb and createdb commands (look elsewhere for steps to do this).
Make sure Xcode (Optional) and command line tools is installed; on the terminal:
xcode-select --install
sudo xcodebuild -license (if Xcode installed) or open the application and accept the license agreement.
Reboot Computer
which ruby, which gem and which postgres should show /usr/local/bin/ruby, /usr/local/bin/gem and /usr/local/bin/postgres respectfully.
On the terminal run:
gem install pg -- --with-pg-config=/usr/local/bin/pg_config
or
env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/bin/pg_config
Making sure all these steps are satisfied I was able to solve the following errors:
ruby.h header error
developer tools installed first error
First of all find pg_config location
sudo find / -name "pg_config" -print
The answer is /Library/PostgreSQL/9.1/bin/pg_config in my configuration (MAC Maverick)
Then try installing something like below
gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
if this does not work then try to check in what way you installed postgresql
brew/mac port/setup
then you have to try relevant option to the same.
Thank you.
Ram
I was with the same problem, this was the solution I've found.
If you run brew doctor, it will tell you that probably you have installed something without brew that have changed the permissions on some folders, and so, you need to change permissions back to you on that folder.
Inside /usr/local/share/man, what you can do is the following:
sudo chown [yourusername] man7
And then:
brew link postgres
Hope it helps!
Similarly, after installing Mavericks 'bundle update' was throwing an error on the pg gem, which is only used on production and not locally.
I use Brew to manage my packages and postgresql was already installed, but still I was getting the 'no pg_config' error.
The fix was to just 'brew uninstall postgresql', then 'brew install postgresql'. After which I was immediately able to successfully run 'bundle update'
Postgres 9.4:
gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/Versions/9.4/bin/pg_config
sudo su
then
ARCHFLAGS="-arch x86_64" gem install pg -v '0.18'
worked on 10.10.2
If after trying everything here it still won't install, try opening Xcode and accepting the license agreement.
gem install bcrypt
Building native extensions. This could take a while...
ERROR: Error installing bcrypt:
ERROR: Failed to build gem native extension.
/Users/mohit/.rvm/rubies/ruby-1.9.3-p547/bin/ruby extconf.rb
creating Makefile
make clean
make
compiling bcrypt_ext.c
make: /usr/local/opt/gcc46/bin/gcc-4.6: No such file or directory
make: *** [bcrypt_ext.o] Error 1
make failed, exit code 2
Gem files will remain installed in /Users/mohit/.rvm/gems/ruby-1.9.3-p547/gems/bcrypt-3.1.9 for inspection.
Results logged to /Users/mohit/.rvm/gems/ruby-1.9.3-p547/extensions/x86_64-darwin-13/1.9.1/bcrypt-3.1.9/gem_make.out
Edit with additional info from the OP:
$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
$ brew doctor
Warning: You have uncommitted modifications to Homebrew
If this a surprise to you, then you should stash these modifications.
Stashing returns Homebrew to a pristine state but can be
undone should you later need to do so for some reason.
cd /usr/local/Library && git stash && git clean -d -f
$ brew info gcc
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require':
cannot load such file -- global (LoadError) from
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:
in require' from /usr/local/Library/brew.rb:16:in `<main>'
$ gcc -v
Configured with:
--prefix=/Applications/Xcode.app/Contents/Developer/usr
--with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0 Thread model: posix
$ ls -ladg /usr/local/opt/gcc*
No such file or directory
OSX help
Try installing XCode, which tends to be a huge download:
$ xcode-select --install
If the result is anything like this message below, that's ok for now.
command line tools are already installed,
use "Software Update" to install update
Update OSX to ensure it's ok and current:
Apple Menu -> About This Mac -> Software Update
Verify you have a current system, 10.10 as of this writing:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.10
BuildVersion: 14A389
Brew help
If you use the homebrew package manager, what version? (Please post output)
$ brew --version
Verify brew is healthy:
$ brew doctor
If the doctor finds any errors, fix these. For example, doctor may say to do this, so do it:
cd /usr/local/Library && git stash && git clean -d -f –
When doctor says everything is fine, then bring brew current:
$ brew update
$ brew upgrade
Is homebrew adding GCC? (Please post output)
$ brew info gcc
GCC help
Is GCC available?
$ command -v gcc
/usr/bin/gcc
See if your CC compiler variable is blank or set. (Please post the output)
$ echo $CC
What GCC version are you running? (Please post the output)
$ gcc -v
...
Apple LLVM version 6.0 (clang-600.0.34.4) (based on LLVM 3.5svn)
...
Do you have any GCC installed where Ruby is looking? (Please post the output)
$ ls -ladg /usr/local/opt/gcc*
lrwxr-xr-x 1 admin 21 Dec 18 16:41 /usr/local/opt/gcc -> ../Cellar/gcc/4.9.2_1
Root gem help
Does the gem install if you're root?
$ sudo su -
$ gem install bcrypt
The root problem here is that ruby itself comes with bcrypt version 3.1.5 which is having bugs with the newer updates. However when you install or uninstall the bcrypt you are leving behind bcrypt-ruby which it always asks for first and hence all what you are doing won't go through so what to do ? 1- uninstall bcrypt and bcrypt-ruby by running these two commands:
$ gem uninstall bcrypt
and
$ gem uninstall bcrypt-ruby
2- Install it again with
gem install bcrypt --platform=ruby
In your Gemfile write gem 'bcrypt','~>3.1.11'
NOW as i write these lines the latest version is 3.1.11 but whatever version is updated just add it from their gem page. Run bundle install and it should work just fine.
I hope you fully understand the solution and the mechanism of it hence you would know that bundle install might cause the same issue so you have to repeat this process and it'll work again.
Stuck working on an old project I was able to get the gem installed by using the following steps (check you own paths - don't just copy paste):
1) Install the specific version of gcc required (check the version) :
brew install gcc46
2) Symlink the installed gcc directory :
ln -s /usr/local/Cellar/gcc\#4.6/4.6.4_2 /usr/local/Cellar/gcc46/4.6.4
3) Install the gem reporting the error (check your gem name)
gem install bcrypt-ruby -v '3.0.1'
I'm trying to install the pg gem in order to work again with my rails projects. But I get this error:
Building native extensions. This could take a while... ERROR: Error
installing pg: ERROR: Failed to build gem native extension.
/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If
building fails, please try again with
--with-pg-config=/path/to/pg_config checking for libpq-fe.h... no Can't find the 'libpq-fe.h header
* 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.
Provided configuration options: --with-opt-dir --without-opt-dir
--with-opt-include --without-opt-include=${opt-dir}/include
--with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog
--without-make-prog --srcdir=. --curdir
--ruby=/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
--with-pg --without-pg --with-pg-config --without-pg-config
--with-pg_config --without-pg_config --with-pg-dir
--without-pg-dir --with-pg-include
--without-pg-include=${pg-dir}/include --with-pg-lib
--without-pg-lib=${pg-dir}/
Gem files will remain installed in
/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0
for inspection. Results logged to
/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0/ext/gem_make.out
I tried everything I found on stackoverflow but I still get this error.
If I try to install postgresql using brew I get the following waring:
Warning: postgresql-9.2.4 already installed, it's just not linked
If I try to link
brew link postgresql Linking /usr/local/Cellar/postgresql/9.2.4...
Warning: Could not link postgresql. Unlinking...
Error: Could not symlink file:
/usr/local/Cellar/postgresql/9.2.4/share/man/man7/WITH.7
/usr/local/share/man/man7 is not writable. You should change its
permissions.
Help Please
NOTE: I already installed the command line tools for mavericks.
If I uninstall using homebrew and try to install again, I get this error:
==> Downloading http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
################################################################## 100.0%
==> Patching patching file src/pl/plpython/Makefile patching file contrib/uuid-ossp/uuid-ossp.c
==> ./configure --prefix=/usr/local/Cellar/postgresql/9.2.4 --datadir=/usr/local/Cellar/postgresql/9.2.4/share/postgresql --docdir=/usr/local/Cellar/p
==> make install-world
==> Caveats
Build Notes
If builds of PostgreSQL 9 are failing and you have version 8.x
installed, you may need to remove the previous version first. See:
https://github.com/mxcl/homebrew/issues/issue/2510
Create/Upgrade a Database
If this is your first install, create a database with: initdb
/usr/local/var/postgres -E utf8
To migrate existing data from a previous major version (pre-9.2) of
PostgreSQL, see:
http://www.postgresql.org/docs/9.2/static/upgrading.html
Loading Extensions
By default, Homebrew builds all available Contrib extensions. To see a
list of all available extensions, from the psql command line, run:
SELECT * FROM pg_available_extensions;
To load any of the extension names, navigate to the desired database
and run: CREATE EXTENSION [extension name];
For instance, to load the tablefunc extension in the current database,
run: CREATE EXTENSION tablefunc;
For more information on the CREATE EXTENSION command, see:
http://www.postgresql.org/docs/9.2/static/sql-createextension.html For
more information on extensions, see:
http://www.postgresql.org/docs/9.2/static/contrib.html
Other
Some machines may require provisioning of shared memory:
http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC
When installing the postgres gem, including ARCHFLAGS is recommended:
ARCHFLAGS="-arch x86_64" gem install pg
To install gems without sudo, see the Homebrew wiki.
To have launchd start postgresql at login:
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents Then to load postgresql now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist Or, if you don't
want/need launchctl, you can just run:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start Warning: Could not link
postgresql. Unlinking... Error: The brew link step did not complete
successfully The formula built, but is not symlinked into /usr/local
You can try again using `brew link postgresql'
==> Summary 🍺 /usr/local/Cellar/postgresql/9.2.4: 2831 files, 38M, built in 4.9 minutes
SOLUTION:
I execute this command in order to change the permission of the folder:
sudo chown jeanosorio /usr/local/share/man/man7
Then
brew link postgresql Linking /usr/local/Cellar/postgresql/9.3.1... 421
symlinks created
And finally:
sudo ARCHFLAGS="-arch x86_64" gem install pg
Fetching: pg-0.17.0.gem (100%) Building native extensions. This could
take a while... Successfully installed pg-0.17.0
If you want to avoid using MacPorts, you can download the Postgres App and place it into the Application directory.
Then, specify the location of newly downloaded pg_config:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
If you run in to missing headers problem, try specifying the include directory of the app:
gem install pg -- --with-pg-include='/Applications/Postgres.app/Contents/Versions/latest/include/'
Use brew to get postgresql
brew install postgresql
Check you have pg_config in the installed brew. I found mine in
/usr/local/Cellar/postgresql/9.3.3/bin/pg_config
Check via :
$ ls /usr/local/Cellar/postgresql/9.3.3/bin/pg_config
> /usr/local/Cellar/postgresql/9.3.3/bin/pg_config
Once done, install the pg gem with
env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.3/bin/pg_config
I wasn't able to install postgres via MacPorts. Instead, I installed Postgress.app. and called
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Note: in newer versions (in 9.3 at least) the path is actually: /Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
If you have homebrew, just type:
$ brew install postgresql
For me, on Yosemite, I didn't need to specify pg_config path. The following got it done.
brew install postgresql
sudo env ARCHFLAGS="-arch x86_64" gem install pg
Seems like architecture flag is the key.
Here's another alternative in case you want to use the postgresql installer directly. There's a couple of hoops you gotta jump through to begin with after updating to mavericks. Here's what I did:
Install the xcode command line tools first:
xcode-select --install
Download and install the latest version of PostgreSQL (9.3.1), in my case I just used the graphical installer. Here's the link to the downloads page:
http://www.enterprisedb.com/products-services-training/pgdownload#osx
Just choose all of the defaults it gives you. It my case it installed postgres to the following directory, if you installed it to a different directory, just remember the path you chose, because you'll need it shortly.
/Library/PostgreSQL/9.3
If you now try and install the latest pg gem (0.17.0) you'll need to pass a couple of options on the command line. This is what I used:
ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
If you installed postgres to a different location then you'll need to fix up the path to the pg_config file.
If it complains of a missing 'libpq.5.dylib' file while trying install the pg gem you'll need to create a symlink pointing to the actual location of this file. Postgres is looking for it in your /usr/local/lib/ directory so create a symlink in there and redirect it to its actual location. In my case I had to run:
sudo ln -s /Library/PostgreSQL/9.3/lib/libpq.5.dylib /usr/local/lib/libpq.5.dylib
Once you've done that, retry installing the gem again and hopefully it will work for you the same way it did for me.
In my case (i needed PG 0.16.0 on Mavericks), i installed postgresql via MacPorts
sudo port install postgresql90
and then
gem install pg -v '0.16.0' -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config
For the latest version you need to deduct -v '0.16.0'
gem install pg -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config
If you have Homebrew installed do not install MacPorts before you read about their coexistense
Place the missing --with-pg-config in Bundler's config file: /Users/<your_user>/.bundle/config to make your life easier.
---
BUNDLE_BUILD__PG: --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
BUNDLE_BUILD__EXAMPLE_GEM: --other-configs
BUNDLE_BUILD__OTHER_EXAMPLE_GEM: --other-configs
Then run bundle install again.
That works for me! (Postgres 93, mac ox 10.9.1)1. download # http://postgresapp.com/ and than
gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
I was stuck on my bundle install for 3 days. Tried Everything like adding env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.5_1/bin/pg_config
I was able to see pg gem getting installed after this command but still it was not installing from bundle install, which was a pain because I dint know what to write in Gemfile except gem 'pg'
The thing which finally worked for me was to find that my pg_config was in /Library/PostgreSQL/9.3/bin/pg_config and by default the Gemfile bundle install looks in /usr/local/bin/pg_config
I just ran the following command and magic happened.
bundle config build.pg --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
In my case it didn't work if you don't specify the arch flags, OS X 10.10.3 and postersApp 9.4
sudo env ARCHFLAGS="-arch x86_64" gem install pg -- \--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
The easiest way for me to resolve this was to use Postgres.app and set up my env vars so gem install pg just works (instead of requiring the --with-pg-config flag).
Using Homebrew Cask,
brew cask install postgres
echo 'export PG_HOME=/Applications/Postgres.app/Contents/Versions/latest' >> ~/.bash_profile
echo 'export PATH="$PATH:$PG_HOME/bin"' >> ~/.bash_profile
source ~/.bash_profile
# now it just works
gem install pg
This is what it worked for me:
gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
In my case, I uninstalled the version installed via homebrew and switched to Postgres.app (v9.3.4.2 at the time of writing).
It only seemed to work when prepending the environment architecture flags and specifying the path to pg_config. Your milage might vary, so this answer could help with variations on pg_config's location.
Here is the final, complete command that worked for me:
env ARCHFLAGS="-arch x86_64" gem install pg -- \
--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
sudo ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/bin/pg_config
I had installed postgres using homebrew on mac. Used below command to find the location
which postgres
/usr/local/opt/postgresql#12/bin/postgres
Installed gem using below command. In the above path just replace the postgres with pg_config since command requires path for pg_config.
gem install pg -- --with-pg-config=/usr/local/opt/postgresql#12/bin/pg_config
I was getting the same error when running bundle install regarding the pg gem (using Mac OS X Mavericks). After hours of researching, I found the solution. I installed postgres using homebrew
brew install postgres
After installing that, I created a new rails app using postgres. I ran
bundle install
to no avail (got same error as the question). I used
which psql
to figure out where my postgres was installed, it returned
/usr/local/bin/psql
before running bundle install again, I had to change the global path to build.pg by running the following
bundle config build.pg --with-pg-config=/usr/local/bin/pg_config
then I ran bundle install again and voila! I used the postgres where brew installed it.
On OS X Mavericks with latest Postgres App do the following with sudo privileges
env ARCHFLAGS="-arch x86_64" gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
What worked for me on 10.9.3 with Xcode 5.1.1 was the following:
brew update
brew install postgresql
gem install pg -v '0.17.1'
I needed pg 0.17.1
For me, the error message looked like this:
Installing pg 0.18.4 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
...
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
As the error message shows, it's trying to execute the command/script "pg_config". So just add it to the path from wherever your Postgres installation is. In my case, I did:
export PATH=/Applications/Postgres.app/Contents/Versions/9.5/bin:$PATH
then
bundle
That's it.
For any lost soul outthere still having this issue with no resolution and have a brew installed ruby and postgres. Here's the following steps to make sure of:
Make sure your version of ruby wasn't installed with the --universal flag.
This was the hardest thing to figure out, I had --universal which was the final root of the problem.
Make sure you have initialized postgresql properly with initdb and createdb commands (look elsewhere for steps to do this).
Make sure Xcode (Optional) and command line tools is installed; on the terminal:
xcode-select --install
sudo xcodebuild -license (if Xcode installed) or open the application and accept the license agreement.
Reboot Computer
which ruby, which gem and which postgres should show /usr/local/bin/ruby, /usr/local/bin/gem and /usr/local/bin/postgres respectfully.
On the terminal run:
gem install pg -- --with-pg-config=/usr/local/bin/pg_config
or
env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/bin/pg_config
Making sure all these steps are satisfied I was able to solve the following errors:
ruby.h header error
developer tools installed first error
First of all find pg_config location
sudo find / -name "pg_config" -print
The answer is /Library/PostgreSQL/9.1/bin/pg_config in my configuration (MAC Maverick)
Then try installing something like below
gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
if this does not work then try to check in what way you installed postgresql
brew/mac port/setup
then you have to try relevant option to the same.
Thank you.
Ram
I was with the same problem, this was the solution I've found.
If you run brew doctor, it will tell you that probably you have installed something without brew that have changed the permissions on some folders, and so, you need to change permissions back to you on that folder.
Inside /usr/local/share/man, what you can do is the following:
sudo chown [yourusername] man7
And then:
brew link postgres
Hope it helps!
Similarly, after installing Mavericks 'bundle update' was throwing an error on the pg gem, which is only used on production and not locally.
I use Brew to manage my packages and postgresql was already installed, but still I was getting the 'no pg_config' error.
The fix was to just 'brew uninstall postgresql', then 'brew install postgresql'. After which I was immediately able to successfully run 'bundle update'
Postgres 9.4:
gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/Versions/9.4/bin/pg_config
sudo su
then
ARCHFLAGS="-arch x86_64" gem install pg -v '0.18'
worked on 10.10.2
If after trying everything here it still won't install, try opening Xcode and accepting the license agreement.
I'm trying to install the pg gem in order to work again with my rails projects. But I get this error:
Building native extensions. This could take a while... ERROR: Error
installing pg: ERROR: Failed to build gem native extension.
/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If
building fails, please try again with
--with-pg-config=/path/to/pg_config checking for libpq-fe.h... no Can't find the 'libpq-fe.h header
* 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.
Provided configuration options: --with-opt-dir --without-opt-dir
--with-opt-include --without-opt-include=${opt-dir}/include
--with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog
--without-make-prog --srcdir=. --curdir
--ruby=/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
--with-pg --without-pg --with-pg-config --without-pg-config
--with-pg_config --without-pg_config --with-pg-dir
--without-pg-dir --with-pg-include
--without-pg-include=${pg-dir}/include --with-pg-lib
--without-pg-lib=${pg-dir}/
Gem files will remain installed in
/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0
for inspection. Results logged to
/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0/ext/gem_make.out
I tried everything I found on stackoverflow but I still get this error.
If I try to install postgresql using brew I get the following waring:
Warning: postgresql-9.2.4 already installed, it's just not linked
If I try to link
brew link postgresql Linking /usr/local/Cellar/postgresql/9.2.4...
Warning: Could not link postgresql. Unlinking...
Error: Could not symlink file:
/usr/local/Cellar/postgresql/9.2.4/share/man/man7/WITH.7
/usr/local/share/man/man7 is not writable. You should change its
permissions.
Help Please
NOTE: I already installed the command line tools for mavericks.
If I uninstall using homebrew and try to install again, I get this error:
==> Downloading http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
################################################################## 100.0%
==> Patching patching file src/pl/plpython/Makefile patching file contrib/uuid-ossp/uuid-ossp.c
==> ./configure --prefix=/usr/local/Cellar/postgresql/9.2.4 --datadir=/usr/local/Cellar/postgresql/9.2.4/share/postgresql --docdir=/usr/local/Cellar/p
==> make install-world
==> Caveats
Build Notes
If builds of PostgreSQL 9 are failing and you have version 8.x
installed, you may need to remove the previous version first. See:
https://github.com/mxcl/homebrew/issues/issue/2510
Create/Upgrade a Database
If this is your first install, create a database with: initdb
/usr/local/var/postgres -E utf8
To migrate existing data from a previous major version (pre-9.2) of
PostgreSQL, see:
http://www.postgresql.org/docs/9.2/static/upgrading.html
Loading Extensions
By default, Homebrew builds all available Contrib extensions. To see a
list of all available extensions, from the psql command line, run:
SELECT * FROM pg_available_extensions;
To load any of the extension names, navigate to the desired database
and run: CREATE EXTENSION [extension name];
For instance, to load the tablefunc extension in the current database,
run: CREATE EXTENSION tablefunc;
For more information on the CREATE EXTENSION command, see:
http://www.postgresql.org/docs/9.2/static/sql-createextension.html For
more information on extensions, see:
http://www.postgresql.org/docs/9.2/static/contrib.html
Other
Some machines may require provisioning of shared memory:
http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC
When installing the postgres gem, including ARCHFLAGS is recommended:
ARCHFLAGS="-arch x86_64" gem install pg
To install gems without sudo, see the Homebrew wiki.
To have launchd start postgresql at login:
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents Then to load postgresql now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist Or, if you don't
want/need launchctl, you can just run:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start Warning: Could not link
postgresql. Unlinking... Error: The brew link step did not complete
successfully The formula built, but is not symlinked into /usr/local
You can try again using `brew link postgresql'
==> Summary 🍺 /usr/local/Cellar/postgresql/9.2.4: 2831 files, 38M, built in 4.9 minutes
SOLUTION:
I execute this command in order to change the permission of the folder:
sudo chown jeanosorio /usr/local/share/man/man7
Then
brew link postgresql Linking /usr/local/Cellar/postgresql/9.3.1... 421
symlinks created
And finally:
sudo ARCHFLAGS="-arch x86_64" gem install pg
Fetching: pg-0.17.0.gem (100%) Building native extensions. This could
take a while... Successfully installed pg-0.17.0
If you want to avoid using MacPorts, you can download the Postgres App and place it into the Application directory.
Then, specify the location of newly downloaded pg_config:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
If you run in to missing headers problem, try specifying the include directory of the app:
gem install pg -- --with-pg-include='/Applications/Postgres.app/Contents/Versions/latest/include/'
Use brew to get postgresql
brew install postgresql
Check you have pg_config in the installed brew. I found mine in
/usr/local/Cellar/postgresql/9.3.3/bin/pg_config
Check via :
$ ls /usr/local/Cellar/postgresql/9.3.3/bin/pg_config
> /usr/local/Cellar/postgresql/9.3.3/bin/pg_config
Once done, install the pg gem with
env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.3/bin/pg_config
I wasn't able to install postgres via MacPorts. Instead, I installed Postgress.app. and called
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Note: in newer versions (in 9.3 at least) the path is actually: /Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
If you have homebrew, just type:
$ brew install postgresql
For me, on Yosemite, I didn't need to specify pg_config path. The following got it done.
brew install postgresql
sudo env ARCHFLAGS="-arch x86_64" gem install pg
Seems like architecture flag is the key.
Here's another alternative in case you want to use the postgresql installer directly. There's a couple of hoops you gotta jump through to begin with after updating to mavericks. Here's what I did:
Install the xcode command line tools first:
xcode-select --install
Download and install the latest version of PostgreSQL (9.3.1), in my case I just used the graphical installer. Here's the link to the downloads page:
http://www.enterprisedb.com/products-services-training/pgdownload#osx
Just choose all of the defaults it gives you. It my case it installed postgres to the following directory, if you installed it to a different directory, just remember the path you chose, because you'll need it shortly.
/Library/PostgreSQL/9.3
If you now try and install the latest pg gem (0.17.0) you'll need to pass a couple of options on the command line. This is what I used:
ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
If you installed postgres to a different location then you'll need to fix up the path to the pg_config file.
If it complains of a missing 'libpq.5.dylib' file while trying install the pg gem you'll need to create a symlink pointing to the actual location of this file. Postgres is looking for it in your /usr/local/lib/ directory so create a symlink in there and redirect it to its actual location. In my case I had to run:
sudo ln -s /Library/PostgreSQL/9.3/lib/libpq.5.dylib /usr/local/lib/libpq.5.dylib
Once you've done that, retry installing the gem again and hopefully it will work for you the same way it did for me.
In my case (i needed PG 0.16.0 on Mavericks), i installed postgresql via MacPorts
sudo port install postgresql90
and then
gem install pg -v '0.16.0' -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config
For the latest version you need to deduct -v '0.16.0'
gem install pg -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config
If you have Homebrew installed do not install MacPorts before you read about their coexistense
Place the missing --with-pg-config in Bundler's config file: /Users/<your_user>/.bundle/config to make your life easier.
---
BUNDLE_BUILD__PG: --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
BUNDLE_BUILD__EXAMPLE_GEM: --other-configs
BUNDLE_BUILD__OTHER_EXAMPLE_GEM: --other-configs
Then run bundle install again.
That works for me! (Postgres 93, mac ox 10.9.1)1. download # http://postgresapp.com/ and than
gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
I was stuck on my bundle install for 3 days. Tried Everything like adding env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.5_1/bin/pg_config
I was able to see pg gem getting installed after this command but still it was not installing from bundle install, which was a pain because I dint know what to write in Gemfile except gem 'pg'
The thing which finally worked for me was to find that my pg_config was in /Library/PostgreSQL/9.3/bin/pg_config and by default the Gemfile bundle install looks in /usr/local/bin/pg_config
I just ran the following command and magic happened.
bundle config build.pg --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
In my case it didn't work if you don't specify the arch flags, OS X 10.10.3 and postersApp 9.4
sudo env ARCHFLAGS="-arch x86_64" gem install pg -- \--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
The easiest way for me to resolve this was to use Postgres.app and set up my env vars so gem install pg just works (instead of requiring the --with-pg-config flag).
Using Homebrew Cask,
brew cask install postgres
echo 'export PG_HOME=/Applications/Postgres.app/Contents/Versions/latest' >> ~/.bash_profile
echo 'export PATH="$PATH:$PG_HOME/bin"' >> ~/.bash_profile
source ~/.bash_profile
# now it just works
gem install pg
This is what it worked for me:
gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
In my case, I uninstalled the version installed via homebrew and switched to Postgres.app (v9.3.4.2 at the time of writing).
It only seemed to work when prepending the environment architecture flags and specifying the path to pg_config. Your milage might vary, so this answer could help with variations on pg_config's location.
Here is the final, complete command that worked for me:
env ARCHFLAGS="-arch x86_64" gem install pg -- \
--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
sudo ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/bin/pg_config
I had installed postgres using homebrew on mac. Used below command to find the location
which postgres
/usr/local/opt/postgresql#12/bin/postgres
Installed gem using below command. In the above path just replace the postgres with pg_config since command requires path for pg_config.
gem install pg -- --with-pg-config=/usr/local/opt/postgresql#12/bin/pg_config
I was getting the same error when running bundle install regarding the pg gem (using Mac OS X Mavericks). After hours of researching, I found the solution. I installed postgres using homebrew
brew install postgres
After installing that, I created a new rails app using postgres. I ran
bundle install
to no avail (got same error as the question). I used
which psql
to figure out where my postgres was installed, it returned
/usr/local/bin/psql
before running bundle install again, I had to change the global path to build.pg by running the following
bundle config build.pg --with-pg-config=/usr/local/bin/pg_config
then I ran bundle install again and voila! I used the postgres where brew installed it.
On OS X Mavericks with latest Postgres App do the following with sudo privileges
env ARCHFLAGS="-arch x86_64" gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
What worked for me on 10.9.3 with Xcode 5.1.1 was the following:
brew update
brew install postgresql
gem install pg -v '0.17.1'
I needed pg 0.17.1
For me, the error message looked like this:
Installing pg 0.18.4 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
...
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
As the error message shows, it's trying to execute the command/script "pg_config". So just add it to the path from wherever your Postgres installation is. In my case, I did:
export PATH=/Applications/Postgres.app/Contents/Versions/9.5/bin:$PATH
then
bundle
That's it.
For any lost soul outthere still having this issue with no resolution and have a brew installed ruby and postgres. Here's the following steps to make sure of:
Make sure your version of ruby wasn't installed with the --universal flag.
This was the hardest thing to figure out, I had --universal which was the final root of the problem.
Make sure you have initialized postgresql properly with initdb and createdb commands (look elsewhere for steps to do this).
Make sure Xcode (Optional) and command line tools is installed; on the terminal:
xcode-select --install
sudo xcodebuild -license (if Xcode installed) or open the application and accept the license agreement.
Reboot Computer
which ruby, which gem and which postgres should show /usr/local/bin/ruby, /usr/local/bin/gem and /usr/local/bin/postgres respectfully.
On the terminal run:
gem install pg -- --with-pg-config=/usr/local/bin/pg_config
or
env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/bin/pg_config
Making sure all these steps are satisfied I was able to solve the following errors:
ruby.h header error
developer tools installed first error
First of all find pg_config location
sudo find / -name "pg_config" -print
The answer is /Library/PostgreSQL/9.1/bin/pg_config in my configuration (MAC Maverick)
Then try installing something like below
gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
if this does not work then try to check in what way you installed postgresql
brew/mac port/setup
then you have to try relevant option to the same.
Thank you.
Ram
I was with the same problem, this was the solution I've found.
If you run brew doctor, it will tell you that probably you have installed something without brew that have changed the permissions on some folders, and so, you need to change permissions back to you on that folder.
Inside /usr/local/share/man, what you can do is the following:
sudo chown [yourusername] man7
And then:
brew link postgres
Hope it helps!
Similarly, after installing Mavericks 'bundle update' was throwing an error on the pg gem, which is only used on production and not locally.
I use Brew to manage my packages and postgresql was already installed, but still I was getting the 'no pg_config' error.
The fix was to just 'brew uninstall postgresql', then 'brew install postgresql'. After which I was immediately able to successfully run 'bundle update'
Postgres 9.4:
gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/Versions/9.4/bin/pg_config
sudo su
then
ARCHFLAGS="-arch x86_64" gem install pg -v '0.18'
worked on 10.10.2
If after trying everything here it still won't install, try opening Xcode and accepting the license agreement.
I have been trying to install the TinyTDS gem on a Macbook with OSX 10.6. I was successful in installing Free TDS -- confirmed that it works via:
tsql -H SERVER -p 1433 -U username.
The error I'm getting from gem install tiny_tds is:
Building native extensions. This could take a while...
ERROR: Error installing tiny_tds:
ERROR: Failed to build gem native extension.
/Users/jason/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... yes
checking for sybfront.h... yes
checking for sybdb.h... yes
checking for tdsdbopen() in -lsybdb... no
-----
freetds is missing.
-----
*** 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.
I've tried specifying the TDS lib and include dirs (/usr/local/lib and /usr/local/include) without luck. I've tried reinstalling FreeTDS from source manually as well as via homebrew, but that made no difference.
I've seen a few similar issues posted, but they seem to reference an issue with locating iconv libraries which I appear to be moving beyond.
Any suggestions or references I may have overlooked? Thanks in advance.
Same problem on Ubuntu 14.04 resolved with:
sudo apt-get install freetds-dev
gem install tiny_tds
Log output:
Building native extensions. This could take a while...
/home/david/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/ext/builder.rb:73: warning: Insecure world writable dir /mnt/datapart/david in PATH, mode 040777
Successfully installed tiny_tds-0.6.1
Parsing documentation for tiny_tds-0.6.1
Installing ri documentation for tiny_tds-0.6.1
Done installing documentation for tiny_tds after 0 seconds
1 gem installed
You need to install freetds with homebrew
brew update # always a good idea to update homebrew before installing anything!
brew install freetds
In my case, it seems the symlinks were not configured correctly, and using "brew link freetds" threw errors which required opening up some permissions. I tried just about everything else, and this is finally what worked:
devMac:0.95.18 Me$ sudo chown -R $USER /usr/local/share/doc/freetds/images
devMac:0.95.18 Me$ sudo chown -R $USER /usr/local/share/doc/freetds/reference
devMac:0.95.18 Me$ sudo chown -R $USER /usr/local/share/doc/freetds/userguide
devMac:0.95.18 Me$ sudo chown -R $USER /usr/local/share/man/man5
devMac:0.95.18 Me$ brew link --overwrite freetds
Linking /usr/local/Cellar/freetds/0.95.18... 2812 symlinks created
devMac:0.95.18 Me$ sudo gem install tiny_tds
Building native extensions. This could take a while...
Successfully installed tiny_tds-0.6.2
Parsing documentation for tiny_tds-0.6.2
Installing ri documentation for tiny_tds-0.6.2
Done installing documentation for tiny_tds after 0 seconds
1 gem installed
Disclaimer: I am in the early stages of learning this framework and do not have an understanding of the repercussions of using overwrite or changing these permissions.
In my case, installing Ruby 2.3.0 using brew install ruby worked. I got the idea from this question Cannot install tiny_tds on os.x 10.9.4.