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

From Neel Patel
Subject Re: [pgagent] patch: link with -pthread
Date
Msg-id CACCA4P2fDXcUa4F8=e1KOddaLhRS+XhyqUvJJBH4v9-Ogcsn-g@mail.gmail.com
Whole thread Raw
In response to Re: [pgagent] patch: link with -pthread  (Dave Page <dpage@pgadmin.org>)
Responses Re: [pgagent] patch: link with -pthread
List pgadmin-support
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 ?

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

pgadmin-support by date:

Previous
From: Christoph Berg
Date:
Subject: [pgagent] regression test
Next
From: Dave Page
Date:
Subject: Re: [pgagent] patch: link with -pthread