Re: [pgagent] patch: link with -pthread - Mailing list pgadmin-support

From Dave Page
Subject Re: [pgagent] patch: link with -pthread
Date
Msg-id CA+OCxoxf5u3Ovf5yahei2RG-MA3C9jQLQ5vZ3q=isG5-Upf7Mg@mail.gmail.com
Whole thread Raw
In response to Re: [pgagent] patch: link with -pthread  (Neel Patel <neel.patel@enterprisedb.com>)
Responses Re: [pgagent] patch: link with -pthread  (Christoph Berg <myon@debian.org>)
List pgadmin-support


On Fri, Jul 20, 2018 at 11:00 AM, Neel Patel <neel.patel@enterprisedb.com> wrote:
Hi Dave,

Sure. 
I can see below warning during linking in windows.


1>------ Rebuild All started: Project: ZERO_CHECK, Configuration: Debug Win32 ------
1>  Checking Build System
1>  CMake does not need to re-run because C:/Projects/pgagent/build/CMakeFiles/generate.stamp is up-to-date.
1>  CMake does not need to re-run because C:/Projects/pgagent/build/pgaevent/CMakeFiles/generate.stamp is up-to-date.
2>------ Rebuild All started: Project: pgagent, Configuration: Debug Win32 ------
2>  Building Custom Rule C:/Projects/pgagent/CMakeLists.txt
2>  CMake does not need to re-run because C:/Projects/pgagent/build/CMakeFiles/generate.stamp is up-to-date.
2>  connection.cpp
2>  job.cpp
2>  misc.cpp
2>C:\Projects\pgagent\misc.cpp(172): warning C4244: 'argument': conversion from 'time_t' to 'unsigned int', possible loss of data
2>  pgAgent.cpp
2>  precomp.cpp
2>  unix.cpp
2>  win32.cpp
2>  Generating Code...
2>LINK : warning LNK4044: unrecognized option '/pthread'; ignored
2>  pgagent.vcxproj -> C:\Projects\pgagent\build\Debug\pgagent.exe
2>  pgagent.vcxproj -> C:/Projects/pgagent/build/Debug/pgagent.pdb (Full PDB)
========== Rebuild All: 2 succeeded, 0 failed, 0 skipped ==========

Is this only required in case of linux right ? I can work on this - Should we skip linking in case of Mac and windows ?

Yes, at minimum I suspect. Does it complain if it's there on x86 Linux? Christoph said he needed it on non-x86 archs.
 

Thanks
Neel Patel


On Fri, Jul 20, 2018 at 2:36 PM, Dave Page <dpage@pgadmin.org> wrote:
Hi

On Fri, Jul 20, 2018 at 9:55 AM, Christoph Berg <myon@debian.org> wrote:
All non-x868 architectures need -pthread to link with threads:

https://buildd.debian.org/status/logs.php?pkg=pgagent&ver=4.0.0-1&suite=sid

This patch fixes the problem:

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -135,7 +135,7 @@ ENDIF(WIN32)

 ADD_EXECUTABLE(pgagent ${_srcs})
 TARGET_LINK_LIBRARIES(
-        pgagent ${PG_LIBRARIES} ${Boost_LIBRARIES}
+        pgagent ${PG_LIBRARIES} ${Boost_LIBRARIES} -pthread
 )

 # Installation

That throws a nice warning on macOS (unused-command-line-argument) as I suspected it might. I'll bet Windows barfs on it too.

Neel, can you look and see what is the best solution here please? I'm guessing you still have build environments for all platforms from the Boost work you did.

Thanks.

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

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




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

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

pgadmin-support by date:

Previous
From: Neel Patel
Date:
Subject: Re: [pgagent] patch: link with -pthread
Next
From: Christoph Berg
Date:
Subject: Re: [pgagent] patch: link with -pthread