Wireshark-dev: Re: [Wireshark-dev] [Wireshark-commits] master 5b62526: OK, try cmake -E copy.

From: Evan Huus <eapache@xxxxxxxxx>
Date: Fri, 6 Feb 2015 13:17:11 -0500
A combination of `make clean`, `rm -rf run`, and `cmake .` seems to
have done the trick, thanks for the suggestions.

On Fri, Feb 6, 2015 at 12:25 PM, Gerald Combs <gerald@xxxxxxxxxxxxx> wrote:
> Can you try building from scratch? This might be due to g2cae320 and
> gdeabe64, which enabled then disabled running osx-app.sh on the
> application bundle. osx-app.sh runs macdeployqt and install_name_tool,
> both of which rewrite library paths.
>
> I was hoping to bring the OS X build in line with the Windows build,
> which is 1) portable, and 2) impervious to QTBUG-15234. Unfortunately
> osx-app.sh slows down the build and leaves wireshark-gtk unusable.
>
> [1] Qt loads shared libraries from hard-coded paths.
> https://bugreports.qt.io/browse/QTBUG-15234.
>
> On 2/6/15 7:21 AM, Evan Huus wrote:
>> The last few days (possibly correlating with this commit or with some
>> other cmake change) my out-of-tree cmake build on OSX has failed to
>> launch the qt gui:
>>
>> ---
>> Application Specific Information:
>> abort() called
>>
>> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
>> 0   libsystem_kernel.dylib            0x00007fff8c7b6286 __pthread_kill + 10
>> 1   libsystem_c.dylib                 0x00007fff8e5aab53 abort + 129
>> 2   org.qt-project.QtCore             0x00000001140a9159
>> qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&)
>> + 9
>> 3   org.qt-project.QtCore             0x00000001140aa611
>> QMessageLogger::fatal(char const*, ...) const + 161
>> 4   org.qt-project.QtGui              0x0000000113afb307
>> QGuiApplicationPrivate::createPlatformIntegration() + 6359
>> 5   org.qt-project.QtGui              0x0000000113afb32b
>> QGuiApplicationPrivate::createEventDispatcher() + 27
>> 6   org.qt-project.QtCore             0x00000001142c4b11
>> QCoreApplication::init() + 113
>> 7   org.qt-project.QtCore             0x00000001142c4a87
>> QCoreApplication::QCoreApplication(QCoreApplicationPrivate&) + 39
>> 8   org.qt-project.QtGui              0x0000000113af879e
>> QGuiApplication::QGuiApplication(QGuiApplicationPrivate&) + 14
>> 9   org.qt-project.QtWidgets          0x00000001131cf3be
>> QApplication::QApplication(int&, char**, int) + 206
>> 10  org.wireshark.Wireshark           0x000000010dedb7d1
>> WiresharkApplication::WiresharkApplication(int&, char**) + 33
>> (wireshark_application.cpp:478)
>> 11  org.wireshark.Wireshark           0x000000010dd39512 main + 690
>> (wireshark-qt.cpp:629)
>> 12  libdyld.dylib                     0x00007fff8d2125c9 start + 1
>> ---
>>
>> When I launch it by hand:
>>
>> ---
>> objc[16899]: Class NotificationReceiver is implemented in both
>> /usr/local/opt/qt5/lib/QtWidgets.framework/Versions/5/QtWidgets and
>> /Users/eapache/src/wireshark.org/build/run/Wireshark.app/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets.
>> One of the two will be used. Which one is undefined.
>> objc[16899]: Class QCocoaPageLayoutDelegate is implemented in both
>> /usr/local/opt/qt5/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport
>> and /Users/eapache/src/wireshark.org/build/run/Wireshark.app/Contents/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport.
>> One of the two will be used. Which one is undefined.
>> objc[16899]: Class QCocoaPrintPanelDelegate is implemented in both
>> /usr/local/opt/qt5/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport
>> and /Users/eapache/src/wireshark.org/build/run/Wireshark.app/Contents/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport.
>> One of the two will be used. Which one is undefined.
>> QObject::moveToThread: Current thread (0x7fcaf9d1c9f0) is not the
>> object's thread (0x7fcaf9c1e380).
>> Cannot move to target thread (0x7fcaf9d1c9f0)
>>
>> On Mac OS X, you might be loading two sets of Qt binaries into the
>> same process. Check that all plugins are compiled against the right Qt
>> binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of
>> binaries are being loaded.
>> This application failed to start because it could not find or load the
>> Qt platform plugin "cocoa".
>>
>> Available platform plugins are: cocoa.
>>
>> Reinstalling the application may fix this problem.
>> ---
>>
>> So it looks like the build is now copying files into the frameworks
>> folder and the app doesn't know which lib to pick?
>>
>> On Wed, Feb 4, 2015 at 7:47 PM, Wireshark code review
>> <code-review-do-not-reply@xxxxxxxxxxxxx> wrote:
>>> URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=5b6252654f173a79e5f4c31f9d584cc3870df1da
>>> Submitter: Guy Harris (guy@xxxxxxxxxxxx)
>>> Changed: branch: master
>>> Repository: wireshark
>>>
>>> Commits:
>>>
>>> 5b62526 by Guy Harris (guy@xxxxxxxxxxxx):
>>>
>>>     OK, try cmake -E copy.
>>>
>>>     It didn't fail with cp, so maybe that's just random luck, or maybe the
>>>     built-in copy functions have an issue, or maybe just copy_if_different
>>>     has an issue (64-bit inode number issues?).  Try just copy, and see what
>>>     happens.
>>>
>>>     Change-Id: I84abf3846af9305c19ad4a78d5c9df31b1e1e61e
>>>     Reviewed-on: https://code.wireshark.org/review/6961
>>>     Reviewed-by: Guy Harris <guy@xxxxxxxxxxxx>
>>>
>>>
>>> Actions performed:
>>>
>>>     from  a2e48c6   On OS X, temporarily use cp to install some files.
>>>     adds  5b62526   OK, try cmake -E copy.
>>>
>>>
>>> Summary of changes:
>>>  CMakeLists.txt |    2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>> ___________________________________________________________________________
>>> Sent via:    Wireshark-commits mailing list <wireshark-commits@xxxxxxxxxxxxx>
>>> Archives:    http://www.wireshark.org/lists/wireshark-commits
>>> Unsubscribe: https://wireshark.org/mailman/options/wireshark-commits
>>>              mailto:wireshark-commits-request@xxxxxxxxxxxxx?subject=unsubscribe
>> ___________________________________________________________________________
>> Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
>> Archives:    http://www.wireshark.org/lists/wireshark-dev
>> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>>              mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
>>
>
> ___________________________________________________________________________
> Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
> Archives:    http://www.wireshark.org/lists/wireshark-dev
> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>              mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe