If you want to use Latent Class with descriptive variables as your basis variables, then a software system like Latent Gold (not our software) can do this. Our Latent Class software is used when you have a dependent varaible (choice of concept) resulting from CBC or MaxDiff interviewing, which isn't the case for you.
Another approach is to turn your categorical variables into dummy-coded variables, and submit it to our Convergent Cluster Ensemble Analysis (CCEA) system. Should produce similar results to latent class, though I don't know for certain which results would be better.
For example, a 3-level categorical demographic variable could be coded as three 0/1 variables, where:
Category 1 = 1 0 0
Category 2 = 0 1 0
Category 3 = 0 0 1
Then, those new 3 binary variables are used in the cluster ensemble routine, rather than the original categorical variable which had been coded as 1, 2, or 3.