View previous topic :: View next topic |
Author |
Message |
Kollin Veteran
Joined: 25 Feb 2006 Posts: 1139 Location: Sofia/Bulgaria
|
Posted: Sun Jan 20, 2013 12:21 am Post subject: [SOLVED] json-c+pulsaudio vs. jsoncpp+chromium |
|
|
json-c and jsoncpp are installing same file in same location: /usr/include/json/json.h
json-c installs the following /usr/include/json/json.h
Code: | /*
* $Id: json.h,v 1.6 2006/01/26 02:16:28 mclark Exp $
*
* Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd.
* Michael Clark <michael@metaparadigm.com>
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the MIT license. See COPYING for details.
*
*/
#ifndef _json_h_
#define _json_h_
#ifdef __cplusplus
extern "C" {
#endif
#include "bits.h"
#include "debug.h"
#include "linkhash.h"
#include "arraylist.h"
#include "json_util.h"
#include "json_object.h"
#include "json_tokener.h"
#ifdef __cplusplus
}
#endif
#endif
|
jsoncpp installs the following /usr/include/json/json.h:
Code: |
#ifndef JSON_JSON_H_INCLUDED
# define JSON_JSON_H_INCLUDED
# include "autolink.h"
# include "value.h"
# include "reader.h"
# include "writer.h"
# include "features.h"
#endif // JSON_JSON_H_INCLUDED |
Chromium pulls in jsoncpp which leads to file collision:
Code: | * Detected file collision(s):
*
* /usr/include/json/json.h
*
* Searching all installed packages for file collisions...
*
* Press Ctrl-C to Stop
*
* dev-libs/json-c-0.9-r1:0::gentoo
* /usr/include/json/json.h
*
* Package 'dev-libs/jsoncpp-0.5.0' NOT merged due to file collisions. If
* necessary, refer to your elog messages for the whole content of the
* above message.
|
Of course i want to install the new version of chromium so i delete /usr/include/json/json.h and after that i'm able successfully to install jsoncpp (and chromium respectively).
BUT pusleaudio-3 does ot compile with jsoncpp's /usr/include/json/json.h:
Code: | >>> Source configured.
>>> Compiling source in /var/tmp/portage/media-sound/pulseaudio-3.0/work/pulseaudio-3.0 ...
make -j1
make all-recursive
make[1]: Entering directory `/var/tmp/portage/media-sound/pulseaudio-3.0/work/pulseaudio-3.0'
Making all in src
make[2]: Entering directory `/var/tmp/portage/media-sound/pulseaudio-3.0/work/pulseaudio-3.0/src'
ORCC pulsecore/svolume-orc-gen.c
ORCC pulsecore/svolume-orc-gen.h
make all-am
make[3]: Entering directory `/var/tmp/portage/media-sound/pulseaudio-3.0/work/pulseaudio-3.0/src'
CC libpulse_la-channelmap.lo
In file included from /usr/include/json/features.h:4:0,
from /usr/include/stdlib.h:24,
from pulse/channelmap.c:27:
/usr/include/json/forwards.h:6:1: error: unknown type name ‘namespace’
/usr/include/json/forwards.h:6:16: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
In file included from /usr/include/stdlib.h:24:0,
from pulse/channelmap.c:27:
/usr/include/json/features.h:6:1: error: unknown type name ‘namespace’
/usr/include/json/features.h:6:16: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
In file included from pulse/channelmap.c:27:0:
/usr/include/stdlib.h:34:1: error: unknown type name ‘__BEGIN_DECLS’
/usr/include/stdlib.h:97:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typedef’
/usr/include/stdlib.h:139:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
/usr/include/stdlib.h:144:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
/usr/include/stdlib.h: In function ‘atoi’:
/usr/include/stdlib.h:148:6: error: unknown type name ‘__THROW’
|
/usr/include/json/features.h is also jsoncpp offspring.
So if i want to have pulseaudio-3 successfully built i have to remove jsoncpp and re install json-c, but then chromium complains
Code: | !!! existing preserved libs:
>>> package: dev-libs/jsoncpp-0.5.0
* - /usr/lib64/libjsoncpp.so.0.5.0
* used by /usr/lib64/chromium-browser/libppGoogleNaClPluginChrome.so (www-client/chromium-26.0.1384.2)
|
My question is how can i have both jsoncpp and json-c with two different /usr/include/json/json.h files on my system _________________ "Dear Enemy: may the Lord hate you and all your kind, may you be turned orange in hue, and may your head fall off at an awkward moment."
"Linux is like a wigwam - no windows, no gates, apache inside..."
Last edited by Kollin on Sat Feb 09, 2013 5:15 am; edited 1 time in total |
|
Back to top |
|
|
Timmer Guru
Joined: 24 Aug 2004 Posts: 373 Location: Duluth, MN, USA
|
Posted: Sun Jan 20, 2013 4:59 am Post subject: |
|
|
I've got the same problem... I'm currently dealing with it by leaving chromium alone, and installing the google-chrome package instead. |
|
Back to top |
|
|
Kollin Veteran
Joined: 25 Feb 2006 Posts: 1139 Location: Sofia/Bulgaria
|
Posted: Sun Jan 20, 2013 8:04 am Post subject: |
|
|
Timmer wrote: | I've got the same problem... I'm currently dealing with it by leaving chromium alone, and installing the google-chrome package instead. |
Yes that is also an optional solution, i just hope that someone more knowledgeable than me (liek Paweł Hajdan, Jr. for example) will come up with a proper fix. _________________ "Dear Enemy: may the Lord hate you and all your kind, may you be turned orange in hue, and may your head fall off at an awkward moment."
"Linux is like a wigwam - no windows, no gates, apache inside..." |
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
|
Back to top |
|
|
Kollin Veteran
Joined: 25 Feb 2006 Posts: 1139 Location: Sofia/Bulgaria
|
Posted: Fri Jan 25, 2013 11:50 pm Post subject: |
|
|
I already sent a PM to Paweł Hajdan, Jr with link to this thread. No response yet, he is on vacation probably
I'm thinking of filling a bug report, but i still cant decide against which package should i fill it _________________ "Dear Enemy: may the Lord hate you and all your kind, may you be turned orange in hue, and may your head fall off at an awkward moment."
"Linux is like a wigwam - no windows, no gates, apache inside..." |
|
Back to top |
|
|
Zenkibou n00b
Joined: 25 Jan 2013 Posts: 3
|
Posted: Sat Jan 26, 2013 9:07 am Post subject: |
|
|
I had the issue too, so I un-applied the jsoncpp change from chromium 25 to the chromium 26 ebuild files to use the embedded jsoncpp instead of using a system-wide jsoncpp library :
Code: | --- a/chromium-26.0.1386.0.ebuild
+++ b/chromium-26.0.1386.0.ebuild
@@ -31,7 +31,6 @@
>=dev-libs/elfutils-0.149
dev-libs/expat
>=dev-libs/icu-49.1.1-r1
- dev-libs/jsoncpp
>=dev-libs/libevent-1.4.13
dev-libs/libxml2[icu]
dev-libs/libxslt
@@ -169,6 +168,7 @@
\! -path 'third_party/hunspell/*' \
\! -path 'third_party/hyphen/*' \
\! -path 'third_party/iccjpeg/*' \
+ \! -path 'third_party/jsoncpp/*' \
\! -path 'third_party/khronos/*' \
\! -path 'third_party/leveldatabase/*' \
\! -path 'third_party/libjingle/*' \
@@ -247,7 +247,6 @@
-Duse_system_flac=1
-Duse_system_harfbuzz=1
-Duse_system_icu=1
- -Duse_system_jsoncpp=1
-Duse_system_libevent=1
-Duse_system_libjpeg=1
-Duse_system_libpng=1 |
I'm currently posting this using chromium 26 with pulseaudio without jsoncpp so everything is fine again for me |
|
Back to top |
|
|
Kollin Veteran
Joined: 25 Feb 2006 Posts: 1139 Location: Sofia/Bulgaria
|
Posted: Mon Jan 28, 2013 3:08 pm Post subject: |
|
|
Today I updated to dev-libs/json-c-0.10 and now pulsaudio compiles fine but chromium fails with:
Code: | In file included from third_party/libjingle/source/talk/base/json.cc:28:0:
third_party/libjingle/source/talk/base/json.h:35:23: fatal error: json/json.h: No such file or directory
compilation terminated.
|
With the new version json-c installs it's json.h into /usr/include/json-c/
I.e. the only provider of json.h into /usr/include/json/ is jsoncpp now .
To compile chromium i had to install again jsoncpp, preserved-rebuild did not complain of the missing json.h into /usr/include/json/, but chromium did _________________ "Dear Enemy: may the Lord hate you and all your kind, may you be turned orange in hue, and may your head fall off at an awkward moment."
"Linux is like a wigwam - no windows, no gates, apache inside..." |
|
Back to top |
|
|
Kollin Veteran
Joined: 25 Feb 2006 Posts: 1139 Location: Sofia/Bulgaria
|
Posted: Sat Feb 09, 2013 5:15 am Post subject: |
|
|
And the new www-client/chromium-26.0.1403.0 compiles just fine, all issues are gone... Marking as 'solved' _________________ "Dear Enemy: may the Lord hate you and all your kind, may you be turned orange in hue, and may your head fall off at an awkward moment."
"Linux is like a wigwam - no windows, no gates, apache inside..." |
|
Back to top |
|
|
phajdan.jr Retired Dev
Joined: 23 Mar 2006 Posts: 1777 Location: Poland
|
Posted: Sun Feb 10, 2013 9:58 am Post subject: |
|
|
Kollin wrote: | I'm thinking of filling a bug report, but i still cant decide against which package should i fill it |
Please do. If in doubt, just file it, it will be routed to the right people (usually both maintainers). File collision is always a bug, and when filed as bug it will always be fixed faster than when discussed on forums (which is one of the first things I drop when shorter on time). _________________ http://phajdan-jr.blogspot.com/ |
|
Back to top |
|
|
truekaiser l33t
Joined: 05 Mar 2004 Posts: 801
|
Posted: Sat Mar 09, 2013 6:09 am Post subject: |
|
|
I just got this conflict on the last couple of versions of chromium. i just masked them rather than bothering with editing the ebuild and stuff like that since it's just going to get overwritten the following week. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|