Gentoo Archives: gentoo-user

From: Corbin Bird <corbinbird@×××××××.net>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] webkit-gtk-2.14.2 cant find sqlite3 symbols
Date: Tue, 28 Feb 2017 03:35:47
Message-Id: 58B4EFFD.9030906@charter.net
In Reply to: Re: [gentoo-user] webkit-gtk-2.14.2 cant find sqlite3 symbols by kelly hirai
1 On 02/27/2017 03:44 PM, kelly hirai wrote:
2 > corbin,
3 >
4 > i've finally discovered the problem with this.
5 >
6 > it turns out that there were a set of stale .so files in
7 > /usr/iocal/bin/ installed in the year 2015. i discovered this by running:
8 >
9 > ebuild /usr/portage/net-libs/webkit-gtk/webkit-gtk-2.14.5.ebuild
10 > configure
11 >
12 > the resulting ninja files showed that's where it was sourcing
13 > libsqlite3.so. moving it out of the way solved the issue. its a
14 > complete mystery why it would look for libs in a bin directory or why
15 > portage would prefer /usr/local over the standard paths.
16 >
17 > anyway, thanks for your thoughts and sorry for the long turnaround.
18 >
19 > kelly
20 >
21 >
22 >
23 > On 02/07/2017 06:23 PM, Corbin Bird wrote:
24 >> On 02/07/2017 09:55 AM, kelly hirai wrote:
25 >>>
26 >>> On 02/06/2017 06:31 PM, Corbin Bird wrote:
27 >>>> On 02/06/2017 01:09 PM, kelly hirai wrote:
28 >>>>> hello fellow gentoo-users,
29 >>>>>
30 >>>>> for about a month now, i have not been able to make
31 >>>>> webkit-gtk-2.14.[2,3] compile. it terminates at the linking step
32 >>>>> complaining it cant find some sqlite functions.
33 >>>>>
34 >>>>> ./configure phase reports sqlite3 availability
35 >>>>>
36 >>>>> -- Checking for module 'sqlite3'
37 >>>>> -- Found sqlite3, version 3.13.0
38 >>>>> -- Found Sqlite: /usr/include
39 >>>>>
40 >>>>> but when it comes time to do the linking it cant find it:
41 >>>>>
42 >>>>> FAILED: : && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=native
43 >>>>> -O2
44 >>>>> -pipe -fno-strict-aliasing -std=c++1y -Wl,--no-undefined -Wl,-O1
45 >>>>> -Wl,--as-needed -Wl,--no-keep-memory -fuse-ld=gold
46 >>>>> -Wl,--disable-new-dtags -fuse-ld=gold -Wl,--disable-new-dtags
47 >>>>> -Wl,--version-script,/var/tmp/portage/net-libs/webkit-gtk-2.14.2/work/webkitgtk-2.14.2/Source/cmake/gtksymbols.filter
48 >>>>>
49 >>>>>
50 >>>>> -shared -Wl,-soname,libwebkit2gtk-4.0.so.37 -o
51 >>>>> lib/libwebkit2gtk-4.0.so.37.14.9 @CMakeFiles/WebKit2.rsp && :
52 >>>>> lib/libWebCoreGTK.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/platform/sql/SQLiteDatabase.cpp.o):SQLiteDatabase.cpp:function
53 >>>>>
54 >>>>>
55 >>>>> void
56 >>>>> std::__once_call_impl<std::_Bind_simple<WebCore::initializeSQLiteIfNecessary()::{lambda()#1}
57 >>>>>
58 >>>>>
59 >>>>> ()> >(): error: undefined reference to 'sqlite3_initialize'
60 >>>>> lib/libWebCoreGTK.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/platform/sql/SQLiteDatabase.cpp.o):SQLiteDatabase.cpp:function
61 >>>>>
62 >>>>>
63 >>>>> void
64 >>>>> std::__once_call_impl<std::_Bind_simple<WebCore::initializeSQLiteIfNecessary()::{lambda()#1}
65 >>>>>
66 >>>>>
67 >>>>> ()> >(): error: undefined reference to 'sqlite3_errstr'
68 >>>>> lib/libWebCoreGTK.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/platform/sql/SQLiteDatabase.cpp.o):SQLiteDatabase.cpp:function
69 >>>>>
70 >>>>>
71 >>>>> WebCore::SQLiteDatabase::setCollationFunction(WTF::String const&,
72 >>>>> std::function<int (int, void const*, int, void const*)>): error:
73 >>>>> undefined reference to 'sqlite3_create_collation_v2'
74 >>>>> lib/libWebCoreGTK.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/platform/sql/SQLiteDatabase.cpp.o):SQLiteDatabase.cpp:function
75 >>>>>
76 >>>>>
77 >>>>> WebCore::SQLiteDatabase::removeCollationFunction(WTF::String const&):
78 >>>>> error: undefined reference to 'sqlite3_create_collation_v2'
79 >>>>> collect2: error: ld returned 1 exit status
80 >>>>>
81 >>>>> the symbols seem to be in the library:
82 >>>>>
83 >>>>> strings /usr/lib32/libsqlite3.so | grep create_collation_
84 >>>>> sqlite3_create_collation_v2
85 >>>>>
86 >>>>> strings /usr/lib64/libsqlite3.so | grep create_collation_
87 >>>>> sqlite3_create_collation_v2
88 >>>>>
89 >>>>> i'm stumped here. i don't see any explicit linking flags. the
90 >>>>> @CMakefiles/WebKit2.rsp doesn't make sense to me, maybe its in there?
91 >>>>>
92 >>>>> k.
93 >>>> Please post the USE flags set for all the following :
94 >>>> "dev-db/sqlite:3"
95 >>>> and "net-libs/webkit-gtk:2", "net-libs/webkit-gtk:3",
96 >>>> "net-libs/webkit-gtk:4". ( Yes, webkit-gtk has three slots. 3 slots
97 >>>> = 3
98 >>>> possible different sets of use flags. )
99 >>>>
100 >>>> Corbin
101 >>>>
102 >>> thanks for looking at this Corbin. :)
103 >>>
104 >>> [I] net-libs/webkit-gtk
105 >>> Available versions:
106 >>> (3) 2.4.11-r1(3/25)
107 >>> (2) 2.4.11-r200
108 >>> (4) 2.12.5(4/37)^t ~2.14.2(4/37)^t ~2.14.3(4/37)^t
109 >>> {(+)X aqua coverage debug doc +egl +geoloc +geolocation gles2
110 >>> gnome-keyring +gstreamer +introspection +jit libnotify nsplugin
111 >>> +opengl spell test wayland +webgl
112 >>> Installed versions:
113 >>> 2.4.11-r1(3)(01:04:58 PM 01/13/2017)(X egl geolocation
114 >>> gnome-keyring gstreamer introspection jit opengl spell webgl -aqua
115 >>> -coverage -debug -gles2 -test -wayland)
116 >>> 2.12.5(4)^t(01:07:41 AM 12/13/2016)(X egl geolocation
117 >>> gnome-keyring gstreamer introspection jit libnotify opengl spell webgl
118 >>> -aqua -coverage -doc -gles2 -nsplugin -test -wayland)
119 >>>
120 >>> [I] dev-db/sqlite
121 >>> Available versions: (3) 3.12.0 ~3.12.1 ~3.12.2 3.13.0 ~3.14.1
122 >>> ~3.14.2 ~3.15.1 ~3.15.2 ~3.16.2
123 >>> {debug doc icu +readline secure-delete static-libs tcl test
124 >>> tools ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64"
125 >>> ABI_X86="32 64 x32"}
126 >>> Installed versions: 3.13.0(3)(11:35:43 AM 02/06/2017)(readline
127 >>> -debug -doc -icu -secure-delete -static-libs -tcl -test -tools
128 >>> ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64"
129 >>> ABI_X86="32 64 -x32")
130 >>>
131 >>>
132 >> -------------
133 >> I just compiled / installed webkit-gtk-2.14.3 with no problems.
134 >>
135 >> It replaced this version of webkit :
136 >> [ebuild R ] net-libs/webkit-gtk-2.12.5:4/37::gentoo USE="(X)
137 >> coverage egl geolocation gnome-keyring gstreamer introspection libnotify
138 >> nsplugin opengl spell wayland webgl (-aqua) -doc -gles2 -jit {-test}"
139 >> 0 KiB
140 >>
141 >>
142 >> These are the USE flags and package versions on my system :
143 >> [ebuild R ~] dev-db/sqlite-3.16.2:3::gentoo USE="icu readline
144 >> secure-delete static-libs tcl tools -debug -doc {-test}" ABI_X86="32
145 >> (64) (-x32)" 0 KiB
146 >> [ebuild R ~] net-libs/webkit-gtk-2.14.3:4/37::gentoo USE="(X)
147 >> coverage egl geolocation gnome-keyring gstreamer introspection libnotify
148 >> nsplugin opengl spell wayland webgl (-aqua) -doc -gles2 -jit {-test}"
149 >> 0 KiB
150 >>
151 >> -------------
152 >>
153 >> Suggestion : reinstall sqlite with the following USE flags "tools" +
154 >> "static-libs" + "icu" in "package.use" for sqlite, then attempt
155 >> compiling webkit-gtk.
156 >>
157 >> I will be very surprised if webkit doesn't find the necessary sqlite
158 >> deps, after this update.
159 >>
160 >> Corbin
161 >>
162 >>
163 >>
164 >>
165 >
166
167 Learn something new every day :)