Hey Instead of using execl you could also use: popen http://linux.die.net/man/3/popen Brings you back the outputs like stdout stderr etc... -Phil 2009/3/24 Ian Lance Taylor <iant@xxxxxxxxxx>: > Marcus Clyne <eugaia@xxxxxxxxx> writes: > >> // compile the shared object >> >> execl ("/usr/bin/gcc", >> "-shared", >> "-lmylib", >> "-o", >> so_file, >> object_file, >> NULL); > > Note that -lmylib is in the wrong place. Libraries must follow the > objects which refer to them. > > It does not make sense that you would get an undefined symbol error when > using -shared, so I don't know what is going on. It is unlikely that > you are missing anything from the environment. > > I recommend adding the -v option to your execl, to verify that the > expected options are being passed to the subprocesses. Compare to the > output using -v on the command line. > > Ian >