[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


  so that it indicates that it is an old version and points to (or
replicates the information on)



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

which is referenced here:

  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.
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

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) ?

    Ben Bolker

More information about the Users mailing list