Thread: Building pgagent on Linux

Building pgagent on Linux

From
Devrim GÜNDÜZ
Date:
Hi,

I'm trying to build a standalone pgagent RPM. This is the same
environment that I can build pgadmin3 w/o any issues.

After untarring pgAgent-3.0.1-Source.tar.gz, and running cmake, I got
the following error:

=======================================================
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/lib64/ccache/gcc
-- Check for working C compiler: /usr/lib64/ccache/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++
-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Error at cmake/FindWX.cmake:271 (MESSAGE):
  The selected wxWidgets configuration (version: 2.8, debug: no, static:
yes,
  unicode: yes, modules: base) is not available.
Call Stack (most recent call first):
  CMakeLists.txt:91 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!

=======================================================

Ok, so apparently it does not like wx configuration:

# wx-config --selected-config
gtk2-unicode-release-2.8

(Oh, why does pgagent need wx libraries?)

Anyway, I thought I could build pgagent on a machine that pgadmin3 can
be built, per README:

===
- A wxWidgets 2.8.x installation, configured per the requirements for
  pgAdmin:
===


Here are the wx packages that I have:

===
wxGTK-media-2.8.12-1.fc16.x86_64
wxGTK-gl-2.8.12-1.fc16.x86_64
wxGTK-devel-2.8.12-1.fc16.x86_64
wxGTK-2.8.12-1.fc16.x86_64
wxBase-2.8.12-1.fc16.x86_64
====

What am I missing here?

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Community: devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org  Twitter: http://twitter.com/devrimgunduz


Attachment

Re: Building pgagent on Linux

From
Dave Page
Date:
Hi

2011/12/6 Devrim GÜNDÜZ <devrim@gunduz.org>:
>
> Hi,
>
> I'm trying to build a standalone pgagent RPM. This is the same
> environment that I can build pgadmin3 w/o any issues.
>
> After untarring pgAgent-3.0.1-Source.tar.gz, and running cmake, I got
> the following error:
>
> =======================================================
> -- The C compiler identification is GNU
> -- The CXX compiler identification is GNU
> -- Check for working C compiler: /usr/lib64/ccache/gcc
> -- Check for working C compiler: /usr/lib64/ccache/gcc -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working CXX compiler: /usr/lib64/ccache/c++
> -- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> CMake Error at cmake/FindWX.cmake:271 (MESSAGE):
>  The selected wxWidgets configuration (version: 2.8, debug: no, static:
> yes,
>  unicode: yes, modules: base) is not available.
> Call Stack (most recent call first):
>  CMakeLists.txt:91 (FIND_PACKAGE)
>
>
> -- Configuring incomplete, errors occurred!
>
> =======================================================
>
> Ok, so apparently it does not like wx configuration:
>
> # wx-config --selected-config
> gtk2-unicode-release-2.8

Yeah, my guess is you need to configure it for a dynamic build, not
static. Try something like:

cmake -D STATIC_BUILD:BOOL=OFF .

> (Oh, why does pgagent need wx libraries?)

Because it was written using wxWidgets.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Building pgagent on Linux

From
Devrim GÜNDÜZ
Date:
On Tue, 2011-12-06 at 14:26 +0530, Dave Page wrote:
> >
> > Ok, so apparently it does not like wx configuration:
> >
> > # wx-config --selected-config
> > gtk2-unicode-release-2.8
>
> Yeah, my guess is you need to configure it for a dynamic build, not
> static. Try something like:
>
> cmake -D STATIC_BUILD:BOOL=OFF .

It did not work, either. Any other comments?

The 3.0.0-Linux prebuilt binary is linked to libssl.so.0, which is not
available on my distros, so I cannot use it -- and building from source
is a better way for RPMs.

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Community: devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org  Twitter: http://twitter.com/devrimgunduz

Attachment

Re: Building pgagent on Linux

From
Dave Page
Date:
2011/12/6 Devrim GÜNDÜZ <devrim@gunduz.org>:
> On Tue, 2011-12-06 at 14:26 +0530, Dave Page wrote:
>> >
>> > Ok, so apparently it does not like wx configuration:
>> >
>> > # wx-config --selected-config
>> > gtk2-unicode-release-2.8
>>
>> Yeah, my guess is you need to configure it for a dynamic build, not
>> static. Try something like:
>>
>> cmake -D STATIC_BUILD:BOOL=OFF .
>
> It did not work, either. Any other comments?
>
> The 3.0.0-Linux prebuilt binary is linked to libssl.so.0, which is not
> available on my distros, so I cannot use it -- and building from source
> is a better way for RPMs.

What was the output this time?


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Building pgagent on Linux

From
Devrim GÜNDÜZ
Date:
On Tue, 2011-12-06 at 17:13 +0530, Dave Page wrote:
> > It did not work, either. Any other comments?
> >
> > The 3.0.0-Linux prebuilt binary is linked to libssl.so.0, which is
> not
> > available on my distros, so I cannot use it -- and building from
> source
> > is a better way for RPMs.
>
> What was the output this time?

Phew, I thought it threw out the same error, probably checked wrong
lines. New message is:

  No PostgreSQL installation could be found.

This is not surprising, since pg_config is not under $PATH

How can I export PostgreSQL_CONFIG_EXECUTABLE? I read README, but it
talks about pressing c somewhere, which should not be possible while
building RPMs :P

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Community: devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org  Twitter: http://twitter.com/devrimgunduz

Attachment

Re: Building pgagent on Linux

From
Dave Page
Date:
2011/12/6 Devrim GÜNDÜZ <devrim@gunduz.org>:
> On Tue, 2011-12-06 at 17:13 +0530, Dave Page wrote:
>> > It did not work, either. Any other comments?
>> >
>> > The 3.0.0-Linux prebuilt binary is linked to libssl.so.0, which is
>> not
>> > available on my distros, so I cannot use it -- and building from
>> source
>> > is a better way for RPMs.
>>
>> What was the output this time?
>
> Phew, I thought it threw out the same error, probably checked wrong
> lines. New message is:
>
>  No PostgreSQL installation could be found.
>
> This is not surprising, since pg_config is not under $PATH
>
> How can I export PostgreSQL_CONFIG_EXECUTABLE? I read README, but it
> talks about pressing c somewhere, which should not be possible while
> building RPMs :P

:-)

cmake -D PG_CONFIG_PATH:FILEPATH=/usr/bin/pg_config -D STATIC_BUILD:BOOL=OFF .

If you configure interactively using ccmake, you can check the values
that were chosen in the CMakeCache.txt file when you've finished.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Building pgagent on Linux

From
Devrim GÜNDÜZ
Date:
On Tue, 2011-12-06 at 17:31 +0530, Dave Page wrote:
> > How can I export PostgreSQL_CONFIG_EXECUTABLE? I read README, but it
> > talks about pressing c somewhere, which should not be possible while
> > building RPMs :P
>
> :-)
>
> cmake -D PG_CONFIG_PATH:FILEPATH=/usr/bin/pg_config -D
> STATIC_BUILD:BOOL=OFF .
>
> If you configure interactively using ccmake, you can check the values
> that were chosen in the CMakeCache.txt file when you've finished.

Great, thanks!  It worked.

I will push pgagent RPMs later today or tomorrow

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Community: devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org  Twitter: http://twitter.com/devrimgunduz

Attachment

Re: Building pgagent on Linux

From
Dave Page
Date:
2011/12/6 Devrim GÜNDÜZ <devrim@gunduz.org>:
> On Tue, 2011-12-06 at 17:31 +0530, Dave Page wrote:
>> > How can I export PostgreSQL_CONFIG_EXECUTABLE? I read README, but it
>> > talks about pressing c somewhere, which should not be possible while
>> > building RPMs :P
>>
>> :-)
>>
>> cmake -D PG_CONFIG_PATH:FILEPATH=/usr/bin/pg_config -D
>> STATIC_BUILD:BOOL=OFF .
>>
>> If you configure interactively using ccmake, you can check the values
>> that were chosen in the CMakeCache.txt file when you've finished.
>
> Great, thanks!  It worked.
>
> I will push pgagent RPMs later today or tomorrow

Cool - thanks Devrim!

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company