On 13 August 2014 02:03, Arvind S Raj <sraj.arvind@xxxxxxxxx> wrote: > Thanks for the info Ingo - the C++ source is being compiled > successfully now! Currently, the build fails again when trying to > build libroot.so because the object file of the newly added source > file isn't present in the list(and hence several undefined references > to atomic_get_and_set again). I ran the command in [1] and it > succeeded and thus I've been trying to locate where to specify that > this file using opengrok but haven't had much success. I ran jam with > -dx but it seemed to be taking quite some time and unfortunately > overwrote the earlier build logs I had(yes I probably should've saved > it). The error was generated when the Link rule was called, which ran > the command in [1] but without the generic_atomic.o in the list of > objects. I'm calling it a day now; will continue later on. > > [1] http://paste.debian.net/plainh/25dfc9b I added generic_atomic.o to librootObjects in src/system/libroot/Jamfile to indicate the object file is required to create libroot.so(the grist <arm> gets added too) but jam complains it doesn't know how to make <arm>generic_atomic.o. Jam invokes the rule SharedLibrary, which invokes SharedLibraryFromObjects, which invokes LinkAgainst. In LinkAgainst, the object file is added to the NEEDLIBS for the so file. However, I couldn't figure out when or how the location of the object files in NEEDLIBS are discovered. Build output: http://paste.debian.net/hidden/c06d160c/.