Installing CruiseControl.Net 1.8 on OS X Lion breaks immediately because of NAnt - cruisecontrol.net

I am trying to install CruiseControl.Net v1.8 on OS X Lion. I have the latest release of mono installed (2.10.9). I run:
sh build-all.sh
The build starts but immediately fails with the following error:
BUILD FAILED
../ccnet.build(47,3):
Target framework could not be changed. mono-4.0 is not a valid framework identifier. Valid values are: mono-2.0, moonlight-2.0, mono-1.0, mono-3.5.
Total time: 0.1 seconds.
I have not previously installed NAnt or CruiseControl.Net on this machine. I heard online that supposedly the newest version of NAnt does not have this problem, so I downloaded the latest version and replaced everything in CruiseControl.Net's Tools/NAnt folder with the contents of the newly downloaded NAnt's bin folder. After I did that and ran the build again I received the following error:
Williams-MacBook:CruiseControl.NET-1.8.0.0.source williamkeen [(no branch)] $ sh build.sh
Buildfile: file:///Users/williamkeen/Downloads/CruiseControl.NET-1.8.0.0.source/ccnet.build
Target framework: Mono 2.0 Profile
Target(s) specified:
[property] Target framework changed to "Mono 4.0 Profile".
BUILD FAILED
Target '' does not exist in this project.
Total time: 0.2 seconds.
Looking online some more I found that this was supposedly a guaranteed fix with CC.Net 1.6. Any help would be appreciated. I'm at the end of the road here, I have no idea what to try next.

Related

Maven Release plugin not working properly in Windows 10 but works fine on Macbook Pro

I have been happily using the mvn release:prepare command on my Macbook pro for some time and really like it. Unfortunately, due to circumstances, I need the projects to be maintained on a Windows 10 machine. After cloning a project (where release:prepare worked fine) and doing a release:prepare, I now get an error that the pom.xml cannot be found:
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (<XXXXX>). Please verify you invoked Maven from the correct directory. -> [Help 1]
This is correct because <XXXXX> is a different directory than where I execute the maven command. I have tried to forcibly set the location of the pom.xml file using the following line in the configuration of the release plugin:
<pomFileName>${project.basedir}\pom.xml<pomFileName>
This does not solve my issue. Am I the only one that has this problem on Windows 10?
I am using:
maven version: 3.6.3
release plugin version: 2.5.3
java version: 11.0.17
Weirdest part is that mvn release:clean works fine.
I am not sure if this is a release plugin issue because when running the following maven goal it has a similar problem. The tests fail because it cannot find file in the project folder (folder the command is executed in)
mvn clean verify
I was expecting the release:prepare goal to work the same on Windows 10 as it did on MacOS.

Getting a .app instead of .ipa as final artifact from cmake

TL;DR
My question is : How can CMake be used to build an IPA? currently we are getting a .app artifact as final product, Does CMake have the required commands or targets to do this ? Earlier we were using XCodebuild -exportArchive option for same.
I am trying to port an iOS application from Qt5 (build with Qmake) to Qt6 (build with Cmake), and I have successfully completed compilation and linking stages.
I am getting an archive as App.app instead of an expected App.ipa
commands used to build app
cmake -H. -Bbuildxcode -DCMAKE_PREFIX_PATH=/Users/cybercraft/Qt/6.2.4/ios -DCMAKE_TOOLCHAIN_FILE=../ios.toolchain.cmake -DPLATFORM=OS64 -DENABLE_BITCODE=NO -GXcode
cmake --build buildxcode
I have a bash script that does build an ipa with Qt5.12.11, I've compared the xproj files (from both bash build and cmake build) side by side for every setting, didnt find any difference for packaging/signing.
    Building ipa directly from command line using XCodebuild -exportArchive didnt work as well, producing same .app instead of .ipa.
I'm new to cmake and iOS development, am I missing something critical?
I have added my CMakeLists.txt file here [ https://pastebin.com/VD2DxHNi ]
ios.toolchain.cmake is taken from [ https://github.com/leetal/ios-cmake ]
My info.plist file here [https://pastebin.com/qcrd6Fdy ]
My export.plist file here [ https://pastebin.com/eJiVnwFt ]
screenshot of compilation process "with build successfull" [ https://imgur.com/a/97PCXeZ ]
Build environment Details:
Qt version: 5.12.11
qmake version: 3.1
MacOs version: 12.6 (Monterey, M1 2020)
Xcode version: 14.0.1 (14A400)
xcodebuild version: 14.0.1 (14A400)
cmake version: 3.24.2
boost version: 1.80.0
I've already followed few online suggestions and solutions mentioned in forums, but none of them worked, if you want me to add thoses, I'll add them too, just let me know if it helps.
although my question could possibly be a duplicate of Creating an .ipa from .app for iOS using CMake still hoping to find some solutions.
Xcode creates archive instead of IPA and
Get ipa from Xcode didnt help as well.
Regards.

Unable to find msbuild after building Mono 6.10 on linux

Yeah there's a need for me to build MS project on Linux.
I've download Mono from their offical website and built on Ubuntu 16. But when I want to use msbuild ,I found this tool didn't exist.
After my "make && make install", the folder of msbuild in Mono is:
hololqq#hololqq-virtual-machine:/opt/mono/lib/mono/msbuild$ ls
Current
Compare to the Mono installed by using apt-get , the folder should be:
hololqq#hololqq-virtual-machine:/usr/lib/mono/msbuild$ ls
15.0 Current
It's strange because the document : https://www.mono-project.com/docs/about-mono/releases/6.10.0/ has said that they just update msbuild:
19662 - [2019-12] Bump msbuild to track mono-2019-12
So I'm confused with this situation. Is anything else I forget while building? Or just the source codes of Mono didn't contain msbuild? Appericiate for your any suggestion.
PS:I have used monodevelop and xbuild. And monodevelop isn't easy to build from source code, and xbuild has some bugs while compiling VS peojects.
Update:
Finally still has no useful way. I use xbuild instead(it has a bug that you need to run it twice, because the first build won't success).

Installing WAS 7 on Linux using command line

I am trying to install WAS7 using command line via putty and I am getting the following error:
[root#TVMSLD tools]# ./imcl install com.ibm.rational.was.v70.extension_1.0.0.20080911_1339 -repositories /home/admin/Softwares/WAS7.0/WAS70 -installationDirectory /opt/IBM/WebSphere/AppServer/V70/BASE -sharedResourcesDirectory /opt/IBM/InstallationManager/IMShared -acceptLicense -showProgress
25% 50% 75% 100%
------------------|------------------|------------------|------------------|
............................................................................
ERROR: The installation package 'IBM® WebSphere® Application Server Version 7.0 Test Environment' requires components supplied by other packages.
The required components might be supplied by the specified features of the following installation packages:
Package: Rational Application Developer 7.5.0 -- Features: Tools for WebSphere® Application Server, version 7.0
I tried the command with repository path like /home/admin/Softwares/WAS7.0/WAS70/disk1 and also /home/admin/Softwares/WAS7.0/WAS70/disk1/diskTag.inf
But I am getting the same error. Can anyone help please?
This is not standalone server, but test environment provided with Rational Application Developer. It can only be installed via RAD installation together with RAD.
See more info about the standalone developers version here.

TeamCity NUnitLauncher running on Linux (mono) gives "Corlib not in sync with this runtime" error

Running a TeamCity build agent to run NUnit tests on Ubuntu 14.04 LTC with the latest build of mono appears to have some dependency issues that I cant for the life of me solve.
I have followed the following installation steps
Mono Installation Steps for 4.0.1
Team City Build Agent
When the TC Build Agent starts the NUnit step, it simply fails, and looking at the logs shows it executes
/usr/bin/mono-sgen /home/ubuntu/buildAgent/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe
which promptly returns with
Corlib not in sync with this runtime: expected corlib version 117, found 111.
Loaded from: /usr/lib/mono/4.0/mscorlib.dll
Download a newer corlib or a newer runtime at http://www.mono-project.com/download.
Is there any possible way to get this to work? I have tried removing all the pieces and re-installing again and even installing a older version of mono build but to no avail.
The TC connection appears to work and I can manually invoke and call mono on its own and even nunit-console however this .exe build provided by TC seems to have be stumped as linux non-expert.
Please save me from dependency hell!!
Edit: I ended up just solving my problem by installing nunit-console and enabling the XML Report processing build feature rather than play around with the corelib files and break something else.
This is a Mono bug, see https://bugzilla.xamarin.com/show_bug.cgi?id=34675.
The problem is that Mono moved to providing the 4.0 assemblies, including mscorlib.dll, only in form of reference assemblies. They contain only metadata and are intended for the compiler. Normally applications just use the newest version automatically.
The loader code in Mono however wasn't updated to bind forward an explicit runtime version of v4.0.20506 or v4.0.30128 which TeamCity is using in their .exe.config files to the latest version. The runtime instead tries to load mscorlib.dll from the 4.0 directory and bails as the version is too old (it's from the time the reference assemblies were generated).
As a workaround, you can edit <build agent
installdir>/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe.config (and other .exe.config files)
and remove the following lines:
<supportedRuntime version="v4.0.20506"/>
<supportedRuntime version="v4.0.30128"/>
This might stop working once TeamCity decides to update the plugin though.
Replacing the mscorlib version is only asking for trouble - i.e. TypeLoadException's and friends are waiting around the corner to get you.
What I did was replace the Teamcity build step with a manual invocation of the TC NunitLauncher, but forcing it to use Mono 4.5:
mono --runtime=4.5 /Applications/buildAgent/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe v4.0 MSIL NUnit-2.6.3 $(find **/bin/Release/*Tests.dll | paste -sd ";" -)
The invocation uses some shell trickery to find all assemblies I'm interested in using a wildcard, but other than that should be straightforward to understand.
It would be nice if Mono fixed their broken 4.0 runtime. Anyone already reported it on https://bugzilla.xamarin.com/ ?
This is how I worked around it : (note my mono is in /opt/mono)
$ cd /opt/mono/lib/mono
$ sudo mv 4.0 __4.0
$ sudo ln -s 4.5 4.0
i.e get rid of the 4.0 folder and symlink the 4.5 to be 4.0
This is something of a hack but it got me up and running until a proper fix surfaces!
Steve
I had this problem on my Raspberry Pi after compiling 4.0.2 but it was loading from /4.5/
This got me going:
sudo mv /usr/lib/mono/4.5/mscorlib.dll /usr/lib/mono/4.5/_old_mscorlib.dll
sudo cp /opt/mono-4.0.2/lib/mono/4.5/mscorlib.dll /usr/lib/mono/4.5

Resources