Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 494696 - games-board/pokerth-1.0.1 compile fails against dev-libs/libgcrypt-1.6.0
Summary: games-board/pokerth-1.0.1 compile fails against dev-libs/libgcrypt-1.6.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-18 23:08 UTC by Jason Lamb
Modified: 2015-02-23 17:33 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build log (build.log-pokerth-1.0.1.txt,54.05 KB, text/plain)
2013-12-18 23:08 UTC, Jason Lamb
Details
emerge --info (emerge-info.txt,6.45 KB, text/plain)
2013-12-18 23:09 UTC, Jason Lamb
Details
proposed patch (pokerth-1.0.1-libgcrypt.patch,1.66 KB, patch)
2013-12-19 15:01 UTC, Jason Lamb
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Lamb 2013-12-18 23:08:09 UTC
After updating to dev-libs/libgcrypt-1.6.0, a revdep-rebuild fails to compile games-board/pokerth-1.0.1, issuing;

src/net/common/socket_startup.cpp:67:25: warning: 'gcry_thread_cbs' is deprecated (declared at /usr/include/gcrypt.h:213) [-Wdeprec$
  struct gcry_thread_cbs gcry_threads_boost = {
                         ^
src/net/common/socket_startup.cpp:71:2: error: too many initializers for 'gcry_thread_cbs'
  };
  ^
Makefile.pokerth_lib:1552: recipe for target 'obj/socket_startup.o' failed

Reproducible: Always
Comment 1 Jason Lamb 2013-12-18 23:08:40 UTC
Created attachment 365632 [details]
build log
Comment 2 Jason Lamb 2013-12-18 23:09:51 UTC
Created attachment 365634 [details]
emerge --info
Comment 3 Jason Lamb 2013-12-19 15:01:15 UTC
Created attachment 365680 [details, diff]
proposed patch

After opening the following bug for this issue at pokerth's github;

https://github.com/pokerth/pokerth/issues/247

the dev there proposed this patch. Testing it on my system allows games-board/pokerth-1.0.1 to compile cleanly with dev-libs/libgcrypt-1.6.0. The pokerth dev's comment with the patch is;

"However, please note: libgcrypt 1.6.0 then needs to be built with USE_POSIX_THREADS_WEAK defined otherwise it does not support multithreading and PokerTH (especially the server) may crash."

I'm not sure if this is the case with the default dev-libs/libgcrypt-1.6.0 emerge. If it isn't, would there be an easy way to enable building it with the proper thread support?
Comment 4 Tim Harder gentoo-dev 2013-12-19 19:35:03 UTC
(In reply to Jason Lamb from comment #3)
> Created attachment 365680 [details, diff] [details, diff]
> proposed patch
> 
> After opening the following bug for this issue at pokerth's github;
> 
> https://github.com/pokerth/pokerth/issues/247
> 
> the dev there proposed this patch. Testing it on my system allows
> games-board/pokerth-1.0.1 to compile cleanly with dev-libs/libgcrypt-1.6.0.
> The pokerth dev's comment with the patch is;
> 
> "However, please note: libgcrypt 1.6.0 then needs to be built with
> USE_POSIX_THREADS_WEAK defined otherwise it does not support multithreading
> and PokerTH (especially the server) may crash."
> 
> I'm not sure if this is the case with the default dev-libs/libgcrypt-1.6.0
> emerge. If it isn't, would there be an easy way to enable building it with
> the proper thread support?

This should be enabled by default if you're building in a standard Linux environment.
Comment 5 Jason Lamb 2013-12-19 20:44:03 UTC
(In reply to Tim Harder from comment #4)
> 
> This should be enabled by default if you're building in a standard Linux
> environment.

Thanks for confirming that.

(I tried to look through the tarball grepping for USE_POSIX_THREADS_WEAK and couldn't tell if it was by default enabled or not..)

Just to make sure is there some post-install way to confirm if it's enabled?
Comment 6 Tim Harder gentoo-dev 2013-12-19 22:01:11 UTC
(In reply to Jason Lamb from comment #5)
> Just to make sure is there some post-install way to confirm if it's enabled?

Not easily, afaik. The best way is to just check for "checking whether imported symbols can be declared weak... yes" in the configure output or look at the generated config.h file for the related defines.
Comment 7 Jason Lamb 2013-12-19 22:44:00 UTC
(In reply to Tim Harder from comment #6)
> Not easily, afaik. The best way is to just check for "checking whether
> imported symbols can be declared weak... yes" in the configure output or
> look at the generated config.h file for the related defines.

Thanks again Tim. I performed a manual ebuild unpack and then ebuild compile and did verify the config output states;

checking whether imported symbols can be declared weak... yes

so it looks like the patch should be all that's needed for pokerth.
Comment 8 Jura 2014-01-06 19:50:28 UTC
And please bump version PokerTH - Version 1.1 - STABLE (release date 2013-12-22)
Comment 9 Mr. Bones. (RETIRED) gentoo-dev 2015-02-23 17:33:45 UTC
Looks like 1.1.1 has special handling for the newer libgcrypt.