[ADMB Users] MacOS progress/wishlist
Ben Bolker
bbolker at gmail.com
Wed Jun 15 08:56:40 PDT 2011
Thanks to Dave for the response yesterday. I have done some
struggling on my own, with the following comments/wishlist items:
1. it's still really easy to find the old ADMB SVN repository and get
confused, at least it was for me.
Could someone please update
http://code.google.com/p/admb-project/source/checkout
so that it indicates that it is an old version and points to (or
replicates the information on)
http://admb-project.org/news/admb-anonymous-source-version-control-available
?
2. Examining GNUmakefile showed "-m32" in the compiler flags. Changing
it to "-m64" followed by "make clean; make; make install" gets me
partway through my problem.
I'm not sure what the best solution is in terms of helping future users
get through this. I poked around a bit in
scripts/configure/configure.ac , which is ultimately what determines the
contents of GNUmakefile; there is apparently (?) logic that is trying to
autodetect 32- vs 64-bit systems, but I guess it fails on my system?
3. after that I ran into this problem:
ld: duplicate symbol lgam(double)in
/usr/local/admb/lib/libado.a(cgamdev.obj) and
/usr/local/admb/lib/libdf1b2o.a(df13tester.obj)
which is referenced here:
http://groups.google.com/group/admb-users/browse_thread/thread/c90d220c6b6b17ca
My solution was:
a. delete src/df1b2-separable/df13tester.cpp
b. remove the df13tester.obj line from src/df1b2-separable/objects.lst
c. remove object files containing the bad stuff from the build
find . -type f -exec grep -H df13tester {} \; | grep -v svn
although "make clean" would probably have been easier
d. make; make install
this allows me to compile the file I am interested in.
*** It would be really nice if one of the developers could make these
changes (tested appropriately of course) to the SVN source ... ***
4. "make test" still fails on my machine, starting from here:
g++ -c -I/usr/local/gtest-1.5.0/include -O3 -Wno-deprecated -D__GNUDOS__
-Dlinux -DSAFE_ALL -DUSE_LAPLACE -fpermissive -I.
-I/usr/local/admb-svn2/build/admb-10.1-macos10.6.7-xcode3.2.6-32bit/admb-10.1-macos10.6.7-xcode3.2.6-32bit/include
test_atan2.cpp
test_atan2.cpp:1:25: error: gtest/gtest.h: No such file or directory
test_atan2.cpp:13: error: ‘::testing’ has not been declared
any ideas?
(this is lower priority for me now since I can compile my TPL file of
interest)
5. It would be really nice, and I think it is possible, to set up ADMB
so that it could generate "multi-architecture" TPL files. For example,
when I query the results of my compilation I get
glmmadmb: Mach-O 64-bit executable x86_64
I think it is possible to use something like CXXFLAGS="-arch i386 -arch
x86_64" at some point, but when I naively hack GNUmakefile to reflect
this I get
lipo: /var/folders/5A/5A99Opv1HbSJQA2Bnw6oqE++r-g/-Tmp-//ccERu1s8.out
and /var/folders/5A/5A99Opv1HbSJQA2Bnw6oqE++r-g/-Tmp-//ccOGn9us.out have
the same architectures (x86_64) and can't be in the same fat output file
I am most definitely not a Mac expert. Does anyone know how to do
this (by hacking GNUmakefile if possible, even better would be
specifying arguments to ./configure) ?
cheers
Ben Bolker
More information about the Users
mailing list