Can't install ruby 1.9.1 on MacOSX 10.6 - ruby-on-rails

I can't seem to be get Ruby installed on my Mac. These are the steps I've taken so far:
Downloaded the package from Ruby's site (http://www.ruby-lang.org/en/downloads/)
Unpacked it running { tar xzvf ruby-1.9.1-p376.tar.gz }
Went into the new ruby folder, and configured using {./configure}
This is where the error happens. When I run the configure, it gives me the error:
/usr/local/include/fuse/fuse_common.h:32:2: error: #error Please add -D_FILE_OFFSET_BITS=64 to your compile flags!
In file included from /usr/local/include/fuse/fuse.h:857,
from <command-line>:0:
/usr/local/include/fuse/fuse_compat.h:69:24: error: sys/statfs.h: No such file or directory
As a result, I can't make the package nor install it. I have no idea what is wrong. Any help is greatly appreciated. Thanks!

Have you tried RVM? It lets you manage multiple versions of ruby and will take of installing them and managing any gem versions for you. It's pretty magic!
After you've installed it all you need to do is:
`rvm install 1.9`
Done!

If the last line of configure output is
config.status: creating Makefile
then you have a makefile and you can try building it.
I got the fuse.h error, and just ran make to build a working ruby:
[neilk#maczombie ~]$ ruby --version
ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-darwin10.2.0]

Looks like others have run into this issue.
If you want need the binary, you could try rubyosx.
I guessing that the issue is that you have FUSE (or MacFUSE) installed in /usr/local and for whatever reason, the configure phase is doing something that's including it. If you're not trying to build ruby with some local extensions, but you want to build ruby yourself, try moving aside /usr/local (at least temporarily).
sudo mv /usr/local /usr/local.aside
(Beware, randomly messing with /usr and /usr/local directories can lead to trouble.)

What happens if you set C_Flags or CPP_Flags before doing your ./configure?

This isnt ananswer so much as a suggested alternative... use macports :-)

Related

How do I install clang-format without root privileges and without installing LLVM?

I have clang-format version 3.8.0 (tags/RELEASE_380/final) in my ~/bin folder on a Fedora machine with no root privileges. It works, but it is very old and I'd like to upgrade. I just want the clang-format tool, so I would like to avoid going through the full installation process for LLVM or clang if I can avoid it. I assume I can avoid it, since my old clang-format works without either of those installed. I don't remember how clang-format got in my ~/bin directory, and I can't figure out how to update it.
The first thing I tried was following this post which said I should be able to download a prebuilt binary from this page (I tried http://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-linux-gnu-Fedora27.tar.xz), then just set up a symlink to bin/clang-format. This did not work for me. When I type /path/to/bin/clang-format --help I get the error error while loading shared libraries: libtinfo.so.6: cannot open shared object file: No such file or directory.
The next thing I tried is downloading the clang source code and compiling that with
mkdir build && cd build && CC=$(which gcc) CXX=$(which g++) cmake ..
but when I did I got the error
CMake Error at CMakeLists.txt:36 (message):
llvm-config not found -- LLVM_CONFIG-NOTFOUND
Which I guess means I'd need to install the LLVM to go this route?
Any help getting an updated clang-format (vesion 5.0 at minimum) without root access would be appreciated. Bonus points for minimal installation (i.e. no clang or llvm).
=== EDIT ===
By downloading a bunch of different versions of prebuilt binaries, I've discovered that older versions (<4.0) have clang-formats that work out of the box, but at 4.0 and up give the same error about libtinfo. I guess that means I'll have to live with older versions unless I want to go through a painful installation process.
When you download llvm 6.0, make sure the directory structure is as follows:
llvm
|-->tools
|----->clang
|----> tools
|----> extra
If you just want to build clang-format, then you can cd into
llvm-build-dir/tools/clang/tools/extra/clang-format and then execute make -j8 all
later you can make a symbolic link in your /bin folder

Installing Google's ios-webkit-debug-proxy

I'm attempting to get google's ios webkit debug proxy working on my laptop, running ubuntu 15.04.
https://github.com/google/ios-webkit-debug-proxy
I've followed their installation instructions as best I could. However, I'm new to both web development and linux and am having trouble at the step where I run ./autogen.sh.
It runs its checks for a while, but then I receive the following error from the terminal:
checking for libimobiledevice... no
configure: error: Package requirements (libimobiledevice-1.0 >= 1.2.0) were not met:
Requested 'libimobiledevice-1.0 >= 1.2.0' but version of libimobiledevice is 1.1.6
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables libimobiledevice_CFLAGS
and libimobiledevice_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
I've tried my luck with troubleshooting this on my own but can't figure it out.
Anyone out there familiar with this error and what it wants me to do? Is my file-path messed up or do I need a different version of libimobiledevice (which I believe I have the most updated one)?
As the error says, you need libimobiledevice 1.2 or higher. Compiling it from source is a solution:
Download libimobiledevice 1.2: http://www.libimobiledevice.org/downloads/libimobiledevice-1.2.0.tar.bz2
Extract: tar xf libimobiledevice-1.2.0.tar.bz2
cd libimobiledevice-1.2.0
./configure
make
sudo make install
You should now be able to successfully build ios-webkit-debug-proxy.
You may need to run sudo ldconfig afterwards to update the library cache.

Apt-get install package for libmapscript-ruby1.8 not behaving as anticipated

TL;DR: How can I get the right package for libmapscript-ruby1.8 on my system?
Context:
We have found an open source Rails 2.3 app that solves an internal tool problem.
https://github.com/timwaters/mapwarper
Additional instructions
https://github.com/l34marr/mapwarper/blob/master/README#L125
I've some experience with Rails but am just learning about the Ubuntu eco-system and apt-get.
Problem:
The perceived problem is that one of the external libraries (mapscript) is not functioning.
Further detail:
The perceived source of the problem is that apt-get install libmapscript-ruby1.8 does not seem to load a ruby1.8 version of mapscript. Instead it loads to /usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux/mapscript.so via dependencies of libmapscript-ruby1.8
So when the Rails app links to the installed mapscript.so, it breaks, since the syntax is presumably different between mapscript.so build for 1.8.7 and 1.9.1.
Example error (note 1.9.1 version of mapscript.so is copied into 1.8.7 folder here)
TypeError (wrong argument type swig_runtime_data (expected Struct)):
/home/ubuntu/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/site_ruby/1.8/x86_64-linux/mapscript.so
Contact with the application creator has been largely fruitless so far, since they have not encountered this specific issue.
There is a rubygem but it seems to also be for 1.9.1
https://github.com/sourcepole/ruby_mapscript
Is there some apt-get magic that I am missing? I've just read that something called backports exists but don't know if that is a solution.
I know it is an old threat, but in case someone else got this problem, I solved the problem like this:
(I used this github page: https://github.com/normanb/mapserver/tree/master/mapserver/mapscript)
Install old libgif
1.) apt install unzip libgdal-dev swig libproj-dev proj-data proj-bin
2.) wget "http://launchpadlibrarian.net/90361644/libgif4_4.1.6-9ubuntu1_amd64.deb"
3.) sudo dpkg -i libgif4_4.1.6-9ubuntu1_amd64.deb
4.) wget "http://security.ubuntu.com/ubuntu/pool/main/g/giflib/libgif-dev_4.1.6-9ubuntu1_amd64.deb"
5.) sudo dpkg -i libgif-dev_4.1.6-9ubuntu1_amd64.deb
Install old GD
6.) wget "www.boutell.com/gd/http/gd-2.0.33.tar.gz"
7.) unzip
8.) go to folder
9.) ./configure
10.) make
11.) make install
Install webserver
12.) Download zip from https://github.com/normanb/mapserver/
13.) unzip mapserver-master.zip
14.) Goto folder mapserver-master/mapserver/
15.) ./configure --with-wmsclient --with-proj --with-gdal --with-postgis (choose the options you need for your mapscript)
16.) make
For ruby mapscript: (for others chech out https://github.com/normanb/mapserver/tree/master/mapserver/mapscript)
16.) ruby extconf.rb
17.) make
18.) make install
Please note that there is a bug in set filter and you need to comment the filter like so "\"id = 123\"" (https://github.com/mapserver/mapserver/issues/3983)
Ultimately, it appears that the packages are (for my intent and purposes) broken.
Paired with a Debian guru, who basically installed Mapserver on the system in order to compile and generate the correct mapscript.so
He recommended I get in touch with the various package maintainers and outline the problems that I encountered.

Why do I get an "Error running 'autoreconf'" error using RVM to install ruby-2.0.0-head?

I tried to install Ruby 2.0 via RVM in my Mac OSX Lion system, but I keep bumping into this error:
Installing Ruby from source to: /usr/local/rvm/rubies/ruby-2.0.0-head, this may take a while depending on your cpu(s)...
HEAD is now at a653ba0 merge revision(s) 42720: [Backport #8829]
From git://github.com/ruby/ruby
* branch ruby_2_0_0 -> FETCH_HEAD
Already up-to-date.
Copying from repo to src path...
ruby-2.0.0-head - #autoreconf........
Error running 'autoreconf',
please read /usr/local/rvm/log/1378234760_ruby-2.0.0-head/autoreconf.log
Skipping configure step, 'configure' does not exist, did autoreconf not run successfully?
ruby-2.0.0-head - #post-configuration
ruby-2.0.0-head - #compiling.
Error running 'make -j8',
please read /usr/local/rvm/log/1378234760_ruby-2.0.0-head/make.log
There has been an error while running make. Halting the installation.
My autoconf version is 2.68 and RVM is 1.22.3.
Has anyone had the same problem before?
managed to fix the issue. It was a perl version problem.
The autoconf log was saying something like "This perl not built to support threads".
I had an older version of perl:
$ perl --version
This is perl 5, version 12, subversion 3 (v5.12.3) built for darwin-multi-2level
I did 'sudo port upgrade perl5' and after it successfully updated everything went smoothly.
Thanks for the help everyone! :)

Prevent warning about Macports/Fink installation

How can I prevent the following warning from Homebrew appearing whenever I install something?
Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.
Note that I've never (that I recall) installed Fink on this machine and I just uninstalled Macports. I've tried removing /opt/local/bin from my PATH to no avail.
Did you follow the official guide? (specially the "rm" part)
Looking at the source (in def macports_or_fink_installed?), it seems to check something like this:
$ which port
$ which fink
$ ls /sw/bin/fink /opt/local/bin/port # if they exist
$ ls -ld /sw /opt/local # if either directory exists it must be readable
It's a dirty hack but if you just want to silence the warning you can comment out the relevant parts of check_macports in $(brew --prefix)/Library/Homebrew/cmd/install.rb.

Resources