Found problem (thanks)
I found the problem. I was trying to create a simple code example for you all to look at and I noticed that it worked - so it was definitely my app.
I added a call to glXMakeCurrent before querying for extensions and now I have them all. I thought it was already current I guess it was not. The bizarre thing is that I thought glGetString normally returned NULL if there was no context current
Again, thanks for your replies.