Opened 11 years ago
Last modified 5 years ago
#42506 closed defect
sparsehash: configuration error — at Version 5
Reported by: | jwhowse4 | Owned by: | hum@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.1 |
Keywords: | Cc: | nicos@… | |
Port: | sparsehash |
Description (last modified by NicosPavlov)
I am using an Intel Mac Pro running Mac OS 10.8.5 (Mountain Lion) with XCode 5.0.2. When I try to upgrade the port kdevplatform from version 1.5.2 to version 1.6.0 the build fails with the attached error log. Any suggestions for a fix?
Edit: The error log above is symptomatic of configuration errors in sparsehash, where HASH_FUN_H is defined as <tr1/functional> instead of <functional> (see discussion below).
Change History (7)
Changed 11 years ago by jwhowse4
Attachment: | kdevplatform+subversion_main.log added |
---|
comment:1 follow-up: 2 Changed 11 years ago by NicosPavlov
The definition of HASH_FUN_H should be in sparseconfig.h, from sparsehash port. It seems surprising that the definition would be wrong, but it is true that in my case it is not <tr1/functional> as it seems from your log, but <functional> only. However, these are also different systems (10.8 vs. 10.9 for me).
I see also that you have Macports installed on a custom location, while sparsehash has a pre-compiled binary, where the configuration may not be correct for your system. Does forcing to install sparsehash from source solves the issue?
sudo port -f uninstall sparsehash sudo port -s install sparsehash
comment:2 Changed 11 years ago by jwhowse4
Replying to nicos@…:
The definition of HASH_FUN_H should be in sparseconfig.h, from sparsehash port. It seems surprising that the definition would be wrong, but it is true that in my case it is not <tr1/functional> as it seems from your log, but <functional> only. However, these are also different systems (10.8 vs. 10.9 for me).
I see also that you have Macports installed on a custom location, while sparsehash has a pre-compiled binary, where the configuration may not be correct for your system. Does forcing to install sparsehash from source solves the issue?
sudo port -f uninstall sparsehash sudo port -s install sparsehash
I do not see how sparsehash could have a precompiled binary since I install everything from source. However, I uninstalled and reinstalled sparsehash as you suggested. I then deactivated the currently active version of kdevplatform and tried to install the new version. The result was the same as previously. I have attached the new log file in the event details have changed.
Changed 11 years ago by jwhowse4
Attachment: | kdevplatform_main_new.log added |
---|
New error file for kdevplatform
comment:3 follow-up: 4 Changed 11 years ago by NicosPavlov
Cc: | hum@… added |
---|
Well, in this case, I strongly suspect that there is an issue in sparsehash's portfile, since internal symbols seem incorrect (cc'ed the maintainer), as to my understanding, HASH_FUN_H, defined as <tr1/functional> in your log should be <functional>.
In the meantime, that's an ugly workaround, which would also be overridden with updates of sparsehash, but redefining HASH_FUN_H in the file ${prefix}/include/sparsehash/internal/sparseconfig.h should solve this issue.
comment:4 Changed 11 years ago by jwhowse4
Replying to nicos@…:
Well, in this case, I strongly suspect that there is an issue in sparsehash's portfile, since internal symbols seem incorrect (cc'ed the maintainer), as to my understanding, HASH_FUN_H, defined as <tr1/functional> in your log should be <functional>.
In the meantime, that's an ugly workaround, which would also be overridden with updates of sparsehash, but redefining HASH_FUN_H in the file ${prefix}/include/sparsehash/internal/sparseconfig.h should solve this issue.
While I agree this is an ugly hack, it does work for me. By the way I also had to redefine HASH_NAMESPACE to std. The question in my mind is why these two variable were not properly defined on my system in the first place.
comment:5 Changed 11 years ago by NicosPavlov
Cc: | hum@… removed |
---|---|
Description: | modified (diff) |
Owner: | changed from macports-tickets@… to hum@… |
Port: | sparsehash added; kdevplatform removed |
Summary: | kdevplatform build failure → sparsehash: configuration error |
Thanks for the feedback. This confirms that the issue is located in the configuration of sparsehash, and that the build issue of kdevplatform is only a symptom. I changed the description accordingly, and assigned the ticket to the maintainer of sparsehash. I may have a look if I find the time, but not being familiar with the details of sparsehash, I may not be very efficient at solving the issue.
Error log for kdevplatform build