Re: Request for a PECL account to maintain NuoDB driver.
| From: | Tom Gates | Date: | Mon, 17 Feb 2014 13:30:59 +0000 |
| Subject: | Re: Request for a PECL account to maintain NuoDB driver. | ||
| References: | 1 2 3 4 5 6 7 8 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-11549@lists.php.net to get a copy of this message | ||
Hello Anatol,
So C++ style comments are not allowed? No problem. I can change them to
use C style comments.
What is suspicious about those global variables? They are initialized in
pdo_nuodb_handle_factory(). Is there some risk in that? Is there a
preferred way to do it?
Thanks,
-tom
On Thu, Feb 13, 2014 at 3:14 PM, Anatol Belski <anatol.php@belski.net>wrote:
> Hi Tom,
>
> On Thu, February 13, 2014 20:11, Tom Gates wrote:
> >> Some can compile, but from the experience most of users prefer just to
> >> have it. That's why that build system was brought to life (since like
> >> early spring 2013). The binaries are then available from the PECL site
> >> along with the tarballs, like here for instance
> >> http://pecl.php.net/package/oci8
> >> <http://pecl.php.net/package/oci8> .
> >>
> >
> > Yes. We would like the do the same as other drivers.
> >
> >
> > Is there something else that I need to do, or should I apply for an
> > account now?
> >
> as for me yes. From the code perspective there are some minor issues like
> c++ style comments and presence of confirm_pdo_nuodb_compiled() function.
> Also the global variables here
>
> https://github.com/nuodb/nuodb-php-pdo/blob/master/nuodb_driver.c#L74
> look
> suspicious to me.
>
> > -tom
> >
> >
> >
> >
> > On Thu, Feb 13, 2014 at 1:53 PM, Anatol Belski
> > <anatol.php@belski.net>wrote:
> >
> >
> >> Hi Tom,
> >>
> >>
> >> On Thu, February 13, 2014 19:15, Tom Gates wrote:
> >>
> >>> Hello Anatol,
> >>>
> >>>
> >>>
> >>> I see. The build of the NuoDB PHP PDO Driver depends on a NuoDB
> >>> client libraries and header files. Just like the MySQL PHP PDO Driver
> >>> depends
> >> on
> >>> the MySQL client libraries and header files. Our product: NuoDB
> >>> contains the library NuoRemote.lib (which is built using VC10), and
> >>> NuoRemote_vc9.lib (which is built using VC9). We choose to name it
> >>> that way on Windows. Because the major distribution for PHP 5.3 & 5.4
> >>> is built using VC9, then the PDO driver must "link" to the
> >>> "_vc9"
> >>> version of our library (to avoid MSVCRT skew).
> >>>
> >> That's a smart decision anyway not to mix CRT. Also with the naming -
> >> if it's distributed that way, so the main thing is that config.w32
> >> works.
> >>
> >>> Yes, The build system won't be able to build the NuoDB PHP PDO Driver
> >>> without the NuoDB client libraries and header files. Just like the
> >>> MySQL
> >>> PHP PDO Driver can't be built without the MySQL client libraries and
> >>> header files. I can provide a NuoDB dependency package for
> >>> http://windows.php.net/downloads/pecl/deps/
> >>>
> >>>
> >> We actually don't have to redistribute it there, just have it on the
> >> build box. That's how it also being done for several extensions with
> >> dependencies in binary form only. Given there's no legal issue, of
> >> course.
> >>
> >>> We expect that NuoDB customers will download the NuoDB PHP PDO Driver
> >>> extension from PECL and build it on their local machines.
> >>>
> >> Some can compile, but from the experience most of users prefer just to
> >> have it. That's why that build system was brought to life (since like
> >> early spring 2013). The binaries are then available from the PECL site
> >> along with the tarballs, like here for instance
> >> http://pecl.php.net/package/oci8 .
> >>
> >>
> >>> NuoDB does not (yet) provide a VC11 version of our client library.
> >>> When
> >>> it does, then the NuoDB PHP PDO driver can be modified to use the VC11
> >>> version of NuoRemote for PHP 5.5.
> >>>
> >>> Does that sound ok?
> >>>
> >>>
> >> Yes, if we only have VC9 dependencies, the corresponding extension
> >> builds only will succeed. When the VC11 deps are there, they can be
> >> added and in this case probably config.w32 will have to be brought
> >> inline. And we can anyway do some snapshots before the release to ensure
> >> it'll succeed.
> >>
> >>>
> >>> -tom
> >>>
> >>>
> >>>
> >>>
> >>> On Thu, Feb 13, 2014 at 12:39 PM, Anatol Belski
> >>> <anatol.php@belski.net>wrote:
> >>>
> >>>
> >>>
> >>>> Hi Tom,
> >>>>
> >>>>
> >>>>
> >>>> On Thu, February 13, 2014 17:18, Tom Gates wrote:
> >>>>
> >>>>
> >>>>> Hello Anatol,
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> Thank you for looking at the driver. We currently don't support
> >>>>> PHP
> >>>>>
> >>>>>
> >>> 5.5
> >>>
> >>>
> >>>>> on Windows because NuoDB does not yet have client library support
> >>>>> for
> >>>>>
> >>>> VC11.
> >>>>
> >>>>
> >>>>> However, we do support PHP 5.5 on Linux. I don't see the
> >>>>> hardcoded
> >>>>>
> >>> VC9
> >>>
> >>>
> >>>>> lib you are talking about in config.w32. What line number do you
> >>>>> see
> >>> that
> >>>>> on?
> >>>>>
> >>>> I was looking at these lines
> >>>>
> >>>>
> >>>>
> >>>> if (CHECK_LIB("NuoRemote_vc9.lib", "pdo_nuodb",
> >>>> PHP_PDO_NUODB +
> >>> "\\lib32")
> >>>
> >>>
> >>>> && CHECK_HEADER_ADD_INCLUDE('NuoDB.h',
> >>>> 'CFLAGS_PDO_NUODB',
> >>>> PHP_PDO_NUODB + "\\include")
> >>>> && CHECK_HEADER_ADD_INCLUDE('stdint.h',
> >>>> 'CFLAGS_PDO_NUODB',
> >>>> "include_extras\\VC9"))
> >>>> {
> >>>>
> >>>>
> >>>>
> >>>> and saw names with hardcoded "vc9", so basically my guess was
> >>>> correct :)
> >>>> We usually pack the deps by CRT+platform into separated zips. There
> >>>> is also usual naming for the subdirs like lib, include and bin. You
> >>>> can
> >>> look
> >>>> at the dependency packages for other extensions opening any from
> >>>> here
> >>>> http://windows.php.net/downloads/pecl/deps/ . So ideally it
> >>>> should be like NuoRemote.lib. Also, you could use win32/php_stdint.h
> >>>> which is present starting with PHP-5.3 IRRC.
> >>>>
> >>>> But I meant that only if you plan to make use of the build system,
> >>>> as
> >>>>
> >>> once
> >>>> a release tarball is uploaded, it will try to build it. For that to
> >>>> succeed we'd need the dependency library to be present in the
> >>>> build
> >>> system
> >>>> before and perhaps meet some additional config.
> >>>>
> >>>> Thanks
> >>>>
> >>>>
> >>>>
> >>>> Anatol
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>> --
> >>> Tom Gates
> >>> Software Engineer
> >>> *www.nuodb.com* <http://www.nuodb.com/>
> >>> c: 603-490-4013
> >>> e: tgates@nuodb.com
> >>>
> >>>
> >>>
> >>> The information contained in this email is confidential and
> >>> proprietary and intended for the sole use of the intended recipient.
> >>> If the reader of
> >>> this message is not the intended recipient, you are hereby notified
> >>> that any dissemination, distribution or copying of this communication
> >>> is strictly prohibited. If you have received this email in error,
> >>> please notify the sender and delete all copies.
> >>>
> >>
> >> Regards
> >>
> >>
> >> Anatol
> >>
> >>
> >>
> >
> >
> > --
> > Tom Gates
> > Software Engineer
> > *www.nuodb.com* <http://www.nuodb.com/>
> > c: 603-490-4013
> > e: tgates@nuodb.com
> >
> >
> > The information contained in this email is confidential and proprietary
> > and intended for the sole use of the intended recipient. If the reader of
> > this message is not the intended recipient, you are hereby notified that
> > any dissemination, distribution or copying of this communication is
> > strictly prohibited. If you have received this email in error, please
> > notify the sender and delete all copies.
> >
>
> Regards
>
> Anatol
>
--
Tom Gates
Software Engineer
*www.nuodb.com* <http://www.nuodb.com/>
c: 603-490-4013
e: tgates@nuodb.com
The information contained in this email is confidential and proprietary and
intended for the sole use of the intended recipient. If the reader of this
message is not the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this communication is strictly
prohibited. If you have received this email in error, please notify the
sender and delete all copies.