Bug 1680388 - keepass: FTBFS in Fedora rawhide
Summary: keepass: FTBFS in Fedora rawhide
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: keepass
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Peter Oliver
QA Contact: Fedora Extras Quality Assurance
URL: http://apps.fedoraproject.org/koschei...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-02-24 13:29 UTC by Peter Oliver
Modified: 2019-05-07 17:49 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-05-07 17:49:03 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
use TargetFrameWork v4.7.1 (1.08 KB, patch)
2019-04-27 05:28 UTC, Timotheus Pokorra
no flags Details | Diff

Description Peter Oliver 2019-02-24 13:29:24 UTC
Description of problem:
Package keepass fails to build from source in Fedora rawhide.

Version-Release number of selected component (if applicable):
2.41-2.fc30

Steps to Reproduce:
koji build --scratch f30 keepass-2.41-2.fc30.src.rpm

Additional info:
This package is tracked by Koschei. See:
http://apps.fedoraproject.org/koschei/package/keepass

Comment 1 Peter Oliver 2019-04-15 14:15:38 UTC
[pid 16497] write(1, "Task \"Csc\"\n", 11) = 11
[pid 16497] write(1, "\t", 1)           = 1
[pid 16497] write(1, "\t", 1)           = 1
[pid 16497] write(1, "\t", 1)           = 1
[pid 16497] write(1, "\t", 1)           = 1
[pid 16497] write(1, "Using task Csc from Microsoft.Bu"..., 142) = 142
[pid 16497] stat("/usr/lib/mono/4.5/msc.exe", 0x7fff7fd37ff0) = -1 ENOENT (No such file or directory)
[pid 16497] lstat("/usr/lib/mono/4.5/msc.exe", 0x7fff7fd37ff0) = -1 ENOENT (No such file or directory)
[pid 16497] access("/usr/lib/mono/4.5", F_OK) = 0
[pid 16497] stat("/usr/bin/msc.exe", 0x7fff7fd37ff0) = -1 ENOENT (No such file or directory)
[pid 16497] lstat("/usr/bin/msc.exe", 0x7fff7fd37ff0) = -1 ENOENT (No such file or directory)
[pid 16497] access("/usr/bin", F_OK)    = 0
[pid 16497] write(1, "\t", 1)           = 1
[pid 16497] write(1, "\t", 1)           = 1
[pid 16497] write(1, "\t", 1)           = 1
[pid 16497] write(1, "Task \"Csc\" execution -- FAILED\n", 31) = 31

I suspect "msc" is a typo for "mcs" in https://src.fedoraproject.org/rpms/mono/blob/master/f/mono-5.18.0-use-msc.patch.  Will try to rebuild mono with that changed...

Comment 2 Peter Oliver 2019-04-15 15:18:22 UTC
New error:

CSC: error CS0518: The predefined type `System.Object' is not defined or imported
CSC: error CS0518: The predefined type `System.ValueType' is not defined or imported
CSC: error CS0518: The predefined type `System.Attribute' is not defined or imported
CSC: error CS0518: The predefined type `System.Int32' is not defined or imported
CSC: error CS0518: The predefined type `System.UInt32' is not defined or imported
CSC: error CS0518: The predefined type `System.Int64' is not defined or imported
CSC: error CS0518: The predefined type `System.UInt64' is not defined or imported
CSC: error CS0518: The predefined type `System.Single' is not defined or imported
CSC: error CS0518: The predefined type `System.Double' is not defined or imported
CSC: error CS0518: The predefined type `System.Char' is not defined or imported
CSC: error CS0518: The predefined type `System.Int16' is not defined or imported
CSC: error CS0518: The predefined type `System.Decimal' is not defined or imported
CSC: error CS0518: The predefined type `System.Boolean' is not defined or imported
CSC: error CS0518: The predefined type `System.SByte' is not defined or imported
CSC: error CS0518: The predefined type `System.Byte' is not defined or imported
CSC: error CS0518: The predefined type `System.UInt16' is not defined or imported
CSC: error CS0518: The predefined type `System.String' is not defined or imported
CSC: error CS0518: The predefined type `System.Enum' is not defined or imported
CSC: error CS0518: The predefined type `System.Delegate' is not defined or imported
CSC: error CS0518: The predefined type `System.MulticastDelegate' is not defined or imported
CSC: error CS0518: The predefined type `System.Void' is not defined or imported
CSC: error CS0518: The predefined type `System.Array' is not defined or imported
CSC: error CS0518: The predefined type `System.Type' is not defined or imported
CSC: error CS0518: The predefined type `System.Collections.IEnumerator' is not defined or imported
CSC: error CS0518: The predefined type `System.Collections.IEnumerable' is not defined or imported
CSC: error CS0518: The predefined type `System.IDisposable' is not defined or imported
CSC: error CS0518: The predefined type `System.IntPtr' is not defined or imported
CSC: error CS0518: The predefined type `System.UIntPtr' is not defined or imported
CSC: error CS0518: The predefined type `System.RuntimeFieldHandle' is not defined or imported
CSC: error CS0518: The predefined type `System.RuntimeTypeHandle' is not defined or imported
CSC: error CS0518: The predefined type `System.Exception' is not defined or imported
                        Task "Csc" execution -- FAILED

Comment 3 Timotheus Pokorra 2019-04-18 04:46:30 UTC
I am sorry about the typo msc vs mcs. I am about to fix that in the mono package, I did not notice it before.

For the other errors, predefined type not defined or imported: I think you need to set the TargetFrameworkVersion to v4.5

Comment 4 Timotheus Pokorra 2019-04-27 05:28:38 UTC
Created attachment 1559467 [details]
use TargetFrameWork v4.7.1

I have fixed the msc vs mcs in Rawhide, and will create an update for F30.

I looked at the TargetFrameworkVersion, and it seems, for Mono 5.18 we need to switch to v4.7.1

See my attached patch, that makes keepass work for Rawhide.

Comment 5 Timotheus Pokorra 2019-04-27 05:40:35 UTC
Somehow, the Mono 5.18 is not clean: we have directories /usr/lib/mono/4.7.1-api and /usr/lib/mono/4.5

We probably should rename /usr/lib/mono/4.5 to /usr/lib/mono/4.7, and create symbolic links so that 4.5 points to 4.7 and 4.5-api points to 4.7.1-api

That way we don't need to update all rpm packages depending on Mono.

What do you think?

Comment 6 Peter Oliver 2019-04-27 13:03:56 UTC
I don’t really know enough about .NET and Mono to say.  If it’s okay to do that, and if we’re always going to need to build against the latest framework version, would it make sense have something like the following in all of our RPM specs?

xbuild … /property:TargetFrameworkVersion=v$(ls /usr/lib/mono/*-api | cut -d/ -f5 | cut -d- -f1 | sort -Vr | head -1)

We could provide that via a new RPM macro, %{mono_framework_version}, for example.

Comment 7 Timotheus Pokorra 2019-04-30 04:39:34 UTC
A new RPM macro would probably be the cleanest way.
But I don't have the time to get that through, since we still would need to change all packages.
So I went for the symbolic link, I guess that is ok for the moment.
If someone wants to do the clean way, he/she is welcome to work on it :)


Note You need to log in before you can comment on or make changes to this bug.