Hi Robert,

Please try setting

self.subinfo.options.package.disableStriping=True

On the affected blueprint.

Kind regards,

Hannah
________________________________
From: Kde-windows <kde-windows-boun...@kde.org> on behalf of Robert Lancaster 
<rlanca...@gmail.com>
Sent: Sunday, January 29, 2023 01:08
To: KDE on Windows <kde-windows@kde.org>
Subject: MacOS dsymutil issue

Hi KDE and Craft enthusiasts,

An issue happened a month or two ago with one of our 3rd Party Drivers in 
KStars/INDI and it prevented the build from finishing if we build using 
RelWithDebInfo.  I suspect it was some change in Craft, because I do not think 
anything changed in the INDI 3rd Party Repo at that time, but I am not sure.  I 
googled the problem, but I could not easily figure out what was wrong. We 
needed to get KStars released, so we disabled that particular driver from the 
build until we figured out the issue.  I haven’t figured it out yet, though I 
do have some insight that it is somehow related to architectures and debug 
symbols and that it only occurs when you build with RelWithDebInfo but not with 
Release.   The bigger problem is that it has now happened to another driver.  I 
will try to explain the behavior here.  Please let me know if you have any 
insight, know that something changed in craft, or know who I can contact.  Note 
that this will not prevent us from building and releasing KStars since we could 
build using “Release” instead of “RelWithDebInfo”.  I suppose we could also 
disable another driver, but I would prefer to address the issue because I do 
not think this is actually an issue with the driver itself and every time we do 
that, we are preventing KStars users with certain equipment from using KStars, 
not to mention the fact that the hard work of whoever developed each driver 
would not get included in the final version for no good reason.

The issue arises when building with RelWithDebInfo once all the driver 
libraries have finished building and they are in the process of getting 
installed.  Craft is running various commands including install_name_tool, 
dsymutil, strip, and codesign to finalize the installation.   When it gets to 
the driver in question, it tries to run the commands and somehow it fails to 
find a target.  This happens on both my own computer and on the craft server.  
It never happened before a couple of months ago.  Below is an example of the 
issue.  First I have a library that appeared to complete the commands 
successfully.  Then the current one with the issue:


executing command: /Users/rlancaste/AstroRoot/craft-root/bin/dsymutil 
/Users/rlancaste/AstroRoot/craft-root/build/libs/indiserver-3rdparty-libraries/image-RelWithDebInfo-master/lib/libnncam.1.49.1.dylib
 -o 
/Users/rlancaste/AstroRoot/craft-root/build/libs/indiserver-3rdparty-libraries/image-RelWithDebInfo-master-dbg/lib/libnncam.1.49.1.dylib.dSYM
warning: no debug symbols in executable (-arch x86_64)
warning: no debug symbols in executable (-arch i386)
executing command: /usr/bin/strip -x -S 
/Users/rlancaste/AstroRoot/craft-root/build/libs/indiserver-3rdparty-libraries/image-RelWithDebInfo-master/lib/libnncam.1.49.1.dylib
executing command: /usr/bin/codesign -f -s - 
/Users/rlancaste/AstroRoot/craft-root/build/libs/indiserver-3rdparty-libraries/image-RelWithDebInfo-master/lib/libnncam.1.49.1.dylib

executing command: /Users/rlancaste/AstroRoot/craft-root/bin/dsymutil 
/Users/rlancaste/AstroRoot/craft-root/build/libs/indiserver-3rdparty-libraries/image-RelWithDebInfo-master/lib/libPlayerOnePW.1.0.0.dylib
 -o 
/Users/rlancaste/AstroRoot/craft-root/build/libs/indiserver-3rdparty-libraries/image-RelWithDebInfo-master-dbg/lib/libPlayerOnePW.1.0.0.dylib.dSYM
warning: no debug symbols in executable (-arch x86_64)
warning: no debug symbols in executable (-arch arm64)
error: unable to get target for 'arm64-apple-darwin', see --version and —triple.

You can see the same issue on the craft server here:  
https://binary-factory.kde.org/view/MacOS/job/KStars_Nightly_macos/1786/consoleText

Note that I have found that the driver llibPlayerOnePW.1.0.0.dylib is in fact a 
prebuilt binary to start with that has both ARM and intel support.  My computer 
is building using craft on an intel machine and so is building intel binaries.  
I don’t think craft has a setting to build universal binaries, or am I wrong?

Thanks,

Rob

Reply via email to