Hello again,

I've made some progress.
1. I manually defined CRYPTOPP_UNIX_AVAILABLE in cryptopp's config.h temporarily which allowed much of the cryptopp library to get build freely. This also resolved undefined references to 'AutoSeededRandomPool::Reseed' methods.
2.  Compilation of ndn-cxx goes fine (after adding ndn-cxx-config.hpp). 
The final set of errors are undefined references. I'm facing similar problems to the article written about porting SDL_net.
undefined references to 'kqueue', 'kevent' and 'sendmsg'.

There was initially an extra undefined reference to if_nametoindex and if_indextoname (I changed libc_net.mk to add these to SRC_C). They were in turn dependent on getifaddrs and freeifaddrs which was solved by adding getifaddrs.c to SRC_C.

I've found a few implementations of kqueue(), kevent() in the original libc repository : they're defined in kern_event.c which is not present in the current libc port. Same for sendmsg. I've been trying to add kevent and kqueue by changing the libc port by adding sys/kern to the list of exports and adding a mk file for the libc-kern component. I'm wondering if I should go to the extent of doing this because just by looking at the code I can see that there will be a cascade of dependencies within sys/kern itself that I now have to deal with. Suggestions would help - I'm kind of lost with this exact decision that was mentioned in porting SDL_net.

The weirdest part in this, is that I can't seem to find the place in the ndn-cxx code that even makes a call or even includes sys/event.h. I grepped the words 'kqueue', 'kevent' and 'sendmsg' and they're present in the object files but nowhere to be found in the source files! 

Part 2: Since the contrib/library-<hash>/ folder has both include/ as well as src/ folder, which one actually becomes the INC_DIR in .mk file? Because whatever changes I made when I set the include/ folder as INC_DIR were not getting reflected during compilation. So, there's a side query about that.

Sorry for the long post. I just feel that I'm close to the finish line.

Thanks
Aditya

On Thu, May 7, 2015 at 12:06 AM, Christian Helmuth <christian.helmuth@...1...> wrote:
Hello Aditya,

from what I discovered I fear you have to do some additional porting
work as the building produces several errors. Please try "make
--keep-going ..." to see them all and get about 2000 lines of warnings
and errors (mostly from cryptopp). The most suspicious messages from
ndn-cxx are

/plain/krishna/src/genode/genode.git/contrib/ndn-cxx-d868c173a4ad62c998b4be62fe3b9dca91e42160/src/lib/ndn-cxx/src/security/sec-tpm-file.cpp: In member function ‘virtual void ndn::SecTpmFile::generateKeyPairInTpm(const ndn::Name&, const ndn::KeyParams&)’:
/plain/krishna/src/genode/genode.git/contrib/ndn-cxx-d868c173a4ad62c998b4be62fe3b9dca91e42160/src/lib/ndn-cxx/src/security/sec-tpm-file.cpp:131:4: error: ‘AutoSeededRandomPool’ was not declared in this scope

In file included from /plain/krishna/src/genode/genode.git/contrib/ndn-cxx-d868c173a4ad62c998b4be62fe3b9dca91e42160/src/lib/ndn-cxx/src/security/sec-tpm-osx.cpp:24:0:
/plain/krishna/src/genode/genode.git/contrib/ndn-cxx-d868c173a4ad62c998b4be62fe3b9dca91e42160/src/lib/ndn-cxx/src/security/sec-tpm-osx.hpp:30:2: error: #error "This files should not be compiled ..."
/plain/krishna/src/genode/genode.git/contrib/ndn-cxx-d868c173a4ad62c998b4be62fe3b9dca91e42160/src/lib/ndn-cxx/src/security/sec-tpm-osx.cpp:38:43: fatal error: CoreFoundation/CoreFoundation.h: No such file or directory


For the first issue please have a look at the following lines in
cryptopp/osrng.h

   8  #ifdef OS_RNG_AVAILABLE
 ...
 155  #endif

It seems the define is not set in your case and so the contents of the
header are not includes in the build. To find this kind of problems I
suggest to modify the compilation of the broken source file to just do
the preprocessor step (compiler flag -E) and analyze the result. In
your case I was looking for AutoSeededRandomPool, which was not there.

Good luck
--
Christian Helmuth
Genode Labs

http://www.genode-labs.com/ · http://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main