On 05/29/2017 04:06 PM, Max Krummenacher wrote:
+- # check if rpm contains a bundled berkeley db
+- CHECK_INCLUDE_FILE(rpm/db.h HAVE_RPM_DB_H)
++ set(HAVE_RPM_DB_H 0)
Have you looked into what CHECK_INCLUDE_FILE does, and whether it can be
fixed? I'd like to hear about your findings.
Yes, I did.
I creates a c file and tries to compile it with the CFLAGS specified
in CMaketext.
<<<<<<<<
#include "rpm/db.h"
int main () {
return 0;
}
As we're talking about libsolv-native here it uses the build host's
gcc which has the standard include directory
/usr/include and thus finds a /usr/include/rpm/db.h
And again, I do not think that it is an error to find/use headers from
the build host's /usr/include for a *-native
build.
Maybe to add to 'can it be fixed?'
As I said, IMHO it is not broken, but
yes, one could pass an additional parameter to the compiler '-nostdinc'.
CHECK_INCLUDE_FILE(rpm/db.h HAVE_RPM_DB_H, "-nostdinc")
But this would break the intention of the test on the not '-native'
build as there
the rpm headers whould actually be found in the standard include directories.
So if OE ever would decide to change the rpm recipe to have an included db
this would not be picked up by the test in the not '-native' tests.
I see. You are right here. I admit I don't fully understand if it's
generally okay for -native recipes to look around in (and later use)
host include directories like that, as we're striving towards
reproducible builds, and this behavior is not supportive of them.
Richard, can we have your say please?
Alex
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core