Mailinglist Archive: opensuse-bugs (4247 mails)

< Previous Next >
[Bug 1020046] New: xsp build should fail but not
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Sun, 15 Jan 2017 16:34:55 +0000
  • Message-id: <bug-1020046-21960@http.bugzilla.opensuse.org/>
http://bugzilla.opensuse.org/show_bug.cgi?id=1020046


Bug ID: 1020046
Summary: xsp build should fail but not
Classification: openSUSE
Product: openSUSE Tumbleweed
Version: Current
Hardware: Other
OS: Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Mono
Assignee: bnc-team-mono@xxxxxxxxxxxxxxxxxxxxxx
Reporter: i@xxxxxxxxxxxxx
QA Contact: qa-bugs@xxxxxxx
Found By: ---
Blocker: ---

Hi,

Recently I fixed build for xsp in Leap 42.3 by backporting a patch from
Tumbleweed.[1]

The error message was: configure: error: missing required Mono 2.0 assembly:
System.Core.dll

I sent a maintenance request[2] because the mono-core's versions are all 4.x
and the xsp's versions are all the same.

and Andreas Stieger rejected it because he thought why we should fix build
problems for successful builds.

So I invested further:

In the configure.ac of xsp there is a check:

<pre>
SHAMROCK_CHECK_MONO_2_0_GAC_ASSEMBLIES([
System.Core
System.Configuration
System.Data
System.Web
Mono.Posix
Mono.Security
])
</pre>

SHAMROCK_CHECK_MONO_2_0_GAC_ASSEMBLIES refers to this:

<pre>
AC_DEFUN([_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES],
[
for asm in $(echo "$*" | cut -d, -f3- | sed 's/\,/ /g')
do
AC_MSG_CHECKING([for Mono $2 GAC for $asm.dll])
echo "$($PKG_CONFIG --variable=libdir $1)/mono/$2/$asm.dll"
echo "$($PKG_CONFIG --variable=prefix $1)/lib/mono/$2/$asm.dll"
if test \
-e "$($PKG_CONFIG --variable=libdir $1)/mono/$2/$asm.dll" -o \
-e "$($PKG_CONFIG --variable=prefix $1)/lib/mono/$2/$asm.dll"; \
then \
AC_MSG_RESULT([found])
else
AC_MSG_RESULT([not found])
AC_MSG_ERROR([missing required Mono $2 assembly: $asm.dll])
fi
done
])
</pre>

in build/m4/shamrock/mono.m4, basically it will check the existence of these
two files:

/usr/lib64/mono/2.0/System.Core.dll
/usr/lib/mono/2.0/System.Core.dll

There are certainly no such files because there's no longer
/usr/lib/mono/2.0/System.Core.dll in mono-core 4.x.

So, theoretically xsp build should fail on every openSUSE release and
Tumbleweed.

But, the only failure I saw was on Leap 42.3. After applying two patches that
certainly will not fix this, it build successfully again.

In Leap 42.1/42.2 released repository without those two patches, I saw:

[ 46s] checking for Mono 2.0 GAC for System.Core.dll... found
[ 46s] checking for Mono 2.0 GAC for System.Configuration.dll... found
[ 46s] checking for Mono 2.0 GAC for System.Data.dll... found
[ 46s] checking for Mono 2.0 GAC for System.Web.dll... found
[ 46s] checking for Mono 2.0 GAC for Mono.Posix.dll... found
[ 46s] checking for Mono 2.0 GAC for Mono.Security.dll... found

But actually they should fail, see my test:

https://build.opensuse.org/package/show/home:MargueriteSu:branches:OBS_Maintained:xsp/xsp.openSUSE_Leap_42.2_Update

I didn't change anything actually. I didn't apply any patch, just defined some
inner variables in the specfile.

Theoretically it should build successfully just as it was in Leap 42.1/42.2,
but it didn't.

So there're two directions now:

1. Why our Build Service didn't trigger a failure when it should and it can.
2. Why xsp/mono continued the build when a must-have library was missing? Did
it fallback to /usr/lib/mono/4.5/System.Core.dll? or it just bundled/rebuilt a
System.Core.dll 2.0?

References:
1. https://build.opensuse.org/request/show/448139
2. https://build.opensuse.org/request/show/448186

--
You are receiving this mail because:
You are on the CC list for the bug.
< Previous Next >