---------- Forwarded message ---------- From: Michael Steinfeld <mikeisgreat@gmail.com> Date: Oct 27, 2007 11:21 AM Subject: Re: freeimage on leopard To: Thomas Mango <tsmango@gmail.com> Hi Thomas, I have been able to successfully install FreeImage and Image_Science but I can't guarantee the results. In my situation, my image uploads seem to be a bit broken. Although FreeImage and Image_Science do install successfully as far as I can tell. This was my stopping point last night, so I have not investigated further. I plan to today. However, your mileage may vary. I filed a bug report at: http://rubyforge.org/tracker/index.php?func=detail&aid=15093&group_id=1513&atid=5921 Also these patches to ruby seem to have made it into macports already.. more info here: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/12895 which will give you info on why ruby segfaults etc.. I grabbed the macports source tarball and compiled it, then ran "port selfupdate" then when I built ruby the patches were applied. When installing the dev tools make sure to have installed 10.3.9 SDK (it's not selected by default) after building ruby and rb-rubygems with macports I installed FreeImage from source and edited the Makefile.osx but if you are using MacPorts to install FreeImage you can go ahead and attempt to install it or just download it and edit the Makefile. if you attempt to install it, which is fine... it will fail with.. ld: library not found for -ldylib1.10.5.o collect2: ld returned 1 exit status make[1]: *** [libfreeimage-3.9.2.dylib-ppc] Error 1 make: *** [all] Error 2 cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_freeimage/work/FreeImage and change this: LIBRARIES_PPC = -Wl,-syslibroot /Developer/SDKs/MacOSX10.3.9.sdk LIBRARIES_I386 = -Wl,-syslibroot /Developer/SDKs/MacOSX10.4u.sdk to this LIBRARIES_PPC = -Wl,-syslibroot /Developer/SDKs/MacOSX10.3.9.sdk/usr/lib LIBRARIES_I386 = -Wl,-syslibroot /Developer/SDKs/MacOSX10.4u.sdk/usr/lib then install it again "port install FreeImage" it will install fine, but maybe an error about cleaning up the build dir, don't worry about it.. You should be okay to install ruby, rb-rubygems now and image_science etc. which I should probably update since i have made progress since. On 10/27/07, Thomas Mango <tsmango@gmail.com> wrote: > -- > Thomas Mango > tsmango@gmail.com > -- Michael Steinfeld Linux Admin/Developer AIM: mikesteinfeld GTALK: mikeisgreat@gmail.com -- Michael Steinfeld Linux Admin/Developer AIM: mikesteinfeld GTALK: mikeisgreat@gmail.com
on 27.10.2007 17:32
on 27.10.2007 18:58
I've gotten pretty far with Michael's help so far. After editing
Makefile.osx and making sure that the 10.3 developer sdk was installed
from the Leopard install disk (through xcode dev tools install) I was
able to get freeimage installed through macport as well as the image
science gem installed. Still not loading correctly though:
CompilationError (error executing cc -arch ppc -arch i386 -pipe -
bundle -I/opt/local/include -fno-common -arch ppc -arch i386 -Os -
pipe -fno-common -I /System/Library/Frameworks/Ruby.framework/Versions/
1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I /System/Library/Frameworks/
Ruby.framework/Versions/1.8/usr/include -o "/Users/
tsmango/.ruby_inline/Inline_ImageScience_aa58.bundle" "/Users/
tsmango/.ruby_inline/Inline_ImageScience_aa58.c" -L/opt/local/lib -
lfreeimage -lstdc++: 256
Renamed /Users/tsmango/.ruby_inline/Inline_ImageScience_aa58.c to /
Users/tsmango/.ruby_inline/Inline_ImageScience_aa58.c.bad):
/Library/Ruby/Gems/1.8/gems/RubyInline-3.6.4/lib/inline.rb:399:in
`build'
/Library/Ruby/Gems/1.8/gems/RubyInline-3.6.4/lib/inline.rb:676:in
`inline'
/Library/Ruby/Gems/1.8/gems/image_science-1.1.3/lib/
image_science.rb:84
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/rubygems/custom_require.rb:32:in `gem_original_require'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/rubygems/custom_require.rb:32:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:495:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:342:in `new_constants_in'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:495:in `require'
.//app/controllers/users_controller.rb:1
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:203:in `load_without_new_constant_marking'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:203:in `load_file'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:342:in `new_constants_in'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:202:in `load_file'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:94:in `require_or_load'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:248:in `load_missing_constant'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:452:in `const_missing'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:464:in `const_missing'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/inflector.rb:
250:in `constantize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/core_ext/
string/inflections.rb:148:in `constantize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/routing.rb:
1284:in `recognize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:40:in `dispatch'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:78:in `process'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:76:in
`synchronize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:76:in `process'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:618:in
`process_client'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:617:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:617:in
`process_client'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `initialize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `new'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in `initialize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in `new'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:271:in
`run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:270:in
`each'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:270:in
`run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:127:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/command.rb:211:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:243
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:488:in `load'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:488:in `load'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:342:in `new_constants_in'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:488:in `load'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/rails-1.2.3/lib/commands/servers/mongrel.rb:60
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/rubygems/custom_require.rb:27:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:495:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:342:in `new_constants_in'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/
dependencies.rb:495:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/rails-1.2.3/lib/commands/server.rb:39
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/rubygems/custom_require.rb:27:in `require'
script/server:3
On Oct 27, 11:31 am, "Michael Steinfeld" <mikeisgr...@gmail.com>
on 27.10.2007 19:11
try removing ~/.ruby_inline then try again. On 10/27/07, Thomas Mango <tsmango@gmail.com> wrote: > 1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I /System/Library/Frameworks/ > /Library/Ruby/Gems/1.8/gems/image_science-1.1.3/lib/ > dependencies.rb:342:in `new_constants_in' > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ > dependencies.rb:248:in `load_missing_constant' > ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/core_ext/ > `synchronize' > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ > ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in `new' > `run' > ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ > ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' > dependencies.rb:495:in `require' > > ---------- Forwarded message ---------- > > install successfully as far as I can tell. > > > > > > > > it.. > > > when I was searching for answers, I came across this post you made > > Michael Steinfeld > > > > -- Michael Steinfeld Linux Admin/Developer AIM: mikesteinfeld GTALK: mikeisgreat@gmail.com
on 27.10.2007 19:25
After reading http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/12895 again, it seems to me like these patches have already been applied to ruby in Leopard, so I did not rebuild ruby. Maybe that's what's going on?
on 28.10.2007 20:57
Have you upgraded XCode tools from the Leopard install dvd?
on 28.10.2007 21:02
Yep, Michael had me install the 10.3 sdk which made it possible for free image to install. He then gave me final patch for ruby inline that made everything work. I'll post that later today. -- Thomas Mango tsmango@gmail.com
on 28.10.2007 21:27
Full installation instructions (full credit goes to: Michael Steinfeld
for figuring this out)
1. I started with a clean install of Leopard.
2. Install macports for 10.4
3. Install the xcode dev tools from the Leopard disk - *be sure to
also install the 10.3 sdk from the xcode dev tools install*
4. sudo port install freeimage
5. cd /opt/local/var/macports/build/
_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_freeimage/
work/FreeImage
and change this:
LIBRARIES_PPC = -Wl,-syslibroot /Developer/SDKs/MacOSX10.3.9.sdk
LIBRARIES_I386 = -Wl,-syslibroot /Developer/SDKs/MacOSX10.4u.sdk
to this
LIBRARIES_PPC = -Wl,-syslibroot /Developer/SDKs/MacOSX10.3.9.sdk/usr/
lib
LIBRARIES_I386 = -Wl,-syslibroot /Developer/SDKs/MacOSX10.4u.sdk/usr/
lib
6. sudo port install freeimage
7. sudo gem install -y imagescience
8. cd /Library/Ruby/Gems/1.8/gems/RubyInline-3.6.4/lib
9. edit inline.rb
look for the line "flags = @flags.join(' ')"
and change it to "flags = @flags.join(' ') + ' -lruby'"
10. remove ~/.ruby_inline
Again, many thanks to Michael for figuring this all out!
on 30.10.2007 00:06
Thanks a lot. This worked for me. Just want to reiterate one thing about the Xcode step. You will have to click "Customize" and then check "Mac OS X 10.3.9 Support".
on 30.10.2007 19:34
FWIW, I updated the include and library references to 10.5 and removed all PPC references (I'm on intel) to get the following makefile. Seems to have compiled FreeImage successfully - testing it now. Todd # -*- Makefile -*- # Mac OSX makefile for FreeImage # This file can be generated by ./gensrclist.sh include Makefile.srcs # General configuration variables: CC_I386 = gcc-4.0 CPP_I386 = g++-4.0 COMPILERFLAGS = -Os COMPILERFLAGS_I386 = -arch i386 COMPILERPPFLAGS = -Wno-ctor-dtor-privacy INCLUDE += INCLUDE_I386 = -isysroot /Developer/SDKs/MacOSX10.5.sdk/ CFLAGS_I386 = $(COMPILERFLAGS) $(COMPILERFLAGS_I386) $(INCLUDE) $ (INCLUDE_I386) CPPFLAGS_I386 = $(COMPILERPPFLAGS) $(CFLAGS_I386) LIBRARIES_I386 = -Wl,-syslibroot /Developer/SDKs/MacOSX10.5.sdk/usr/ lib LIBTOOL = libtool LIPO = lipo TARGET = freeimage STATICLIB = lib$(TARGET).a SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).dylib LIBNAME = lib$(TARGET).$(VER_MAJOR).dylib HEADER = Source/FreeImage.h .SUFFIXES: .o-i386 MODULES_I386 = $(SRCS:.c=.o-i386) MODULES_I386 := $(MODULES_I386:.cpp=.o-i386) PREFIX = /usr/local INSTALLDIR = $(PREFIX)/lib INCDIR = $(PREFIX)/include default: all all: dist dist: FreeImage cp *.a Dist cp *.dylib Dist cp Source/FreeImage.h Dist FreeImage: $(STATICLIB) $(SHAREDLIB) $(STATICLIB): $(STATICLIB)-i386 $(LIPO) -create $(STATICLIB)-i386 -output $(STATICLIB) $(STATICLIB)-i386: $(MODULES_I386) $(LIBTOOL) -arch_only i386 -o $@ $(MODULES_I386) $(SHAREDLIB): $(SHAREDLIB)-i386 $(LIPO) -create $(SHAREDLIB)-i386 -output $(SHAREDLIB) $(SHAREDLIB)-i386: $(MODULES_I386) $(CPP_I386) -arch i386 -dynamiclib $(LIBRARIES_I386) -o $@ $ (MODULES_I386) .c.o-i386: $(CC_I386) $(CFLAGS_I386) -c $< -o $@ .cpp.o-i386: $(CPP_I386) $(CPPFLAGS_I386) -c $< -o $@ install: install -d -m 755 -o root -g wheel $(INCDIR) $(INSTALLDIR) install -m 644 -o root -g wheel $(HEADER) $(INCDIR) install -m 644 -o root -g wheel $(SHAREDLIB) $(STATICLIB) $ (INSTALLDIR) ranlib -sf $(INSTALLDIR)/$(STATICLIB) ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME) clean: rm -f core Dist/*.* u2dtmp* $(MODULES_I386) $(STATICLIB) $(STATICLIB)- i386 $(SHAREDLIB) $(SHAREDLIB)-i386 On Oct 27, 11:31 am, "Michael Steinfeld" <mikeisgr...@gmail.com>
on 30.10.2007 21:17
Nice, let me know how this works for you. I was pondering doing the same, but since i had both SDK's installed.. *shrugs. You'll still need to pass -lruby to the compiler flags (if your using apples /usr/bin/ruby and RubyInline). I wrote a sed one-liner to edit inline.rb sudo sed -i -e "387,1s/flags\ =\ @flags.join(\'\ \')/&\ \+\ \'\ -lruby\'/" /usr/lib/ruby/user-gems/1.8/gems/RubyInline-3.6.4/lib/inline.rb -mike