Hi David,

I've spent some time trying to package libobjc2 again. I took
libobjc2-1.8.1 and went ahead with that. While the build seems to work fine
for me locally, it's failing on Canonical's systems:

https://launchpadlibrarian.net/232000659/buildlog_ubuntu-trusty-amd64.libobjc2_1.8.1-3_BUILDING.txt.gz

25/40 Test #25: PropertyIntrospectionTest2 .............***Exception:
Other  0.36 sec
PropertyIntrospectionTest2:
/«PKGBUILDDIR»/Test/PropertyIntrospectionTest2.m:258: void
testPropertyForProperty(objc_property_t, const char *, const char *,
objc_property_attribute_t *, unsigned int): Assertion `strcmp(types,
attrs) == 0' failed.

      Start 26: PropertyIntrospectionTest2_optimised
26/40 Test #26: PropertyIntrospectionTest2_optimised ...***Exception:
Other  0.17 sec
PropertyIntrospectionTest2_optimised:
/«PKGBUILDDIR»/Test/PropertyIntrospectionTest2.m:258: void
testPropertyForProperty(objc_property_t, const char *, const char *,
objc_property_attribute_t *, unsigned int): Assertion `__extension__
({ size_t __s1_len, __s2_len; (__builtin_constant_p (types) &&
__builtin_constant_p (attrs) && (__s1_len = __builtin_strlen (types),
__s2_len = __builtin_strlen (attrs), (!((size_t)(const void *)((types)
+ 1) - (size_t)(const void *)(types) == 1) || __s1_len >= 4) &&
(!((size_t)(const void *)((attrs) + 1) - (size_t)(const void *)(attrs)
== 1) || __s2_len >= 4)) ? __builtin_strcmp (types, attrs) :
(__builtin_constant_p (types) && ((size_t)(const void *)((types) + 1)
- (size_t)(const void *)(types) == 1) && (__s1_len = __builtin_strlen
(types), __s1_len < 4) ? (__builtin_constant_p (attrs) &&
((size_t)(const void *)((attrs) + 1) - (size_t)(const void *)(attrs)
== 1) ? __builtin_strcmp (types, attrs) : (__extension__ ({ const
unsigned char *__s2 = (const unsigned char *) (const char *) (attrs);
int __result = (((const unsigned char *) (const char *) (types))[0] -
__s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const
unsigned char *) (const char *) (types))[1] - __s2[1]); if (__s1_len >
1 && __result == 0) { __result = (((const unsigned char *) (const char
*) (types))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result
= (((const unsigned char *) (const char *) (types))[3] - __s2[3]); } }
__result; }))) : (__builtin_constant_p (attrs) && ((size_t)(const void
*)((attrs) + 1) - (size_t)(const void *)(attrs) == 1) && (__s2_len =
__builtin_strlen (attrs), __s2_len < 4) ? (__builtin_constant_p
(types) && ((size_t)(const void *)((types) + 1) - (size_t)(const void
*)(types) == 1) ? __builtin_strcmp (types, attrs) : (- (__extension__
({ const unsigned char *__s2 = (const unsigned char *) (const char *)
(types); int __result = (((const unsigned char *) (const char *)
(attrs))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result
= (((const unsigned char *) (const char *) (attrs))[1] - __s2[1]); if
(__s2_len > 1 && __result == 0) { __result = (((const unsigned char *)
(const char *) (attrs))[2] - __s2[2]); if (__s2_len > 2 && __result ==
0) __result = (((const unsigned char *) (const char *) (attrs))[3] -
__s2[3]); } } __result; })))) : __builtin_strcmp (types, attrs)))); })
== 0' failed.



Even though I tried to isolate the local build using pbuilder, I may have
still inadvertently built local libobjc2 with a development version of
clang/llvm 3.7.0; the code built on the build farm uses the clang-3.5
package (the newest available).

(1) Is this a known and expected bug in clang-3.5?
(2) Is clang-3.5 actually unsupported?
(3) Can I work around these failures somehow?
(4) Can I disable tests somehow, and instead declare "this code is known to
be broken; use at your own risk"? (I'd do this only for versions of Ubuntu
that don't ship with a sufficiently new clang.)
(5) If not I could upload debian source package for whatever minimum
version of clang you believe is required for libobjc2 1.8.1 and have
Canonical's build farm sort things out. What version is required?
(I'd prefer not to put a whole compiler into the PPA unless absolutely
required.)

Thanks!
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to