gmrandazzo / homebrew-gmr

Homebrew Tap for Data Analysis tools
0 stars 0 forks source link

Qtiplot installation fails #1

Closed Chris959 closed 7 years ago

Chris959 commented 8 years ago

OS: OSX 10.11.6 El Capitan I tap this repository, and use two commands to install Qtiplot:

brew tap gmrandazzo/homebrew-gmr brew install qtiplot

After everything is done, I found all dependent packages in /usr/local/Cellar/ , except qtiplot. What's happened? I check the "02.make" file, but it did not show any error message. There are some lines which might be problem:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libqwt.a(qwt_double_rect.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libqwt.a(qwt_paint_buffer.o) has no symbols ranlib -s libqwt.a /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libqwt.a(qwt_double_rect.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libqwt.a(qwt_paint_buffer.o) has no symbols rm -f ../lib/libqwt.a mv -f libqwt.a ../lib/

But I don't think the above messages are related to this fail installation, please help me.

gmrandazzo commented 8 years ago

Dear Chris959, thanks for the bug report. Qtiplot must be also in /usr/local/Cellar. Probably something went wrong during the qtiplot code compilation.

In order to help you, which version of OSX and clang are you using?

Sincerelly

Chris959 commented 8 years ago

Dear Gmrandazzo,

The installation environment is as below:

OS: OSX 10.11 El Capitan Xcode:

Clang:

I used "brew doctor" and try to fix the errors, such as the outdated CLT, because I saw the below error message after I updated my Xcode to its version 8.0:

Warning: You have Xcode 8 installed without the CLT; this causes certain builds to fail on OS X El Capitan (10.11). Please install the CLT via: sudo xcode-select --install

Look weird.... because I used Mac App store to update my Xcode, the version of new CLT can be seen in the Xcode preference window. I've already solved this with "xcode-select --install" to install again (under normal, non-administrative user account).

Finally, I got the only one error message (output of "brew doctor"), but I don't think it would cause this issue:

Warning: Python is installed at /Library/Frameworks/Python.framework

Homebrew only supports building against the System-provided Python or a brewed Python. In particular, Pythons installed to /Library can interfere with other software installs.

Basically, the issue is still happening. I tried several times, but Qtiplot has never existed in that folder (/usr/local/Cellar/). If there's any other information you need, please let me know.

Thank you for your reply.

Regards, Chris

gmrandazzo commented 8 years ago

Dear Chris,

thanks for your reply. It is very strange what happen to you. It seems that everything is correct. Now i'm on osx Sierra, and i've recompiled qtiplot without any problem.

Now, can i suggest to install one by one these packages using the verbose flag? brew -v reinstall qt --with-qt3support brew -v reinstall qt-assistant-compat brew -v reinstall alglib brew -v reinstall gsl brew -v reinstall liborigin2 brew -v reinstall libpng brew -v reinstall muparser brew -v reinstall quazip brew -v reinstall sip brew -v reinstall pyqt brew -v reinstall tamuanova brew -v reinstall qtiplot

Then if you get some compilation error we can try to fix it.

Bests GMR

Chris959 commented 8 years ago

Dear gmrandazzo

I just tried to reinstall them in turn, but some error happened to the first ones.

/private/tmp/qt-20161009-8019-pnw4bl/qt-everywhere-opensource-src-4.8.7/config.tests/mac/xcodeversion.cpp:54:20: warning: 'LSFindApplicationForInfo' is deprecated: first deprecated in macOS 10.10 - Use LSCopyApplicationURLsForBundleIdentifier instead. [-Wdeprecated-declarations] OSStatus err = LSFindApplicationForInfo(0, CFSTR("com.apple.Xcode"), 0, 0, &cfurl); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LSInfoDeprecated.h:785:1: note: 'LSFindApplicationForInfo' has been explicitly marked deprecated here LSFindApplicationForInfo( ^ 1 warning generated.

In file included from ../../../3rdparty/phonon/qt7/quicktimevideoplayer.mm:18: ../../../3rdparty/phonon/qt7/quicktimevideoplayer.h:23:9: fatal error: 'QTKit/QTDataReference.h' file not found

import <QTKit/QTDataReference.h>

mv -f libqtaccessiblewidgets.dylib ../../../../plugins/accessible/ make: *\ [sub-plugins-make_default-ordered] Error 2

Error: qt 4.8.7 did not build Logs: /Users/apple/Library/Logs/Homebrew/qt/01.configure /Users/apple/Library/Logs/Homebrew/qt/01.configure.cc /Users/apple/Library/Logs/Homebrew/qt/02.make /Users/apple/Library/Logs/Homebrew/qt/02.make.cc

These open issues may also help: qt 5.7.0 update https://github.com/Homebrew/homebrew-core/pull/5619 Transition formulae to Qt 5 https://github.com/Homebrew/homebrew-core/issues/1705

So, should I update qt to version 5.7.0 or update OS to macOS Sierra??!! I think it's better to fix this before trying the next ones, do you have any suggestion?

Regards, Chris

gmrandazzo commented 8 years ago

Dear Chris,

qtiplot is projected to work with qt4 and not qt5. So an upgrade to qt5 does not solve your problem. However, we will try to solve this problem.

At this time there is only this post regarding the error https://github.com/PixarAnimationStudios/USD/issues/60

It seems that osx sierra has deprecated quicktime, thus QTKit is not working.

I will try to solve this problem in this week.

Best regards, GMR

JMB-Scripts commented 8 years ago

I made the silly mistake to update xcode, macos, brew, qt and lost my qtiplot .... I got similar errors than Chris thanks (again) Giuseppe to try to fix it... Cheers JM

gmrandazzo commented 8 years ago

Dear all, just to inform you, at this time I'm able  to compile qt4 with the new xcode. You have just add as compilation arguments -no-phonon-backend which is a back end plugin of QuickTime in QT (now deprecated from Sierra). So... The only problem is the qwt 3dparty libraries which are not compiling... I will try to fix it as soon as possible.

Best regards Gmr ​

On Oct 15, 2016, 3:23 PM, at 3:23 PM, jeanmariebourhis notifications@github.com wrote:

I made the silly mistake to update xcode, macos, brew, qt and lost my qtiplot .... I got similar errors than Chris thanks (again) Giuseppe to try to fix it... Cheers JM

You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/gmrandazzo/homebrew-gmr/issues/1#issuecomment-253984019

Chris959 commented 8 years ago

Dear Gmrandazzo,

Just report to you, I updated my OS to Sierra and tried to install it, but failed again (I naively think that it could be solved if I update my OS to the same version as yours). It is really frustrating, sigh. Do you find the possible solution? Thank you again.

Regards, Chris

dukechem commented 8 years ago

Possible solution: here's an ugly hack to build qtiplot against gsl-version1 instead of gsl (because gsl is newest version 2). This is just a proof of one trick that works, but it not a permanent solution. So, instead of doing this, you may want to wait to see if gmr can update the qtiplot.rb formula to use gsl1 instead of gsl (which is version 2).

brew unlink gsl brew install homebrew/versions/gsl1 brew unlink gsl1 mv /usr/local/Cellar/gsl /usr/local/Cellar/gsl2 mv /usr/local/Cellar/gsl1 /usr/local/Cellar/gsl brew link gsl (actually links gsl1 ) brew install qtiplot brew unlink gsl mv /usr/local/Cellar/gsl /usr/local/Cellar/gsl1 mv /usr/local/Cellar/gsl2 /usr/local/Cellar/gsl open /usr/local/Cellar/qtiplot/0.9.8.9/bin/qtiplot.app Help> about says "QtiPlot 0.9.8.9 svn 2288 (c) 2004-2011 Ion Vasilief Released 2011/11/02" At least above worked for me on 10.10.5 but I bet it will work for you. For me I think the build fail had nothing to do with qt4 or the empty symbol warnings: the fail was due to changes in gsl from 1 to 2. That is, look again at your 02.make logfile and I think you'll find 2 errors something like this: error: ‘struct gsl_multifit_fdfsolver’ has no member named ‘J’ Googling seems to suggest this error is caused by using gsl version 2 when version 1 was needed. And so I was able to build qtiplot with above hack to trick qtiplot.rb formula into thinking it was using gsl when actually using gsl1. I tried changing the formula to require homebrew/versions/gsl1 instead of gsl, but got errors saying I needed to link gsl and hence the temporary "mv" hacks above.

P.S. Unrelated subject: Still can't open .opj files. So when I try to open a *.opj (origin project file), I get a message saying that feature is only available in the "pro" edition, and it opens the website when you can buy it. But it is built with "liborigin2", a "library for reading OriginLab Origin 7.5 project files (.opj files). On debian (ubuntu 14.04) with the qtiplot deb package, trying to open a *.opj also generates the same message saying this feature is only avail in pro edition. And debian has been patched many times to fix liborigin2 dependencies. I suspect the qtiplot source code needs to be patched to get rid of the "pro" edition sales pitch and actually use the liborigin2 abilities. The liborigin2 author is Ion Vasilief also writes qtiplot, and some sites suggest he is in violation of the GPL. The windows builds available free also have trouble including the ability to read opj files.

dukechem commented 8 years ago

Also, there are some nearly identical forks to qtiplot available as pre-compiled pkg/dmg files: So a brew cask install would be all that was needed if a formula was made for these two:

http://iweb.dl.sourceforge.net/project/scidavis/SciDAVis/1.14/scidavis-1.14.pkg Released 2016-07-29. Verifed this can open *.opj (from windows origin) on mac-osx.

http://alphaplot.sourceforge.net/test-builds/mac-osx/AlphaPlot0.01-Alpha-pre-release-2.dmg 0.01 alpha pre-release test build 2: 02/05/2016 - Until commit fdf858c (a fork of scidavis). Lofty goals of replacing qwt, q3tree, etc with more up-to-date packages. Won't open opj or sciprj... uses .aproj. For now, .aproj and *.sciprj seem same in most cases except for header line 1.

If you did want build from source, instructions are very similar to qtiplot with much the same dependencies, including gsl1 (not gsl2). So a variation of qtiplot.rb might be used.

Chris959 commented 8 years ago

Thank you so much, Dukechem. (Are you a chemistry guy from Duke university? :P)

Qtiplot is a remarkable project, which deserves to charge, but it would violate GPL based on what you mention.... I am not a developer. Modifying the source codes is beyond my abilities so far. Thank you for your information, and I hope I could make some contribution to free software community in the future.

Chris959 commented 8 years ago

Dear Gmrandazzo,

I found something strange...

OS: macOS 10.12 Sierra

$ brew install qtiplot ==> Auto-updated Homebrew! Updated 1 tap (homebrew/versions). No changes to formulae.

==> Installing qtiplot from gmrandazzo/gmr Error: You must brew link gsl before gmrandazzo/gmr/qtiplot can be installed

And then I run the command "brew link gsl"...

$ brew link gsl Linking /usr/local/Cellar/gsl/2.2.1... Error: Could not symlink bin/gsl-config Target /usr/local/bin/gsl-config is a symlink belonging to gsl1. You can unlink it: brew unlink gsl1

To force the link and overwrite all conflicting files: brew link --overwrite gsl

To list all files that would be deleted: brew link --overwrite --dry-run gsl

So, I followed the instruction...

$ brew unlink gsl1 Unlinking /usr/local/Cellar/gsl1/1.16... 22 symlinks removed $ brew link --overwrite gsl Linking /usr/local/Cellar/gsl/2.2.1... 23 symlinks created $ brew install qtiplot ==> Installing qtiplot from gmrandazzo/gmr Error: You must brew link gsl1 before gmrandazzo/gmr/qtiplot can be installed

Finally I got a dead loop. Probably just a small issue.... Do you know what happened?

gmrandazzo commented 7 years ago

Dear Chris,

i'm just trying to update the build and to fix the error. That's it.. however i have got an other problem. Now i'm trying to find time to solve it.

Best regards

JMB-Scripts commented 7 years ago

did you get any progress ? thanks again jm

gmrandazzo commented 7 years ago

Dear all,

after a deep analysis i realised that qtiplot became obsolete day by day. Thus, i'm thinking to support from now Scidavis which it looks pretty and almost similar to qtiplot, with the great advantage to be currently supported.
For that reason i will rebuild the old working formula for OSX El capitan, and from Sierra i would advice to use SciDavis. In the case of a new qtiplot version, i will update the original formula. With this post i close the thread issue.

Best regards, GMR

JMB-Scripts commented 7 years ago

Thank you

so much anyway

Cheers

JM

Le 30/11/16 à 22:47, Giuseppe Marco Randazzo a écrit :

Dear all,

after a deep analysis i realised that qtiplot became obsolete day by day. Thus, i'm thinking to support from now Scidavis which it looks pretty and almost similar to qtiplot, with the great advantage to be currently supported. For that reason i will rebuild the old working formula for OSX El capitan, and from Sierra i would advice to use SciDavis. In the case of a new qtiplot version, i will update the original formula. With this post i close the thread issue.

Best regards, GMR

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gmrandazzo/homebrew-gmr/issues/1#issuecomment-264005891, or mute the thread https://github.com/notifications/unsubscribe-auth/ATP1fxGnOQQ4vsg_a4ZimFjQprG7pcadks5rDe7ggaJpZM4KRtDN.

Chris959 commented 7 years ago

Dear Gmrandazzo,

Thank you for your work so far, sorry to bother you so long.

Regards, Chris