erro: nenhuma função correspondente para a chamada a "min (int não assinada longa, não assinada &)"

Estou usando o Ubuntu 12.04 - 64 bits. Eu testei com boost 1.46, 1.48, 1.52 e gcc 4.4 e 4.6 Quando tento compilar:

while (m_burstReqBeatsRemain) {
                if (m_burstReqAddress % m_dramRowSize == 0) {
                    m_admRequestQueue.push_back(adm_request());
                    adm_request &req = m_admRequestQueue.back();
                    req.address = m_burstReqAddress;
                    req.command = tlm::TLM_READ_COMMAND;
                    //call to min function
                    req.readLen = std::min(m_burstReqBeatsRemain * sizeof(Td), m_dramRowSize);
                }
                m_burstReqBeatsRemain--;
                m_burstReqAddress += sizeof(Td);
                m_ocpTxnQueue.push_back(m_ocpReq);
}

Eu recebo este erro:

no matching function for call to ‘min(long unsigned int&, unsigned int&)
from /usr/include/c++/4.6/bits/stl_algobase.h*

Nota: com o Ubuntu 12.04 32 bits funciona bem

Alguma ideia de como posso consertar isso?

questionAnswers(1)

yourAnswerToTheQuestion