Econding a Eisernberg's CP in CVX: log( convex ) DCP error

I am trying to implement the Eisenbger’s convex formulation in CVX, which is as follows:
Given matrix A(m,n), vector e(1,m), and negative integer rho

variables x(m,n), and u(m,1);
$$max: \sum_{i=1}^m e(i)*log(u(i))$$
subject to:
$$u(i)=(\sum_{j=1}^n A(i,j) x(i,j)^\rho)^{1/\rho},\ \ \forall 1<= i<= m $$
$$\sum_{i=1}^m x(i,j) \le 1,\ \ \ \forall 1<=j<=n; \ \ \ \ x\ge 0$$

Here is my attempt that gives DCP error “Illegal operation: log( {convex} ).”… Kindly help resolve this.

rho=-1
for i=1:1:m
     C=[C eye(n)];
end;

variable x(m*n);
expression u(m);
for i=1:1:m
     u(i)=0;
     for j=1:1:n
          u(i)=u(i)+(abs(A(i,j))\*pow_p(x((i-1)*m+j),-abs(rho)));
     end;
end;
dual variable p;

maximize((-1/abs(rho))\*e*log(u));
subject to
p:        C*x <= ones(n,1);
          x>=0;
cvx_end

I’m afraid this problem cannot be represented in CVX. Not every convex function can be represented using DCP rules, and thus not every convex model can be solved using CVX.

Oh! Thank you so much for your reply.

No way out then? Do you think any other tool may work?