Problems with installation of yorick-yao.4.6.1

36 views
Skip to first unread message

Marcos van Dam

unread,
Aug 11, 2010, 11:01:37 PM8/11/10
to yoric...@googlegroups.com
Hello everyone!

I have installed yorick-4.6.1 on three computers (two linux and a mac) and am having a couple of problems that someone may be able to help with.

1. I am not able to install hdf5 on any of the machines.

marcos@marcos-laptop:~/yorick-2.1/yorick-hdf5-0.8.0$ yorick -batch make.i
updated ./Makefile
marcos@marcos-laptop:~/yorick-2.1/yorick-hdf5-0.8.0$ make
cc -O  -D H5_USE_16_API -fPIC -DPLUG_IN -I. -I/home/marcos/yorick-2.1/Linux-i686/include   -c -o hdf5.o hdf5.c
In file included from hdf5.c:35:
hdf5.h:24:22: error: H5public.h: No such file or directory
hdf5.h:25:44: error: H5Apublic.h: No such file or directory
hdf5.h:26:48: error: H5ACpublic.h: No such file or directory
hdf5.h:27:42: error: H5Dpublic.h: No such file or directory
hdf5.h:28:40: error: H5Epublic.h: No such file or directory

It is easy to get around this by creating a dummy file called hdf5.i and then running yao.

2. Installing yao 4.6.1 on Antonin's Mac is failing:
dhcp244:yorick-yao-4.6.1 abouchez$ make
>> cc -O    -DPLUG_IN -I. -I/Users/abouchez/yorick-2.1/include   -c -o aoSimulUtils.o aoSimulUtils.c
>> cc -O    -DPLUG_IN -I. -I/Users/abouchez/yorick-2.1/include   -c -o utils.o utils.c
>> cc -O    -DPLUG_IN -I. -I/Users/abouchez/yorick-2.1/include   -c -o yao_fast.o yao_fast.c
>> /Users/abouchez/yorick-2.1/lib/codger w yao  yao_fast.i yao_utils.i
>> found yao_fast.i in current directory
>> found yao_utils.i in current directory
>> cc -O    -DPLUG_IN -I. -I/Users/abouchez/yorick-2.1/include   -c -o ywrap.o ywrap.c
>> cc -O   -bundle -bundle_loader /Users/abouchez/yorick-2.1/bin/yorick -o yao.so aoSimulUtils.o utils.o yao_fast.o ywrap.o -lfftw3f -lm 
>> Undefined symbols:
>>   "__poidev", referenced from:
>>       __shwfs_spots2slopes in yao_fast.o
>>       __cwfs in yao_fast.o
>>       __cwfs in yao_fast.o
>>   "__eclat_float", referenced from:
>>       __calc_psf_fast in yao_fast.o
>>   "__gaussdev", referenced from:
>>       __shwfs_spots2slopes in yao_fast.o
>>       __cwfs in yao_fast.o
>>       __cwfs in yao_fast.o
>>       __cwfs in yao_fast.o
>>       __cwfs in yao_fast.o
>> ld: symbol(s) not found
>> collect2: ld returned 1 exit status
>> make: *** [yao.so] Error 1
>> 

Francois thought that this might have been due to a problem with imutils, since poidev and gaussdev are imutil files. However, imutil passes the yorick -i check.i test and we can call the imutil files from yorick without any problems.

Does anyone have any ideas?

3 Finally, I have merged my changes into 4.6.1 and hopefully will be able to release the changes. Amongst the new features:
open-loop, closed-loop and pseudo-open loop control
mmse and mmse-sparse now work with mcao systems
Full LTAO simulations (using pseudo open-loop control) including tip-tilt tomography

Thanks a lot in anticipation!
Marcos
 
-- 
Marcos van Dam
Adaptive Optics Scientist
Flat Wavefronts
Postal Address: PO BOX 1060, Christchurch 8140, New Zealand
Cell phone: +64 21 148 1956
Skype: marcos.van.dam
Website: www.flatwavefronts.com

Francois Rigaut

unread,
Aug 12, 2010, 6:51:03 AM8/12/10
to yoric...@googlegroups.com
Hi Markos,

Quickly, as I am in vacation in Portugal:

The hdf5 problem seems like it's not a yorick or yao issue. The error says that the files (e.g. H5public.h) referred by hdf5.h (which belongs to the hdf5 C package install, not to yorick) is not found. So you seem to have the hdf5 C package  installed (otherwise it would complain that it doesn't find hdf5.h), but it's not installed properly. What distribution are you running (in the case of OsX: from where did you installed hdf5)? On linux, try a "locate hdf5.h" and "locate H5public.h". Look into the hdf5.h (resyult from "locate hdf5.h"). It should include H5public.h. Sometime the H5*.h files are in /usr/include/hdf5, sometimes just in /usr/include (as in my distribution).

Damien also complained to me about this new hdf5 dependency. I know, I probably was wrong to add it. It's just that hdf5 is such a nice data format, compared to e.g. fits, for complex data structures. However, I could easily replace it by the yorick data format, using save/restore. I think I will just go ahead and do that, since it seems a headache for several of you.

ok, Celine is pushing me to get ready to go out, so I will just postpone the other issues to later today.
Cheers,
Francois

Francois Rigaut

unread,
Aug 13, 2010, 12:49:05 PM8/13/10
to yoric...@googlegroups.com
Marcos,

1) HDF5: ok, I'm slightly confused. The only trace of hdf5 calls I could find in the yao code is in yaodh.i. This is a patch from Aurea to add support for the disk harmonic (DM option). I thought I had it somewhere else, but it seems the only place. Anyway, not Aurea's fault: I was a bit quick merging her stuff and didn't think of replacing the h5read() call by something more standard. This is now done in yao-4.6.2 (find it in the usual place: http://www.maumae.net/yorick/packages/src/yao-4.6.2-src.tgz ), in which the h5 call was replace by a fits_read.
I'm getting really sloppy on the last release because I also forgot to actually commit/include the data file for generating the disk harmonic in 4.6.1 (so that even if you had hdf5 installed properly, you wouldn't have been able to generate the disk harmonic functions). I have added the data file in the 4.6.2 release (which in turn makes it a bit larger, by some 300KB or so). 
Summary: got rid of hdf5 dependency. Added disk harmonic generation init data file.

2) install of yao on Antonin's mac: not sure what's happening here. I can confirm that the 3 functions are indeed from imutil. try the following:
a) start a yorick from ~ and type
#include "imutil.i"
d = poidev(array(10,[2,128,128]))
what's happening? any error?
b) start yorick, type:
Y_HOME
then quit yorick and look up the content of Y_HOME(replace by the whatever Y_HOME was in the previous printout from your yorick command)/lib <- don't forget the /lib
this should contain a bunch of .so (linux) or .dylib (osx, I believe) files. Is imutil.so (dylib) there ?


c) Extremely good news for the new features you are going to provide ! Don't worry about the 4.6.1 vs 4.6.2, I can easily merge your stuff into the last release (actually, do you know meld or diffuse, they are super useful tools for merging).

d) I think this discussion would probably have been better suited for the new yorick forums ( http://sourceforge.net/p/yao/discussion/ ). 

Thanks
Francois




On Thu, Aug 12, 2010 at 4:01 AM, Marcos van Dam <mar...@flatwavefronts.com> wrote:
Reply all
Reply to author
Forward
Message has been deleted
0 new messages