[Postgres-xl-developers] Smartos and Postgresqlxl

Mason Sharp msharp at translattice.com
Thu Feb 12 05:24:07 PST 2015


On Mon, Feb 9, 2015 at 12:58 PM, Ernest Lee <ernest.lee at chibifire.com>
wrote:

> Hello Mason Sharp,
>
> I was able to get postgresqlxl compiled on smartos.
>
> Here's my log of the commands I used. They're not the actual solution,
> but it gets the software compiled.
>
> It appears that --with-system-tzdata=/usr/share/lib/zoneinfo breaks
> postgresql-xl on the self-test, but otherwise it appears to work.
>
> Converation with #smartos:
>
> <jperkin> the best fix is to properly check for platform features in
> configure and then append to CFLAGS/LDFLAGS as appropriate
> <jperkin> hardcoding _XOPEN_* stuff in files usually ends up with
> breakage as there may be conflicting flags set on a project-wide
> basis, so checking for what spec you are targetting first and then
> setting them globally helps avoid that
> <jperkin> same for socket libs, add tests for the library calls you
> need, unfortunately it's something a lot of software doesn't do right,
> hence the many many LDFLAGS.SunOS+=-lsocket -lnsl in pkgsrc
>
> Perhaps you can help me make a patch that allows postgresql to work on
> this operating system.
>
> ----
>
> Download joyent smartos image.
>
> Configure vm to have bridged networking and promiscious mode.
>
> ```bash
> # Find if of Smartos base64 image
> imgadm avail | grep base64
> # Copy id and import the image
> imgadm import 62f148f8-6e84-11e4-82c5-efca60348b9f
> # Create a container based on json information
> vmadm create -f test.json
> # Save uuid for next section
> ```
>
> Copy of the json used in the vm creation.
> ```json
> {
>  "brand": "joyent",
>  "image_uuid": "62f148f8-6e84-11e4-82c5-efca60348b9f",
>  "alias": "web01",
>  "hostname": "web01",
>  "max_physical_memory": 1750,
>  "quota": 20,
>  "resolvers": ["8.8.8.8", "208.67.220.220"],
>  "nics": [
>   {
>     "nic_tag": "admin",
>     "ip": "192.168.1.79",
>     "netmask": "255.255.255.0",
>     "gateway": "192.168.1.254"
>   }
>  ]
> }
> ```
>
> ```bash
> zlogin <UUID>
> pkgin update
> pkgin -y upgrade
> pkgin -y in  build-essential flex bison openssl xml2 libxslt ossp-uuid
> git postgresql92-client nano openjade docbook docbook-xsl
> dsssl-docbook-modular
> sudo su - admin
> git clone git://git.code.sf.net/p/postgres-xl/postgres-xl postgres-xl
> cd postgres-xl
> ./configure --with-openssl --with-libxml --with-libxslt
> --with-ossp-uuid --enable-nls
> --with-system-tzdata=/usr/share/lib/zoneinfo
> cd src/backend/pgxc/pool
> nano poolcomm.c
> #ifdef __sun
> #define _XOPEN_SOURCE 500
> #define _XOPEN_SOURCE_EXTENDED 1
> #define uint uint32_t
> #endif
> nano pgxcnode.c
> #ifdef __sun
> #include "sys/filio.h"
> #endif
> cd -
> make # Will fail
> cd src/gtm
> make LDFLAGS="-lnsl -lsocket" # Horrible hack
> cd -
> nano /home/admin/postgres-xl/doc-xc/src/sgml/Makefile # Remove : from
> clean-sgml in ".PHONY: clean-sgml:"from 367~
> cd -
> sudo ln -s /opt/local/bin/openjade  /opt/local/bin/jade
> #make check # Run self-test
> sudo make install
> ```
>

Do you know if vanilla PostgreSQL builds easily on SmartOS? If so, we can
follow those guidelines.

Was this build attempt from the source RPM or from the HEAD of the git
repository?

Thanks,

Mason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.postgres-xl.org/private.cgi/postgres-xl-developers-postgres-xl.org/attachments/20150212/7b718a8d/attachment.htm>


More information about the Postgres-xl-developers mailing list