Wisdom of the Ancients

Posted by Miguel Rentes on September 3, 2015
Read more about programming, stackoverflow

Recently, this happened to me:

Wisdom of the Ancients

More specifically, the problem occurred when running a simple X/Motif C application linked with the Motif library libXm and the X Toolkit Intrinsics library libXt:

$ gcc -Wall -o push push.o -lXt -lXm
$ ./push
Error: No realize class procedure defined

This error led me (of course) to search the web for the cause, but all I could find was a thread of September 2009 on the fixunix forum:

FixUnix thread

After performing several different experiments, I thought the problem could be the order in which the libraries were being passed to the gcc linker. After reading a nicely detailed stackoverflow thread on it, I found the solution was pretty simple: I just had to switch the order of the libraries:

$ gcc -Wall -o push push.o -lXm -lXt

and the problem was fixed.

I then went back to the fixunix forum to answer the thread so that my findings could (possibly) be of some use if someone else comes across this error. But then I was a bit surprised to find that the forum was closed to new replies or new user registrations:

FixUnix Registration Disabled

The alternative? Writing a post on stackoverflow of course! Here it is:

No realize class procedure defined

All in all, this error taught me two important lessons: always share your findings (even if they only occur years later, or if you have to submit the answer to another forum) and never close a forum to another’s contribution! At least explore the possibility of migrating the threads contents to another platform where anyone can share their experiences and help each other.

Until next time, have a lot of coding fun!