Closed pjb304 closed 10 years ago
Hey, that's great, thank you Phil. I'll read your patch and merge it.
I've made a few small changes to this pull and committed them.
https://github.com/jcupitt/rtiacquire/commit/83d843aeb3f5195c267d410466b5342b32520c0a
https://github.com/jcupitt/rtiacquire/commit/839199cc08d1ff47c6eea787cb30924f42182e5c
Ah yes, we forgot we hard coded that in. That was one of those lets hard code it for now and fix it later – we forgot the fix it later part. Ooops.
RE, the vips versioning the ./configure script explicitly requires 7.24, and I remember at the time you saying that something in 7.25 made it stop working. However, I can’t really remember any more details than that.
On the configure thing, do you mean the fast fitter I made? It should work with current vips, I'd think. I forget the details too.
I do indeed mean the fast fitter – the ./configure script explicitly requires 7.24 . I’ve never used autoconf stuff before, and my attempts at changing it so that it only requires VIPS have failed.
Sure, I'll fix it, should be easy (I hope). Where's the latest copy of the code?
Brilliant, thank you.
svn checkout svn+ssh://jrgc@svn.forge.ecs.soton.ac.uk/projects/rti/PTMfitter/ptmfit-2.3
Should get you the latest version of the fitter on steroids, without any of the other junk that’s in the repo ☺
I can't remember how to push to svn! Anyway, all you need to do is change vipsCC-7.24 to vipsCC and run bootstrap.sh. The script should rebuild the configure system for you.
It’s svn ci to do a commit.
I’ve made the change you suggested and it gets past the configuration stage however, it now fails on make:
make all-am
make[1]: Entering directory /home/pjb/PTMfitter/ptmfit-2.3' g++ -g -O2 -o ptmfit computepoly.o LinearSystem.o main.o nrutil.o svd.o writeptm.o -pthread -fopenmp -I/usr/local/include -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/libpng12 -I/usr/include/libexif -I/usr/include/freetype2 -I/usr/include/ImageMagick -I/usr/include/OpenEXR -Wl,--export-dynamic -pthread -L/usr/local/lib -lvipsCC -lvips -ltiff -ljpeg -lstdc++ -lxml2 -lgmodule-2.0 -lrt -lfftw3 -lm -lMagickWand -llcms -lIlmImf -lz -lImath -lHalf -lIex -lIlmThread -lcfitsio -lpthread -lpangoft2-1.0 -lpng12 -lexif -lMagickCore -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 main.o: In function
main':
/home/pjb/PTMfitter/ptmfit-2.3/main.cpp:148: undefined reference to im_init_world' collect2: ld returned 1 exit status make[1]: *** [ptmfit] Error 1 make[1]: Leaving directory
/home/pjb/PTMfitter/ptmfit-2.3'
make: *\ [all] Error 2
I’ve installed all the dependencies of VIPS, and ImageMagick is installed too, any ideas?
Which vips is this? It's building OK here with git master and with 7.36.
I’m using 7.36.3 freshly downloaded from the server I’ve run the following to get all the possible dependencies (vips) sudo apt-get install build-essential libxml2-dev libfftw3-dev \ gettext libgtk2.0-dev python-dev liblcms1-dev liboil-dev \ libmagickwand-dev libopenexr-dev libcfitsio3-dev gobject-introspection flex bison (fitter)
sudo apt-get install ufraw csh build-essential libtiff-dev libxml2-dev libfftw3-dev \
gettext libgtk2.0-dev python-dev liblcms1-dev liboil-dev \
libmagickwand-dev libopenexr-dev libcfitsio3-dev subversion git \
autossh htop libgphoto2.2 libgphoto2.2-dev flex bison freeglut3 gphoto2
I’ve also tried it on 2 different machines in case the first one I tried had got corrupted libs some how. But it’s still failing ☹
I think you must have your headers mixed up. In 7.36 im_init_world() is no longer a function, it's a macro that does some ABI compatibility checking before calling vips__init(). You must be compiling against an old libvips but linking to a new one.
You can have many libvipses installed, but you need to be careful to keep them apart with env var settings. Try removing all but one of them and compiling again.
I agree that would cause issues, however, I’m 99 % sure that this machine never had a previous version of vips on it. I’ve just been through and deleted all vips folders in /usr/loca/include and reinstalled 7.36.3. but it’s still giving the same error.
From: John Cupitt [mailto:notifications@github.com] Sent: 15 November 2013 12:46 To: jcupitt/rtiacquire Cc: pjb304 Subject: {Disarmed} Re: [rtiacquire] Updates to enable OSX compatibility (#1)
I think you must have your headers mixed up. In 7.36 im_init_world() is no longer a function, it's a macro that does some ABI compatibility checking before calling vips__init(). You must be compiling against an old libvips but linking to a new one.
You can have many libvipses installed, but you need to be careful to keep them apart with env var settings. Try removing all but one of them and compiling again.
— Reply to this email directly or view it on GitHubhttps://github.com/jcupitt/rtiacquire/pull/1#issuecomment-28566446.
You were seeing a link error:
main.o: In function `main': /home/pjb/PTMfitter/ptmfit-2.3/main.cpp:148: undefined reference to `im_init_world'
ie. main.c is compiling a call to a function called "im_init_world". If you look at the 7.36 headers you'll see:
john@mm-jcupitt3 ~/GIT/libvips/libvips/include/vips (7.36) $ grep im_init_world *.h
vips7compat.h:#define im_init_world vips_init
so im_init_world() is not a function, it's just a rename of vips_init(). I think your compile can't be seeing the correct include files.
Try compiling with -Wall, is im_init_world() undefined?
Hmm, curious. I removed the 7.36.3 that I downloaded from the site, and used the git master version and it worked fine. Has something changed between the 2 versions that would affect this?
Oooops, yes, there was a problem argh, sorry for wasting so much of your time.
Here's a test 7.36, does it fix it?
http://www.vips.ecs.soton.ac.uk/development/vips-7.36.4.tar.gz
No worries, I was afraid it was me wasting your time by forgetting a simple stage of the process.
Yes that test 7.36 does fix it, thanks.
Minor tweaks to enable the capture system to work on OSX. With thanks to Jon Hare.