-
yanmaani
Hi, is this a good place to ask questions about elliptic-curve cryptography?
-
UkoeHB_
yanmaani: try #monero-research-lab
-
yanmaani
thanks
-
selsta
fluffypony: please update the DNS hashes to v0.17 whenever you have time
-
hyc
so ... extracting glibc-2.19 in a usable form is a bit tricky
-
hyc
but I got a successful build
-
hyc
for x86-64 so far.
-
hyc
unfortunately there are no cross-compiler packages from 2.19, so it's laid out as if running natively on a machine
-
hyc
and stuff needs to be moved around to be where the cross-compiler expects to find it
-
hyc
but I verified that there is no reference to signgam in the resulting binary
-
hyc
hm, that may be overkill. all we need to do is grab the older /usr/include/x86_64-linux-gnu/bits/math-finite.h
-
hyc
which is where lgamma is defined, and where signgam gets used
-
hyc
alternately, try to tweak the __USE_MISC or __USE_XOPEN flags to avoid it getting used in 2.23
-
hyc
another alternative - just declare an int "signgam" in one of our own files and let the linker resolve against it
-
hyc
there's nothing special about that var
-
hyc
but I can't find anywhere that actually references lgamma in our source tree
-
hyc
so how is this getting referenced in the object files? it's in cryptonote_core/tx_pool.o and cryptonote_protocol/levin_notify.o
-
moneromooo
This might have come up before. IIRC some gamma fnuction is used by a boost function we use.
-
moneromooo
Some RNG related function.
-
hyc
ah
-
moneromooo
Ah. poisson_distribution.
-
hyc
I see 67ade8005
-
moneromooo
I've still got this chat from may:
-
moneromooo
< TheCharlatan> I'm still not sure where the symbol, "signgam", actually is being introduced. As far as I can tell we are not using any of the gamma functions tha>
-
moneromooo
<+moneromooo> gamma as in obscure libm stuff ?
-
moneromooo
< TheCharlatan> yeah
-
moneromooo
<+moneromooo> I suppose nm -a on object files will show you what's requiring it.
-
moneromooo
<+moneromooo> Shows as... D IIRC ?
-
moneromooo
<+moneromooo> No, should be U.
-
moneromooo
<+moneromooo> I have hits in tx_pool and levin_notify.
-
moneromooo
<+moneromooo> Can't see why atm though.
-
moneromooo
<+moneromooo> objdump shows it used suspiciously close to poisson_distribution
-
moneromooo
<+moneromooo> In both.
-
moneromooo
<+moneromooo> I kinda remember something about this, like gamma is the CDF of hte poisson distribution of something along those lines, so it makes sense at first >
-
moneromooo
<+moneromooo> The man page says something which might help:
-
moneromooo
<+moneromooo> signgam:
-
moneromooo
<+moneromooo> _XOPEN_SOURCE
-
moneromooo
<+moneromooo> || /* Since glibc 2.19: */ _DEFAULT_SOURCE
-
moneromooo
<+moneromooo> || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
-
moneromooo
<+moneromooo> Not sure how much earlier than 2.19 though.
-
hyc
crypto::random_poisson_xxx
-
hyc
std::poisson_distribution
-
hyc
so it's not in boost now
-
hyc
and std::poisson_distribution uses std::gamma
-
hyc
std::lgamma
-
hyc
none of which references signgam, nothing in the C++ library cares about it
-
hyc
what a crock
-
hyc
maybe we can just wrap lgamma_r
-
TheCharlatan
hyc I attempted that, but gave up after a while.
-
hyc
we can stash a local copy of include/xx/bits/math-finite.h
-
hyc
and tweak the definition
-
hyc
I just tried that, it works
-
TheCharlatan
ah, brilliant.
-
xmr-pr
xiphon opened pull request #6863: cmake: CheckTrezor - use ${CMAKE_CURRENT_LIST_DIR} to locate tests
-
xmr-pr
-
xmr-pr
hyc opened pull request #6862: Fix lgamma/signgam dependency
-
xmr-pr
-
hyc
TheCharlatan: not entirely sure the patch was done in the best place, but couldn't think of anything better
-
selsta
.merges
-
xmr-pr
6808 6822 6828 6833
-
needmoney90
-
hyc
hmmm this patch doesn't affect any mining code, so why is CI test failing?
github.com/monero-project/monero/runs/1216724747
-
moneromooo
Possibly because it'd also fail with master.
-
moneromooo
monero-project/monero #6836 was recently merged. The original problem was just the github machines being slow and timeouts triggering.
-
moneromooo
Or selsta's machine being slow ? Not sure.
-
hyc
ah ok
-
selsta
6836 was just to make it more clear what exactly is failing, "Failed to mine successor to block 13 (initial block = 10)"
-
selsta
so slow github machine? or why would it fail?
-
selsta
only happens rarely so most likely timeout related
-
moneromooo
It could be a Microsoft plot, to start introducing more and more spurious failures by poking into RAM, to slowly take more and more time from free software maintainers and drive their output into the ground...
-
hyc
lol
-
hyc
CI=continuous interference
-
moneromooo
:D
-
hyc
have a similar problem with the OpenLDAP test suite, many of the scripts have a short sleep to let stuff happen before checking for a result
-
hyc
and those sleeps have to be lengthened when running on our CI system
-
hyc
the alternative is continually polling the server to check for completion, but the polling itself can be a major slowdown on a bogged-down VM
-
hyc
running tests on windows is the worst...
-
hecate
hey, I have an issue "undefined reference to a symbol" and "error adding symbols: DSO missing from command line". I am trying to use the gmp library within miner.cpp. Do you know how I can tell the Makefile to link this library when compiling miner.cpp? (I think this is what I need)
-
moneromooo
Add -lgmp to the link line. If using cmake, add "gmp" to the cmake target.
-
hecate
thank you, I'm just a novice to working on big project like this. Where is the link line for miner.cpp? I have included -lgmp when building a local file, so I know that is what I need to add, just don't know exactly where
-
moneromooo
CMakeLists.txt, same directory.
-
hecate
set(CMAKE_CXX_FLAGS "-lgmp")
-
hecate
like this^ just in the CMakeLists.txt file?
-
moneromooo
I'd add it to the existing lib list.
-
hecate
hmm, there are a lot of lib variables I see, but this line looks promising:
-
hecate
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_CPP_FLAG} ${WARNINGS} ${CXX_WARNINGS} ${COVERAGE_FLAGS} ${PIC_FLAG} ${CXX_SECURITY_FLAGS}")
-
hecate
I tried placing it in EXTRA_LIBRARIES, but that didnt seem to work
-
selsta
hecate: so just `list(APPEND EXTRA_LIBRARIES "-lgmp")` did not work?
-
hecate
my syntax was not that, and so probably wrong. Seems to be compiling how I have it now, will try that afterwards
-
hecate
thanks to both of you for the help. I greatly appreciate it. I was messing with this codebase for almost a week before reaching out here. You guys are really helpful