Re: [Avogadro-devel] Fwd: A final 1.2 Windows binary?

2016-06-09 Thread Patrick Avery
Thank you, Marcus. It looks as though it is indeed an SSL issue, and it
appears as though I'm getting close to solving the problem. I got it to
work on my own personal computer - which is good. However, I haven't gotten
it to work on other computers as of yet.

I compiled OpenSSL, and I recompiled Qt 4.8.6 making sure SSL options were
enabled (and I linked the openssl libraries and included the openssl
include file). The QtNetwork4.dll grew about 200 kB in size (I believe
indicating the added SSL features). With all of that done, the network
features with those servers started working on my computer - as long as I
had libeay32.dll and ssleay32.dll in my PATH. I manually added them to the
install for now (for testing) to the AvoCPack.cmake:

  file (GLOB libeay_DLL "C:/usr/local/ssl/bin/libeay32.dll")
  file (GLOB ssleay_DLL "C:/usr/local/ssl/bin/ssleay32.dll")
  install(FILES ${libeay_DLL} DESTINATION bin)
  install(FILES ${ssleay_DLL} DESTINATION bin)

However, despite all of this, it doesn't seem to be working yet on the
Windows 7 computer I have here. On the Windows 7
computer, QSslSocket::supportsSsl() still returns true now despite the
https stuff not working (http://doc.qt.io/qt-4.8/qsslsocket.html#supportsSsl
).

I'm not entirely sure where to go from here. I'm going to try to recompile
Qt with the "-openssl-linked" flag (http://doc.qt.io/qt-4.8/ssl.html) to
see if that fixes it. Compiling Qt takes a while, though...

On Wed, Jun 8, 2016 at 8:20 PM, Marcus D. Hanwell <
marcus.hanw...@kitware.com> wrote:

> I can confirm that this used to work on Windows before the server
> changes. I built those binaries, but I also demonstrated the feature
> on a number of Windows machines. I think it is simply an SSL issue,
> and after a quick search found,
>
> http://stackoverflow.com/questions/3516143/qt-ssl-support-missing
>
> We had similar issues with CMake too, where the default binary did not
> distribute with SSL enabled due to export issues (i.e. mainly the US
> government defining strong encryption as a munition subject to export
> controls).
>
> I would suspect that this is the main cause, but it is not something
> that was ever a concern back then - few services used SSL. It looks
> like we would need to find and add Windows SSL DLLs to the
> distribution on Windows.
>
> On Wed, Jun 8, 2016 at 4:42 PM, Geoffrey Hutchison 
> wrote:
> > I'm stumped. I had network fetch problems on Mac, but the issue was
> > redirects from HTTP -> HTTPS. That's fixed.
> >
> > I'm not sure where the problem would be for Windows..
> >
> >
> > From: Patrick Avery 
> >
> > Well, I ran a few tests. From what I can tell, the network features
> haven't
> > worked for a while for Windows. We have a lab laptop that runs Windows 7
> on
> > it. My personal laptop has Windows 10.
> >
> > I tested both Avogadro 1.2.0 and Avogadro 1.1.1 via this link:
> >
> http://sourceforge.net/projects/avogadro/files/avogadro/1.1.1/Avogadro-1.1.1-win32.exe/download
> >
> > Neither the IUPAC name nor the import molecule by chemical name worked
> for
> > any combination (Windows 7 Avogadro 1.1.1, Windows 7 Avogadro 1.2.0,
> Windows
> > 10 Avogadro 1.1.1, and Windows 10 Avogadro 1.2.0).
> >
> > So yeah, it doesn't look like the network features have been working for
> > Windows for a while. Perhaps no one noticed because most Windows users
> don't
> > use the network features...
> >
> > Oh, and the urls do use https except for this one:
> >
> https://github.com/cryos/avogadro/blob/50bef6066f81734f62f94e1b2ab06c34b9680dee/libavogadro/src/extensions/networkfetchextension.cpp#L108
> >
> > But that wasn't one I was testing with anyways.
> >
> >
> >
> >
> --
> > What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> > patterns at an interface-level. Reveals which users, apps, and protocols
> are
> > consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> > J-Flow, sFlow and other flows. Make informed decisions using capacity
> > planning reports.
> https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
> > ___
> > Avogadro-devel mailing list
> > Avogadro-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/avogadro-devel
> >
>
>
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> patterns at an interface-level. Reveals which users, apps, and protocols
> are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
> ___
> Avogadro-devel mailing list
> Avogadro-devel@lists.sourceforge.net
> 

Re: [Avogadro-devel] Avo2 - Downloading from GitHub

2016-06-09 Thread Marcus D. Hanwell
On Thu, Jun 9, 2016 at 1:25 PM, Geoffrey Hutchison
 wrote:
>> GNU Octave can download and compile its C++ packages automatically.
>> Perhaps it can serve as an example?
>
> My concern is this requires a C++ compiler from the end-user. On Mac and 
> Windows in particular, that’s not very common.
>
> Moreover, while we've offered nice C++ APIs for Avo1, I think the pool of 
> Python programmers is greater in science than those who know C++.
> (Indeed, the APIs in Avo2 could probably be ported to other languages too - 
> we're mostly running scripts as separate processes.)
>
Yes, my vision was to go beyond prescribing the language they wrote
extensions in. Python is a great start, but anything is acceptable as
they execute in their own process.

I wonder if we might either use the GitHub APIs, or simply call the
git command line to clone/update. This is what Qt Creator does, and we
would simply need to ask the user to install git/point us at it. We
call obabel like that too.

Marcus

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
___
Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel


Re: [Avogadro-devel] Avo2 - Downloading from GitHub

2016-06-09 Thread Marcus D. Hanwell
On Thu, Jun 9, 2016 at 1:57 PM, Geoffrey Hutchison
 wrote:
>> I wonder if we might either use the GitHub APIs
>
> We can definitely use the GitHub API via HTTP. The catch is this ties us to 
> GitHub a bit more, while using Git directly makes it easier to point at 
> multiple repositories.
>
> It's pretty easy to walk the JSON from the API, e.g.
> https://api.github.com/repos/cryos/avogadro/contents/crystals?ref=master

It also makes it pretty easy to add other RESTful endpoints, and they
can be backed by whatever people choose. Calling git or other tools
from the command line would let us clone/update without committing
entirely to git.

I feel like expanding out interaction with RESTful services is a good
general direction, GitHub provides one endpoint but it is not the only
one.

My $0.02 on it...

Marcus

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
___
Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel


Re: [Avogadro-devel] Avo2 - Downloading from GitHub

2016-06-09 Thread Geoffrey Hutchison
> I wonder if we might either use the GitHub APIs

We can definitely use the GitHub API via HTTP. The catch is this ties us to 
GitHub a bit more, while using Git directly makes it easier to point at 
multiple repositories.

It's pretty easy to walk the JSON from the API, e.g.
https://api.github.com/repos/cryos/avogadro/contents/crystals?ref=master

-Geoff
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
___
Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel


Re: [Avogadro-devel] Avo2 - Downloading from GitHub

2016-06-09 Thread Geoffrey Hutchison
> GNU Octave can download and compile its C++ packages automatically.
> Perhaps it can serve as an example?

My concern is this requires a C++ compiler from the end-user. On Mac and 
Windows in particular, that’s not very common.

Moreover, while we've offered nice C++ APIs for Avo1, I think the pool of 
Python programmers is greater in science than those who know C++.
(Indeed, the APIs in Avo2 could probably be ported to other languages too - 
we're mostly running scripts as separate processes.)

-Geoff
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
___
Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel


Re: [Avogadro-devel] Avo2 - Downloading from GitHub

2016-06-09 Thread Jure Varlec
On Wed, 8 Jun 2016 16:15:40 -0400
Geoffrey Hutchison  wrote:

> The problem, of course, was that compiled C++ is hard to distribute
> in a cross-platform way.

GNU Octave can download and compile its C++ packages automatically.
Perhaps it can serve as an example?

Regards
Jure


--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
___
Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel