[ADMB Users] makadmb vs. admb
Allan.Hicks at noaa.gov
Wed Mar 17 11:11:39 PDT 2010
Thanks to Arni for creating those scripts, and to Johnoel and Laurie for
adapting them. They are very useful and make compiling with different
options much easier.
However, I noticed that when using the Visual C++ Express compiler
(downloaded version admb-9.1-windows-vc9-32bit.exe) and compiling in
safe mode (the -s option) it has the same effect as without the -s
option (optimized mode). In other words, when using the -s option you do
not get a safe mode executable, but an optimized executable. In the
scripts, the proper safe mode commands are commented out.
Furthermore, and this may be why the safe mode compiling is diabled,
when compiling in safe mode with Visual C++ Express, I was unable to get
the AD Model Builder libraries linked. It appears that I am unable to
compile in safe mode, even if Arni's scripts were properly working.
However, the Borland compiler and scripts (downloaded
admb-9.1-windows-bcc551-32bit.exe) appear to properly link the safe-mode
libraries and create a safe-mode executable.
If safe mode compiling is unavailable for Visual C++ Express 32-bit, a
better option may be to return an error when trying to compile in safe
mode and warn the user that safe mode compiling is currently
unavailable. Otherwise, a user may believe they are compiling in safe
mode when they are not.
Arni Magnusson wrote:
> Good point, Saang-Yoon. I don't think the new compilation scripts have
> been introduced properly.
> I wrote the new scripts (adcomp, adlink, admb) to replace a wide
> variety of old scripts that had different compiler-dependent names.
> Some of the old scripts didn't work, and sometimes there were obvious
> missing scripts for a given compiler, left as an exercise for the user.
> As you may already have found out, adcomp compiles (C++ -> object
> code), adlink links (object code -> executable), and admb builds
> (translates, compiles, and links).
> The new scripts provide a uniform user interface for all compilers,
> and intuitive options for fine control. A simple help page is shown if
> you run a script without any arguments, and more details can be found
> in the script comments and code.
> These scripts should of course be mentioned in the ADMB user manual.
> The 9.0 version of the manual only mentions 'makeadmb', 'myvcc.bat',
> 'linkvcc.bat', and 'makedll.bat', which have all been deprecated. A
> forthcoming version of the manual will mention the new scripts
> instead, and the ADMB-RE manual is already up to date.
> Incidentally, I have just released a new set of scripts for GCC
> (Windows and Linux) and Borland (Windows) that can be downloaded from:
> These are the most current scripts and will also ship with the next
> version of ADMB. GCC and Borland are the compilers I have on my
> machine, and I hope the ADMB community will maintain similar scripts
> for other platforms and compilers. I believe Johnoel Ancheta adapted
> the scripts for Sun Studio and Visual C++, and Laurie Kell is
> currently improving the Visual C++ scripts.
> On Tue, 16 Mar 2010, Saang-Yoon wrote:
>> Recently I learned that "admb" is a new command for compilng and
>> linking a TPL file. I have been using "makadmb" for several years,
>> which still works. I am curious about why "admb" replaces "makadmb"
>> and what is a difference between those two commands. Is there any
>> place that describes answers to my curiosity? If so, please introduce
>> it. Otherwise, would you mind explanining? Thanks,
> Users mailing list
> Users at admb-project.org
More information about the Users