<div dir="ltr">I'll try heading down this road, thanks for the advice. I believe that mempool is not required. And can be turned off. My Impression is that there is a significant speed boost using mempool. This is my rather uninformed assessment. The application I'm working on building is clamd, .98.1 works on the brck2708 platform but takes 10 minutes to allocate 300 MB ram to hold the signatures. I'll have to talk with the clamav group to get a true assessment on why startup takes so long.<br>
<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jun 25, 2014 at 2:36 PM, Florian Fainelli <span dir="ltr"><<a href="mailto:florian@openwrt.org" target="_blank">florian@openwrt.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2014-06-25 4:54 GMT-07:00 Derek Werthmuller <<a href="mailto:thewerthfam@gmail.com">thewerthfam@gmail.com</a>>:<br>
<div class="">> After some research I've determined the header files I'm looking for are<br>
> kernel header files. They are part of the memory management /memory<br>
> allocation section. The package I'm trying to build uses mempool.h for<br>
> faster memory allocation.<br>
> Any help or advice on how to get the kernel to export these header files?<br>
<br>
</div>This is a poor portability decision to rely on a Linux header that is<br>
not even exported. If we had to export mempool.h, this would be yet<br>
another patch that we had to maintain in OpenWrt because nobody would<br>
be accepting that upstream.<br>
<br>
Please find a way to work with the upstream authors of your package so that:<br>
<br>
a) they use a custom memory allocator that does not rely on mempool.h<br>
to be available if the standard C library malloc() implemenation is<br>
not fast enough (there are standard ways to implement a custom memory<br>
allocator)<br>
b) they provide a configure script switch and compile time switch that<br>
allows turning off the mempool.h dependency entirely<br>
<div class="HOEnZb"><div class="h5"><br>
> Cheers<br>
> Derek<br>
><br>
><br>
> On Fri, Jun 6, 2014 at 6:53 PM, Florian Fainelli <<a href="mailto:florian@openwrt.org">florian@openwrt.org</a>><br>
> wrote:<br>
>><br>
>> 2014-06-06 15:35 GMT-07:00 Derek Werthmuller <<a href="mailto:thewerthfam@gmail.com">thewerthfam@gmail.com</a>>:<br>
>> > I'm trying to build a new version of clamav for the brcm2708 platform<br>
>> > and<br>
>> > have some questions about the new build dependencies for the latest<br>
>> > version<br>
>> > of clamav 98.3. 98.1 built OK and didn't use openssl.<br>
>> ><br>
>> > The configure portion of the build is asking about mempool support.<br>
>> > output snip<br>
>> > ....<br>
>> > checking for sysctlbyname... no<br>
>> > configure: ****** mempool support disabled (mmap not available or not<br>
>> > usable)<br>
>> > ..<br>
>> > mempool.h is found in the -I$(BUILD_DIR)/linux-3.10.36/mm directory.<br>
>> > I've<br>
>> > included the directory path in the Target_cpplfags, like below. Is this<br>
>> > the<br>
>> > right way to do this?<br>
>><br>
>> This is not the right way to do this, you should not include Linux<br>
>> kernel headers directly that have not been voluntarily exported.<br>
>><br>
>> The kernel exports some header files for use by user-programs from its<br>
>> include/uapi/ directory. Those kernel headers are staged by the<br>
>> toolchain build process in staging_dir/toolchain-*/usr/include/linux.<br>
>><br>
>> mempool.h does not appear to be in the headers exported for uapi, so I<br>
>> am not sure this is referring to the same mempool.h header file, it<br>
>> could be either some external library, or some internal header that<br>
>> does not get properly included.<br>
>><br>
>> > As the make file will obviously be out of date soon<br>
>> > as a new kernel version is used.<br>
>> ><br>
>> > TARGET_CPPFLAGS += \<br>
>> > -I$(STAGING_DIR)/usr/include \<br>
>> > -I$(STAGING_DIR)/usr/include/openssl \<br>
>> > -I$(STAGING_DIR)/usr/include/crypto \<br>
>> > -I$(STAGING_DIR)/usr/include/libxml2 \<br>
>> > -I$(STAGING_DIR)/usr/lib \<br>
>> > -I$(TOOLCHAIN_DIR)/include \<br>
>> > -I$(BUILD_DIR)/linux-3.10.36/mm \<br>
>> ><br>
>> > Thanks for the advice in advance.<br>
>> ><br>
>> > Cheers<br>
>> > Derek<br>
>> ><br>
>> > _______________________________________________<br>
>> > openwrt-devel mailing list<br>
>> > <a href="mailto:openwrt-devel@lists.openwrt.org">openwrt-devel@lists.openwrt.org</a><br>
>> > <a href="https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel" target="_blank">https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel</a><br>
>> ><br>
>><br>
>> --<br>
>> Florian<br>
><br>
><br>
><br>
> _______________________________________________<br>
> openwrt-devel mailing list<br>
> <a href="mailto:openwrt-devel@lists.openwrt.org">openwrt-devel@lists.openwrt.org</a><br>
> <a href="https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel" target="_blank">https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel</a><br>
><br>
<br>
--<br>
Florian<br>
</div></div></blockquote></div><br></div>