curl / Mailing Lists / curl-library / Single Mail

curl-library

Re: Old Curl Project

From: Don Landsom <Don.Landsom_at_verizon.net>
Date: Sat, 19 May 2018 00:33:07 -0400

Sorry for more questions. Getting better at building and understanding many of the different versions of Curl including the latest, but far from having s good handle on any of this.

After successfully building the Curl dll and lib files, we run into problems when rebuilding / linking vblibcurl, the wrapper for our VB app.

Depending on which version of Curl being used, either the Curl ‘easy’ functions comes up as unresolved externals, or VB throws and error.

For Curl builds, are their options available to exclude / include the easy functions in the dll?

The VB issue says the vblibcurl wrapper can no longer be located, which we believe to be an erroneous message as the file most certainly does exist. It would seem more likely there’s a compatibility issue between vblibcurl and libcurl throwing an exception that’s improperly being reported as a file not found message.

  ----- Original Message -----
  From: Joel Winarske
  To: libcurl development
  Sent: Friday, May 18, 2018 9:52 AM
  Subject: Re: Old Curl Project

  Hi Don,

  Yeah it can be risky. I've been there :)

  The size will depend on what the build is configured for, as well as encryption libs, and how they're linked. MBedTLS is smaller than OpenSSl, in addition I link to a static MBedTLs, and I have the build config pretty minimal; just enabling SMTP. You may need to change the build options if you need LDAP, etc.

  I use this stack combo for an Alexa client. In which case I only have HTTP2 enabled. It keeps the footprint down.

  Joel

  On Thu, May 17, 2018, 10:18 PM Don Landsom <Don.Landsom_at_verizon.net> wrote:

    Thanks again Joel.

    If there were a contest to see how many erogenous warning and errors that could be generated from developing on an old platform, we might be in the running. From missing declarations from the most basic such as WIN32 to others that have much more of an obscure nature to them. To problems occurring from subsystems like PDSK and LDAP that happen to be insufficient in their library versions, to completely missing libraries and header files. One can sit watching the compiler and or linker scroll volumes of errors for what seems like an eternity.
    Then comes the order in which products must be installed as when attempting to correct issue with say the MS SDK and it’s inability to load while the C redistributable is installed. And don’t even want to get into the OS, and development tool service packs which at times appear to have a desire be loaded and then reloaded as other products are added. After a while you start to feel like a dog that’s chasing his own tail.

    While it did mean leavening all of this behind, thank goodness, moving to the new version was definitely the way to go, thanks for getting us headed in the right direction.

    This is neither here nor there, but I’ve noticed when checking file sizes for Curl dll’s and library files, they seem to be all over the place. Up for some and down in others, which is to be expected as the product grows, but it seems unusual for later releases to be smaller then previous ones. Is this possibly coming from the particular features the Curl version was built with?

    Thanks

      ----- Original Message -----
      From: Joel Winarske
      To: libcurl development
      Sent: Thursday, May 17, 2018 12:48 PM
      Subject: Re: Old Curl Project

      Either should work fine. I just used the most current release for my CMake file.

      Whichever VS version you do use, ensure you have the proper tool chain installed to support XP prior to using CMake.

      On Thu, May 17, 2018 at 9:16 AM, Don Landsom <Don.Landsom_at_verizon.net> wrote:

        Thanks for the help and links. We have no problem going after a build with the latest and greatest. We already have 7.59, but noticed that 7.60 was just recently released. Should we go ahead and grab 60 and work with it instead of 59?

          ----- Original Message -----
          From: Joel Winarske
          To: libcurl development
          Sent: Thursday, May 17, 2018 11:31 AM
          Subject: Re: Old Curl Project

          I just tested the follow work via CMake and VS2015:
          https://gist.github.com/INRIX-joel-winarske/beb8a4a1192d5737fd789f05b22590ca

          Copy CMakeLists.txt to a folder, create a subfolder called build. cd into that, and issue the solution generator command:

              cmake -G"Visual Studio 14 2015" ..

          This does need to be run on the build machine, and note it will have hard coded paths to the build machine.

          Swap out the below string depending on which VS variant you want:
            Visual Studio 14 2015

            Visual Studio 12 2013
            Visual Studio 11 2012
            Visual Studio 10 2010
            Visual Studio 9 2008
            Visual Studio 8 2005

          After that open your selected VS as admin (to allow installation), and open the solution.
          Ensure your target for each project is as you want, then build "BUILD_ALL".

          You may need to right-click solution, and select retarget picking the proper sdk/toolchain for XP.

          Note I am running the generator cmd in a generic windows cmd prompt. Just ensure CMake is in your path.

          Joel

          On Thu, May 17, 2018 at 6:09 AM, Don Landsom <Don.Landsom_at_verizon.net> wrote:

            Joel, Thanks for the XP and VS2015 link, much appreciated.

            As for any preferences towards OpenSSL or any other libraries, we have none with our primary goal being to simply get our interim fix up and running. If Mbedtls makes for an easy drop in replacement for OpenSSL then there would be no objection.
              ----- Original Message -----
              From: Joel Winarske
              To: libcurl development
              Sent: Thursday, May 17, 2018 8:48 AM
              Subject: Re: Old Curl Project

              Hi Don,

              You can Target XP with visual studio 2015. Clues found here: https://msdn.microsoft.com/en-us/library/jj851139.aspx

              CMake has supported VS2015 solution generation for a while. I would avoid OpenSSL hair pulling and use Mbedtls with the latest curl release, unless there is something particular you're using in OpenSSL, that Mbedtls doesn't have.

              Joel

              On Thu, May 17, 2018, 5:19 AM Don Landsom <Don.Landsom_at_verizon.net> wrote:

                Thanks for the message and guidance provided, and yes trying to build apps
                on old systems has it’s challenges, and more times then not proves to be
                more work then it’s worth. However being under time constraints paints a
                different picture pushing us down the path of adopting this interim step.

                Initially looked at taking the leap to the latest curl version only to
                realize how many subsystems wouldn’t be easily adapted to the old XP
                platform and it’s development tools. Parallel efforts are underway, slapping
                a Band-Aid on the old, and creating the new through the migration of the
                legacy systems to a current development environment.

                The version of libcurl being used appears to be linked with openssl-0.9.7e,
                c-ares-1.2.1 and zlib-1.2.1. The interface calls made from VB6 through the
                wrapper makes use of the Curl ‘easy’ interface.

                The hopes were that the Band-Aid approach could mimic the build above,
                substituting Curl-7.13 with Curl-7.20 just long enough to bridge the gap
                between now and when the migration to the new system is complete.

                A preliminary test showed that the basic Curl-7.20 version builds
                successfully on XP, however it would seem that this build is void of the
                required libraries: openssl, c-ares or zlib.

                If we can incorporate these additional libraries into our successful test
                build of 7-20, we could have our Band-Aid.

                ----- Original Message -----
                From: "Daniel Stenberg" <daniel_at_haxx.se>
                To: "libcurl development" <curl-library_at_cool.haxx.se>
                Sent: Thursday, May 17, 2018 4:26 AM
                Subject: Re: Old Curl Project

> On Thu, 17 May 2018, Don Landsom wrote:
>
>> I'm new here and was hoping to learn more about Curl in the attempts to
>> breath some life into an old project until it can be brought up to date
>> through a complete overhaul.
>
> You're most welcome!
>
>> Not looking to take too big of a leap hear as everything is to be
>> replaced so I searched to find the closest possible Curl release support
>> SMPT which appears to be Curl-7.20.0.
>
> SMTP support was initially added in 7.20.0, yes. But it has also been
> polished and bugfixed over the years so I would not recommend using the
> first public version supporting it. I think it had a few rough edges still
> for some releases.
>
> In general you won't gain much by doing a small upgrade compared to a big
> upgrade. If you instead jump to the head of the line at 7.60.0, you'll get
> our attention and support if you have problems or questions. Not so much
> for 7.20.0, which is over 8 years old by now.
>
> The API and behavior *should* still be the same as it was back in the
> 7.13.0 days!
>
> Also note that 7.20.0 has a few known security vulnerabilities:
>
> https://curl.haxx.se/docs/vuln-7.20.0.html
>
>> The current application is running VB6 using the dll wrapper VBLibCurl
>> 1.0, so the big question is whether this wrapper can be interfaced with
>> Curl-7.20.0.
>
> I would imagine that building stuff on such old legacy systems is a pain
> in general.
>
> --
>
> / daniel.haxx.se
> -------------------------------------------------------------------
> Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
> Etiquette: https://curl.haxx.se/mail/etiquette.html

                -------------------------------------------------------------------
                Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
                Etiquette: https://curl.haxx.se/mail/etiquette.html

------------------------------------------------------------------

              -------------------------------------------------------------------
              Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
              Etiquette: https://curl.haxx.se/mail/etiquette.html

            -------------------------------------------------------------------
            Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
            Etiquette: https://curl.haxx.se/mail/etiquette.html

----------------------------------------------------------------------

          -------------------------------------------------------------------
          Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
          Etiquette: https://curl.haxx.se/mail/etiquette.html

        -------------------------------------------------------------------
        Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
        Etiquette: https://curl.haxx.se/mail/etiquette.html

--------------------------------------------------------------------------

      -------------------------------------------------------------------
      Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
      Etiquette: https://curl.haxx.se/mail/etiquette.html

    -------------------------------------------------------------------
    Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
    Etiquette: https://curl.haxx.se/mail/etiquette.html

------------------------------------------------------------------------------

  -------------------------------------------------------------------
  Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
  Etiquette: https://curl.haxx.se/mail/etiquette.html

-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2018-05-19