[ADMB Users] makadmb vs. admb

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

Thanks,
Allan



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:
>
>   http://admb-project.org/community/editing-tools/admb-ide
>
> 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.
>
> Arni
>
>
>
> On Tue, 16 Mar 2010, Saang-Yoon wrote:
>
>> Hello.
>>
>> 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,
>>
>> Saang-Yoon
>>
> _______________________________________________
> Users mailing list
> Users at admb-project.org
> http://lists.admb-project.org/mailman/listinfo/users



More information about the Users mailing list