Static sqlite3 library for Linux

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Static sqlite3 library for Linux

Petros Marinos
Greetings dears!

While I am trying to build a static library of another tool which is dependent to sqlite, I need to use an sqlite3 static library as well. Still, in my Centos 7.4 system, I cannot find one. The error is shown below:

/bin/ld: cannot find -lsqlite3
collect2: error: ld returned 1 exit status
make[1]: *** [astdb2sqlite3] Error 1
make: *** [utils] Error 2

When I look for one with:

yum provides */libsqlite*.a

I find the Windows version:

/usr/x86_64-w64-mingw32/sys-root/mingw/lib/libsqlite3.a

Which of course is useless:

/usr/lib/gcc/x86_64-redhat-linux/4.8.5/…/…/…/…/lib64/libsqlite3.a: error adding symbols: File format not recognized
collect2: error: ld returned 1 exit status
make[1]: *** [astdb2sqlite3] Error 1
make: *** [utils] Error 2

Is there any chance that I can find a Linux flavour static sqlite3 library, or do I have to build from source?

And if I have to build from source, is it recommended to use the sqlite-autoconf or the sqlite-src pkg? Or does the amalgamation file could be of any use, so as to avoid compilation etc?

PS: One final relevant question, does the resulting libsqlite3.a file (when built from source), includes any other libraries like libc.a, libthread.a etc? Is there a way to avoid this?

Thank you in advance for your time!

Best Regards,
Petros
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: Static sqlite3 library for Linux

Arjen Markus-3
If you use the amalgamated source, there is only one file to be compiled. That can be as simple as:

gcc -c sqlite3.c

ar r libsqlite3.a sqlite3.o



Any further dependencies are up to the linker. No need to worry about that.



Regards,



Arjen


> -----Original Message-----
> From: sqlite-users [mailto:[hidden email]] On Behalf
> Of Petros Marinos
> Sent: Wednesday, February 14, 2018 3:30 PM
> To: [hidden email]
> Subject: [sqlite] Static sqlite3 library for Linux
>
> Greetings dears!
>
> While I am trying to build a static library of another tool which is dependent to sqlite,
> I need to use an sqlite3 static library as well. Still, in my Centos 7.4 system, I
> cannot find one. The error is shown below:
>
> /bin/ld: cannot find -lsqlite3
> collect2: error: ld returned 1 exit status
> make[1]: *** [astdb2sqlite3] Error 1
> make: *** [utils] Error 2
>
> When I look for one with:
>
> yum provides */libsqlite*.a
>
> I find the Windows version:
>
> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libsqlite3.a
>
> Which of course is useless:
>
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/.../.../.../.../lib64/libsqlite3.a: error adding
> symbols: File format not recognized
> collect2: error: ld returned 1 exit status
> make[1]: *** [astdb2sqlite3] Error 1
> make: *** [utils] Error 2
>
> Is there any chance that I can find a Linux flavour static sqlite3 library, or do I have
> to build from source?
>
> And if I have to build from source, is it recommended to use the sqlite-autoconf or
> the sqlite-src pkg? Or does the amalgamation file could be of any use, so as to
> avoid compilation etc?
>
> PS: One final relevant question, does the resulting libsqlite3.a file (when built from
> source), includes any other libraries like libc.a, libthread.a etc? Is there a way to
> avoid this?
>
> Thank you in advance for your time!
>
> Best Regards,
> Petros
> _______________________________________________
> sqlite-users mailing list
> [hidden email]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail.
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: Static sqlite3 library for Linux

Petros Marinos
Thank you Arjen and Simon for your answers, really helpful!

While there was progress by following the two commands noted in Arjen’s answer and creating the libsqlite.a file, I stumbled upon the following errors:

[LD] astdb2sqlite3.o db1-ast/libdb1.a -> astdb2sqlite3
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__libc_sigaction':
(.text+0x89f0): multiple definition of `__libc_sigaction'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(sigaction.o):(.text+0x20): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__libc_fsync':
(.text+0x8100): multiple definition of `__libc_fsync'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fsync.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__connect_nocancel':
(.text+0x7dc9): multiple definition of `__connect_nocancel'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(connect.o):(.text+0x9): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__libc_fcntl':
(.text+0x7c40): multiple definition of `__libc_fcntl'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fcntl.o):(.text+0xa0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__fsync_nocancel':
(.text+0x8109): multiple definition of `__fsync_nocancel'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fsync.o):(.text+0x9): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `_IO_funlockfile':
(.text+0x8990): multiple definition of `_IO_funlockfile'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(funlockfile.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__libc_nanosleep':
(.text+0x8220): multiple definition of `__libc_nanosleep'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(nanosleep.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__read':
(.text+0x7ae0): multiple definition of `__libc_read'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(read.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__open_nocancel':
(.text+0x8289): multiple definition of `__open_nocancel'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(open.o):(.text+0x9): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__lseek_nocancel':
(.text+0x8169): multiple definition of `__lseek_nocancel'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(llseek.o):(.text+0x9): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__read_nocancel':
(.text+0x7ae9): multiple definition of `__read_nocancel'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(read.o):(.text+0x9): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `send':
(.text+0x7f90): multiple definition of `__libc_send'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(send.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__libc_close':
(.text+0x7b40): multiple definition of `__libc_close'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(close.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__open':
(.text+0x8280): multiple definition of `__libc_open'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(open.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__write_nocancel':
(.text+0x7a89): multiple definition of `__write_nocancel'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(write.o):(.text+0x9): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__close_nocancel':
(.text+0x7b49): multiple definition of `__close_nocancel'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(close.o):(.text+0x9): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__fcntl_nocancel':
(.text+0x7ba0): multiple definition of `__fcntl_nocancel'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fcntl.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__llseek':
(.text+0x8160): multiple definition of `__libc_lseek'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(llseek.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `sigaction':
(.text+0x8be0): multiple definition of `__sigaction'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(sigaction.o):(.text+0x210): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__errno_location':
(.text+0x9df0): multiple definition of `__errno_location'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(errno-loc.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `_IO_funlockfile':
(.text+0x8990): multiple definition of `__funlockfile'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(funlockfile.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__lll_lock_wait_private':
(.text+0x77f0): multiple definition of `__lll_lock_wait_private'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(libc-lowlevellock.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__write':
(.text+0x7a80): multiple definition of `__libc_write'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(write.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__nanosleep_nocancel':
(.text+0x8229): multiple definition of `__nanosleep_nocancel'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(nanosleep.o):(.text+0x9): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `connect':
(.text+0x7dc0): multiple definition of `__libc_connect'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(connect.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `__lll_unlock_wake_private':
(.text+0x78a0): multiple definition of `__lll_unlock_wake_private'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(libc-lowlevellock.o):(.text+0x30): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `raise':
(.text+0x8880): multiple definition of `raise'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(raise.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o): In function `sem_open':
(.text+0x6a23): warning: the use of `mktemp' is dangerous, better use `mkstemp'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o): In function `unixDlOpen':
sqlite3.c:(.text+0xf4d2): undefined reference to `dlopen'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o): In function `unixDlError':
sqlite3.c:(.text+0xf4f1): undefined reference to `dlerror'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o): In function `unixDlSym':
sqlite3.c:(.text+0xf53e): undefined reference to `dlsym'
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o): In function `unixDlClose':
sqlite3.c:(.text+0xf570): undefined reference to `dlclose'
collect2: error: ld returned 1 exit status
make[1]: *** [astdb2sqlite3] Error 1
make: *** [utils] Error 2

There seems to be a conflict concerning the libc.a and libpthread.a static libraries? Maybe libc.a and/or libpthread.a are included in libsqlite3.a, but are conflicting with the equivalent static libraries provided by the "glibc-static" rpm?

I would really appreciate your thoughts! :-)

Best Regards,
Petros

On 14 Feb 2018, 16:33 +0200, Arjen Markus <[hidden email]>, wrote:

> If you use the amalgamated source, there is only one file to be compiled. That can be as simple as:
>
> gcc -c sqlite3.c
>
> ar r libsqlite3.a sqlite3.o
>
>
>
> Any further dependencies are up to the linker. No need to worry about that.
>
>
>
> Regards,
>
>
>
> Arjen
>
>
> > -----Original Message-----
> > From: sqlite-users [mailto:[hidden email]] On Behalf
> > Of Petros Marinos
> > Sent: Wednesday, February 14, 2018 3:30 PM
> > To: [hidden email]
> > Subject: [sqlite] Static sqlite3 library for Linux
> >
> > Greetings dears!
> >
> > While I am trying to build a static library of another tool which is dependent to sqlite,
> > I need to use an sqlite3 static library as well. Still, in my Centos 7.4 system, I
> > cannot find one. The error is shown below:
> >
> > /bin/ld: cannot find -lsqlite3
> > collect2: error: ld returned 1 exit status
> > make[1]: *** [astdb2sqlite3] Error 1
> > make: *** [utils] Error 2
> >
> > When I look for one with:
> >
> > yum provides */libsqlite*.a
> >
> > I find the Windows version:
> >
> > /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libsqlite3.a
> >
> > Which of course is useless:
> >
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/.../.../.../.../lib64/libsqlite3.a: error adding
> > symbols: File format not recognized
> > collect2: error: ld returned 1 exit status
> > make[1]: *** [astdb2sqlite3] Error 1
> > make: *** [utils] Error 2
> >
> > Is there any chance that I can find a Linux flavour static sqlite3 library, or do I have
> > to build from source?
> >
> > And if I have to build from source, is it recommended to use the sqlite-autoconf or
> > the sqlite-src pkg? Or does the amalgamation file could be of any use, so as to
> > avoid compilation etc?
> >
> > PS: One final relevant question, does the resulting libsqlite3.a file (when built from
> > source), includes any other libraries like libc.a, libthread.a etc? Is there a way to
> > avoid this?
> >
> > Thank you in advance for your time!
> >
> > Best Regards,
> > Petros
> > _______________________________________________
> > sqlite-users mailing list
> > [hidden email]
> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
> DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail.
> _______________________________________________
> sqlite-users mailing list
> [hidden email]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: Static sqlite3 library for Linux

petern
Petros, FYI.  gcc also has several different switches for object ouput:
eg. "gcc -c -static  ..."

It might help to investigate these options during steps to compile sqlite.c
and your main program to avoid dynamic/static symbol conflicts.

       -static
           On systems that support dynamic linking, this prevents linking
with the shared libraries.  On other systems, this option has no effect.

       -shared
           Produce a shared object which can then be linked with other
objects to form an executable.  Not all systems support this option.  For
predictable results,
           you must also specify the same set of options used for
compilation (-fpic, -fPIC, or model suboptions) when you specify this
linker option.[1]

       -shared-libgcc
       -static-libgcc
           On systems that provide libgcc as a shared library, these
options force the use of either the shared or static version,
respectively.  If no shared version
           of libgcc was built when the compiler was configured, these
options have no effect.

           There are several situations in which an application should use
the shared libgcc instead of the static version.  The most common of these
is when the
           application wishes to throw and catch exceptions across
different shared libraries.  In that case, each of the libraries as well as
the application itself
           should use the shared libgcc.

           Therefore, the G++ and GCJ drivers automatically add
-shared-libgcc whenever you build a shared library or a main executable,
because C++ and Java programs
           typically use exceptions, so this is the right thing to do.

--------------
I have a side question for you, if you can answer.
How did Omilia implement their speaker independent speech recognition
corpus?  Was it licensed from elsewhere or developed in house?

Peter



On Wed, Feb 14, 2018 at 8:27 AM, Petros Marinos <[hidden email]> wrote:

> Thank you Arjen and Simon for your answers, really helpful!
>
> While there was progress by following the two commands noted in Arjen’s
> answer and creating the libsqlite.a file, I stumbled upon the following
> errors:
>
> [LD] astdb2sqlite3.o db1-ast/libdb1.a -> astdb2sqlite3
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__libc_sigaction':
> (.text+0x89f0): multiple definition of `__libc_sigaction'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> libc.a(sigaction.o):(.text+0x20): first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__libc_fsync':
> (.text+0x8100): multiple definition of `__libc_fsync'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fsync.o):(.text+0x0):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__connect_nocancel':
> (.text+0x7dc9): multiple definition of `__connect_nocancel'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(connect.o):(.text+0x9):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__libc_fcntl':
> (.text+0x7c40): multiple definition of `__libc_fcntl'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fcntl.o):(.text+0xa0):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__fsync_nocancel':
> (.text+0x8109): multiple definition of `__fsync_nocancel'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fsync.o):(.text+0x9):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `_IO_funlockfile':
> (.text+0x8990): multiple definition of `_IO_funlockfile'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> libc.a(funlockfile.o):(.text+0x0): first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__libc_nanosleep':
> (.text+0x8220): multiple definition of `__libc_nanosleep'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> libc.a(nanosleep.o):(.text+0x0): first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__read':
> (.text+0x7ae0): multiple definition of `__libc_read'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(read.o):(.text+0x0):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__open_nocancel':
> (.text+0x8289): multiple definition of `__open_nocancel'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(open.o):(.text+0x9):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__lseek_nocancel':
> (.text+0x8169): multiple definition of `__lseek_nocancel'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(llseek.o):(.text+0x9):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__read_nocancel':
> (.text+0x7ae9): multiple definition of `__read_nocancel'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(read.o):(.text+0x9):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `send':
> (.text+0x7f90): multiple definition of `__libc_send'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(send.o):(.text+0x0):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__libc_close':
> (.text+0x7b40): multiple definition of `__libc_close'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(close.o):(.text+0x0):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__open':
> (.text+0x8280): multiple definition of `__libc_open'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(open.o):(.text+0x0):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__write_nocancel':
> (.text+0x7a89): multiple definition of `__write_nocancel'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(write.o):(.text+0x9):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__close_nocancel':
> (.text+0x7b49): multiple definition of `__close_nocancel'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(close.o):(.text+0x9):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__fcntl_nocancel':
> (.text+0x7ba0): multiple definition of `__fcntl_nocancel'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fcntl.o):(.text+0x0):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__llseek':
> (.text+0x8160): multiple definition of `__libc_lseek'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(llseek.o):(.text+0x0):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `sigaction':
> (.text+0x8be0): multiple definition of `__sigaction'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> libc.a(sigaction.o):(.text+0x210): first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__errno_location':
> (.text+0x9df0): multiple definition of `__errno_location'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> libc.a(errno-loc.o):(.text+0x0): first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `_IO_funlockfile':
> (.text+0x8990): multiple definition of `__funlockfile'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> libc.a(funlockfile.o):(.text+0x0): first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__lll_lock_wait_private':
> (.text+0x77f0): multiple definition of `__lll_lock_wait_private'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> libc.a(libc-lowlevellock.o):(.text+0x0): first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__write':
> (.text+0x7a80): multiple definition of `__libc_write'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(write.o):(.text+0x0):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__nanosleep_nocancel':
> (.text+0x8229): multiple definition of `__nanosleep_nocancel'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> libc.a(nanosleep.o):(.text+0x9): first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `connect':
> (.text+0x7dc0): multiple definition of `__libc_connect'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(connect.o):(.text+0x0):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `__lll_unlock_wake_private':
> (.text+0x78a0): multiple definition of `__lll_unlock_wake_private'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> libc.a(libc-lowlevellock.o):(.text+0x30): first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `raise':
> (.text+0x8880): multiple definition of `raise'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(raise.o):(.text+0x0):
> first defined here
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> In function `sem_open':
> (.text+0x6a23): warning: the use of `mktemp' is dangerous, better use
> `mkstemp'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> In function `unixDlOpen':
> sqlite3.c:(.text+0xf4d2): undefined reference to `dlopen'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> In function `unixDlError':
> sqlite3.c:(.text+0xf4f1): undefined reference to `dlerror'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> In function `unixDlSym':
> sqlite3.c:(.text+0xf53e): undefined reference to `dlsym'
> /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> In function `unixDlClose':
> sqlite3.c:(.text+0xf570): undefined reference to `dlclose'
> collect2: error: ld returned 1 exit status
> make[1]: *** [astdb2sqlite3] Error 1
> make: *** [utils] Error 2
>
> There seems to be a conflict concerning the libc.a and libpthread.a static
> libraries? Maybe libc.a and/or libpthread.a are included in libsqlite3.a,
> but are conflicting with the equivalent static libraries provided by the
> "glibc-static" rpm?
>
> I would really appreciate your thoughts! :-)
>
> Best Regards,
> Petros
>
> On 14 Feb 2018, 16:33 +0200, Arjen Markus <[hidden email]>,
> wrote:
> > If you use the amalgamated source, there is only one file to be
> compiled. That can be as simple as:
> >
> > gcc -c sqlite3.c
> >
> > ar r libsqlite3.a sqlite3.o
> >
> >
> >
> > Any further dependencies are up to the linker. No need to worry about
> that.
> >
> >
> >
> > Regards,
> >
> >
> >
> > Arjen
> >
> >
> > > -----Original Message-----
> > > From: sqlite-users [mailto:sqlite-users-bounces@
> mailinglists.sqlite.org] On Behalf
> > > Of Petros Marinos
> > > Sent: Wednesday, February 14, 2018 3:30 PM
> > > To: [hidden email]
> > > Subject: [sqlite] Static sqlite3 library for Linux
> > >
> > > Greetings dears!
> > >
> > > While I am trying to build a static library of another tool which is
> dependent to sqlite,
> > > I need to use an sqlite3 static library as well. Still, in my Centos
> 7.4 system, I
> > > cannot find one. The error is shown below:
> > >
> > > /bin/ld: cannot find -lsqlite3
> > > collect2: error: ld returned 1 exit status
> > > make[1]: *** [astdb2sqlite3] Error 1
> > > make: *** [utils] Error 2
> > >
> > > When I look for one with:
> > >
> > > yum provides */libsqlite*.a
> > >
> > > I find the Windows version:
> > >
> > > /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libsqlite3.a
> > >
> > > Which of course is useless:
> > >
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/.../.../.../.../lib64/libsqlite3.a:
> error adding
> > > symbols: File format not recognized
> > > collect2: error: ld returned 1 exit status
> > > make[1]: *** [astdb2sqlite3] Error 1
> > > make: *** [utils] Error 2
> > >
> > > Is there any chance that I can find a Linux flavour static sqlite3
> library, or do I have
> > > to build from source?
> > >
> > > And if I have to build from source, is it recommended to use the
> sqlite-autoconf or
> > > the sqlite-src pkg? Or does the amalgamation file could be of any use,
> so as to
> > > avoid compilation etc?
> > >
> > > PS: One final relevant question, does the resulting libsqlite3.a file
> (when built from
> > > source), includes any other libraries like libc.a, libthread.a etc? Is
> there a way to
> > > avoid this?
> > >
> > > Thank you in advance for your time!
> > >
> > > Best Regards,
> > > Petros
> > > _______________________________________________
> > > sqlite-users mailing list
> > > [hidden email]
> > > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> >
> > DISCLAIMER: This message is intended exclusively for the addressee(s)
> and may contain confidential and privileged information. If you are not the
> intended recipient please notify the sender immediately and destroy this
> message. Unauthorized use, disclosure or copying of this message is
> strictly prohibited. The foundation 'Stichting Deltares', which has its
> seat at Delft, The Netherlands, Commercial Registration Number 41146461, is
> not liable in any way whatsoever for consequences and/or damages resulting
> from the improper, incomplete and untimely dispatch, receipt and/or content
> of this e-mail.
> > _______________________________________________
> > sqlite-users mailing list
> > [hidden email]
> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> _______________________________________________
> sqlite-users mailing list
> [hidden email]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: Static sqlite3 library for Linux

Petros Marinos
Greetings Peter and thank you for your answer!

Ok, I’ll give these switches a go and will get back with my findings.

Concerning the side question, of course I can answer, no problem!
It is fully developed in-house.

Best Regards,
Petros

On 14 Feb 2018, 20:48 +0200, petern <[hidden email]>, wrote:

> Petros, FYI. gcc also has several different switches for object ouput:
> eg. "gcc -c -static ..."
>
> It might help to investigate these options during steps to compile sqlite.c
> and your main program to avoid dynamic/static symbol conflicts.
>
> -static
> On systems that support dynamic linking, this prevents linking
> with the shared libraries. On other systems, this option has no effect.
>
> -shared
> Produce a shared object which can then be linked with other
> objects to form an executable. Not all systems support this option. For
> predictable results,
> you must also specify the same set of options used for
> compilation (-fpic, -fPIC, or model suboptions) when you specify this
> linker option.[1]
>
> -shared-libgcc
> -static-libgcc
> On systems that provide libgcc as a shared library, these
> options force the use of either the shared or static version,
> respectively. If no shared version
> of libgcc was built when the compiler was configured, these
> options have no effect.
>
> There are several situations in which an application should use
> the shared libgcc instead of the static version. The most common of these
> is when the
> application wishes to throw and catch exceptions across
> different shared libraries. In that case, each of the libraries as well as
> the application itself
> should use the shared libgcc.
>
> Therefore, the G++ and GCJ drivers automatically add
> -shared-libgcc whenever you build a shared library or a main executable,
> because C++ and Java programs
> typically use exceptions, so this is the right thing to do.
>
> --------------
> I have a side question for you, if you can answer.
> How did Omilia implement their speaker independent speech recognition
> corpus? Was it licensed from elsewhere or developed in house?
>
> Peter
>
>
>
> On Wed, Feb 14, 2018 at 8:27 AM, Petros Marinos <[hidden email]> wrote:
>
> > Thank you Arjen and Simon for your answers, really helpful!
> >
> > While there was progress by following the two commands noted in Arjen’s
> > answer and creating the libsqlite.a file, I stumbled upon the following
> > errors:
> >
> > [LD] astdb2sqlite3.o db1-ast/libdb1.a -> astdb2sqlite3
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__libc_sigaction':
> > (.text+0x89f0): multiple definition of `__libc_sigaction'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > libc.a(sigaction.o):(.text+0x20): first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__libc_fsync':
> > (.text+0x8100): multiple definition of `__libc_fsync'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fsync.o):(.text+0x0):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__connect_nocancel':
> > (.text+0x7dc9): multiple definition of `__connect_nocancel'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(connect.o):(.text+0x9):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__libc_fcntl':
> > (.text+0x7c40): multiple definition of `__libc_fcntl'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fcntl.o):(.text+0xa0):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__fsync_nocancel':
> > (.text+0x8109): multiple definition of `__fsync_nocancel'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fsync.o):(.text+0x9):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `_IO_funlockfile':
> > (.text+0x8990): multiple definition of `_IO_funlockfile'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > libc.a(funlockfile.o):(.text+0x0): first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__libc_nanosleep':
> > (.text+0x8220): multiple definition of `__libc_nanosleep'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > libc.a(nanosleep.o):(.text+0x0): first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__read':
> > (.text+0x7ae0): multiple definition of `__libc_read'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(read.o):(.text+0x0):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__open_nocancel':
> > (.text+0x8289): multiple definition of `__open_nocancel'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(open.o):(.text+0x9):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__lseek_nocancel':
> > (.text+0x8169): multiple definition of `__lseek_nocancel'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(llseek.o):(.text+0x9):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__read_nocancel':
> > (.text+0x7ae9): multiple definition of `__read_nocancel'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(read.o):(.text+0x9):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `send':
> > (.text+0x7f90): multiple definition of `__libc_send'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(send.o):(.text+0x0):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__libc_close':
> > (.text+0x7b40): multiple definition of `__libc_close'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(close.o):(.text+0x0):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__open':
> > (.text+0x8280): multiple definition of `__libc_open'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(open.o):(.text+0x0):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__write_nocancel':
> > (.text+0x7a89): multiple definition of `__write_nocancel'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(write.o):(.text+0x9):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__close_nocancel':
> > (.text+0x7b49): multiple definition of `__close_nocancel'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(close.o):(.text+0x9):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__fcntl_nocancel':
> > (.text+0x7ba0): multiple definition of `__fcntl_nocancel'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fcntl.o):(.text+0x0):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__llseek':
> > (.text+0x8160): multiple definition of `__libc_lseek'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(llseek.o):(.text+0x0):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `sigaction':
> > (.text+0x8be0): multiple definition of `__sigaction'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > libc.a(sigaction.o):(.text+0x210): first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__errno_location':
> > (.text+0x9df0): multiple definition of `__errno_location'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > libc.a(errno-loc.o):(.text+0x0): first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `_IO_funlockfile':
> > (.text+0x8990): multiple definition of `__funlockfile'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > libc.a(funlockfile.o):(.text+0x0): first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__lll_lock_wait_private':
> > (.text+0x77f0): multiple definition of `__lll_lock_wait_private'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > libc.a(libc-lowlevellock.o):(.text+0x0): first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__write':
> > (.text+0x7a80): multiple definition of `__libc_write'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(write.o):(.text+0x0):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__nanosleep_nocancel':
> > (.text+0x8229): multiple definition of `__nanosleep_nocancel'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > libc.a(nanosleep.o):(.text+0x9): first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `connect':
> > (.text+0x7dc0): multiple definition of `__libc_connect'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(connect.o):(.text+0x0):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `__lll_unlock_wake_private':
> > (.text+0x78a0): multiple definition of `__lll_unlock_wake_private'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > libc.a(libc-lowlevellock.o):(.text+0x30): first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `raise':
> > (.text+0x8880): multiple definition of `raise'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(raise.o):(.text+0x0):
> > first defined here
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `sem_open':
> > (.text+0x6a23): warning: the use of `mktemp' is dangerous, better use
> > `mkstemp'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > In function `unixDlOpen':
> > sqlite3.c:(.text+0xf4d2): undefined reference to `dlopen'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > In function `unixDlError':
> > sqlite3.c:(.text+0xf4f1): undefined reference to `dlerror'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > In function `unixDlSym':
> > sqlite3.c:(.text+0xf53e): undefined reference to `dlsym'
> > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > In function `unixDlClose':
> > sqlite3.c:(.text+0xf570): undefined reference to `dlclose'
> > collect2: error: ld returned 1 exit status
> > make[1]: *** [astdb2sqlite3] Error 1
> > make: *** [utils] Error 2
> >
> > There seems to be a conflict concerning the libc.a and libpthread.a static
> > libraries? Maybe libc.a and/or libpthread.a are included in libsqlite3.a,
> > but are conflicting with the equivalent static libraries provided by the
> > "glibc-static" rpm?
> >
> > I would really appreciate your thoughts! :-)
> >
> > Best Regards,
> > Petros
> >
> > On 14 Feb 2018, 16:33 +0200, Arjen Markus <[hidden email]>,
> > wrote:
> > > If you use the amalgamated source, there is only one file to be
> > compiled. That can be as simple as:
> > >
> > > gcc -c sqlite3.c
> > >
> > > ar r libsqlite3.a sqlite3.o
> > >
> > >
> > >
> > > Any further dependencies are up to the linker. No need to worry about
> > that.
> > >
> > >
> > >
> > > Regards,
> > >
> > >
> > >
> > > Arjen
> > >
> > >
> > > > -----Original Message-----
> > > > From: sqlite-users [mailto:sqlite-users-bounces@
> > mailinglists.sqlite.org] On Behalf
> > > > Of Petros Marinos
> > > > Sent: Wednesday, February 14, 2018 3:30 PM
> > > > To: [hidden email]
> > > > Subject: [sqlite] Static sqlite3 library for Linux
> > > >
> > > > Greetings dears!
> > > >
> > > > While I am trying to build a static library of another tool which is
> > dependent to sqlite,
> > > > I need to use an sqlite3 static library as well. Still, in my Centos
> > 7.4 system, I
> > > > cannot find one. The error is shown below:
> > > >
> > > > /bin/ld: cannot find -lsqlite3
> > > > collect2: error: ld returned 1 exit status
> > > > make[1]: *** [astdb2sqlite3] Error 1
> > > > make: *** [utils] Error 2
> > > >
> > > > When I look for one with:
> > > >
> > > > yum provides */libsqlite*.a
> > > >
> > > > I find the Windows version:
> > > >
> > > > /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libsqlite3.a
> > > >
> > > > Which of course is useless:
> > > >
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/.../.../.../.../lib64/libsqlite3.a:
> > error adding
> > > > symbols: File format not recognized
> > > > collect2: error: ld returned 1 exit status
> > > > make[1]: *** [astdb2sqlite3] Error 1
> > > > make: *** [utils] Error 2
> > > >
> > > > Is there any chance that I can find a Linux flavour static sqlite3
> > library, or do I have
> > > > to build from source?
> > > >
> > > > And if I have to build from source, is it recommended to use the
> > sqlite-autoconf or
> > > > the sqlite-src pkg? Or does the amalgamation file could be of any use,
> > so as to
> > > > avoid compilation etc?
> > > >
> > > > PS: One final relevant question, does the resulting libsqlite3.a file
> > (when built from
> > > > source), includes any other libraries like libc.a, libthread.a etc? Is
> > there a way to
> > > > avoid this?
> > > >
> > > > Thank you in advance for your time!
> > > >
> > > > Best Regards,
> > > > Petros
> > > > _______________________________________________
> > > > sqlite-users mailing list
> > > > [hidden email]
> > > > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> > >
> > > DISCLAIMER: This message is intended exclusively for the addressee(s)
> > and may contain confidential and privileged information. If you are not the
> > intended recipient please notify the sender immediately and destroy this
> > message. Unauthorized use, disclosure or copying of this message is
> > strictly prohibited. The foundation 'Stichting Deltares', which has its
> > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is
> > not liable in any way whatsoever for consequences and/or damages resulting
> > from the improper, incomplete and untimely dispatch, receipt and/or content
> > of this e-mail.
> > > _______________________________________________
> > > sqlite-users mailing list
> > > [hidden email]
> > > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> > _______________________________________________
> > sqlite-users mailing list
> > [hidden email]
> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> >
> _______________________________________________
> sqlite-users mailing list
> [hidden email]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: [Legacy Email] Re: Static sqlite3 library for Linux

jreidthompson
https://www.sqlite.org/download.html

download
sqlite-autoconf-3220000.tar.gz

untar
cd into source dir

./configure
make

static lib is made by default along with shared libs

$ ls -rlt .libs/
total 9076
-rw-r--r-- 1 rthompso staff 7473704 Feb 15 11:42 sqlite3.o
-rwxr-xr-x 1 rthompso staff 4380288 Feb 15 11:42 libsqlite3.so.0.8.6
lrwxrwxrwx 1 rthompso staff      19 Feb 15 11:42 libsqlite3.so.0 -> libsqlite3.so.0.8.6
lrwxrwxrwx 1 rthompso staff      19 Feb 15 11:42 libsqlite3.so -> libsqlite3.so.0.8.6
-rw-r--r-- 1 rthompso staff 7729804 Feb 15 11:42 libsqlite3.a
-rw-r--r-- 1 rthompso staff     956 Feb 15 11:42 libsqlite3.lai
lrwxrwxrwx 1 rthompso staff      16 Feb 15 11:42 libsqlite3.la -> ../libsqlite3.la


reid


On Thu, 2018-02-15 at 14:39 +0200, Petros Marinos wrote:

> [EXTERNAL SOURCE]
>
>
>
> Greetings Peter and thank you for your answer!
>
> Ok, I’ll give these switches a go and will get back with my findings.
>
> Concerning the side question, of course I can answer, no problem!
> It is fully developed in-house.
>
> Best Regards,
> Petros
>
> On 14 Feb 2018, 20:48 +0200, petern <[hidden email]>, wrote:
> > Petros, FYI. gcc also has several different switches for object ouput:
> > eg. "gcc -c -static ..."
> >
> > It might help to investigate these options during steps to compile sqlite.c
> > and your main program to avoid dynamic/static symbol conflicts.
> >
> > -static
> > On systems that support dynamic linking, this prevents linking
> > with the shared libraries. On other systems, this option has no effect.
> >
> > -shared
> > Produce a shared object which can then be linked with other
> > objects to form an executable. Not all systems support this option. For
> > predictable results,
> > you must also specify the same set of options used for
> > compilation (-fpic, -fPIC, or model suboptions) when you specify this
> > linker option.[1]
> >
> > -shared-libgcc
> > -static-libgcc
> > On systems that provide libgcc as a shared library, these
> > options force the use of either the shared or static version,
> > respectively. If no shared version
> > of libgcc was built when the compiler was configured, these
> > options have no effect.
> >
> > There are several situations in which an application should use
> > the shared libgcc instead of the static version. The most common of these
> > is when the
> > application wishes to throw and catch exceptions across
> > different shared libraries. In that case, each of the libraries as well as
> > the application itself
> > should use the shared libgcc.
> >
> > Therefore, the G++ and GCJ drivers automatically add
> > -shared-libgcc whenever you build a shared library or a main executable,
> > because C++ and Java programs
> > typically use exceptions, so this is the right thing to do.
> >
> > --------------
> > I have a side question for you, if you can answer.
> > How did Omilia implement their speaker independent speech recognition
> > corpus? Was it licensed from elsewhere or developed in house?
> >
> > Peter
> >
> >
> >
> > On Wed, Feb 14, 2018 at 8:27 AM, Petros Marinos <[hidden email]> wrote:
> >
> > > Thank you Arjen and Simon for your answers, really helpful!
> > >
> > > While there was progress by following the two commands noted in Arjen’s
> > > answer and creating the libsqlite.a file, I stumbled upon the following
> > > errors:
> > >
> > > [LD] astdb2sqlite3.o db1-ast/libdb1.a -> astdb2sqlite3
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__libc_sigaction':
> > > (.text+0x89f0): multiple definition of `__libc_sigaction'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > libc.a(sigaction.o):(.text+0x20): first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__libc_fsync':
> > > (.text+0x8100): multiple definition of `__libc_fsync'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fsync.o):(.text+0x0):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__connect_nocancel':
> > > (.text+0x7dc9): multiple definition of `__connect_nocancel'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(connect.o):(.text+0x9):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__libc_fcntl':
> > > (.text+0x7c40): multiple definition of `__libc_fcntl'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fcntl.o):(.text+0xa0):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__fsync_nocancel':
> > > (.text+0x8109): multiple definition of `__fsync_nocancel'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fsync.o):(.text+0x9):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `_IO_funlockfile':
> > > (.text+0x8990): multiple definition of `_IO_funlockfile'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > libc.a(funlockfile.o):(.text+0x0): first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__libc_nanosleep':
> > > (.text+0x8220): multiple definition of `__libc_nanosleep'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > libc.a(nanosleep.o):(.text+0x0): first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__read':
> > > (.text+0x7ae0): multiple definition of `__libc_read'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(read.o):(.text+0x0):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__open_nocancel':
> > > (.text+0x8289): multiple definition of `__open_nocancel'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(open.o):(.text+0x9):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__lseek_nocancel':
> > > (.text+0x8169): multiple definition of `__lseek_nocancel'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(llseek.o):(.text+0x9):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__read_nocancel':
> > > (.text+0x7ae9): multiple definition of `__read_nocancel'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(read.o):(.text+0x9):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `send':
> > > (.text+0x7f90): multiple definition of `__libc_send'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(send.o):(.text+0x0):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__libc_close':
> > > (.text+0x7b40): multiple definition of `__libc_close'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(close.o):(.text+0x0):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__open':
> > > (.text+0x8280): multiple definition of `__libc_open'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(open.o):(.text+0x0):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__write_nocancel':
> > > (.text+0x7a89): multiple definition of `__write_nocancel'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(write.o):(.text+0x9):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__close_nocancel':
> > > (.text+0x7b49): multiple definition of `__close_nocancel'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(close.o):(.text+0x9):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__fcntl_nocancel':
> > > (.text+0x7ba0): multiple definition of `__fcntl_nocancel'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fcntl.o):(.text+0x0):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__llseek':
> > > (.text+0x8160): multiple definition of `__libc_lseek'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(llseek.o):(.text+0x0):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `sigaction':
> > > (.text+0x8be0): multiple definition of `__sigaction'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > libc.a(sigaction.o):(.text+0x210): first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__errno_location':
> > > (.text+0x9df0): multiple definition of `__errno_location'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > libc.a(errno-loc.o):(.text+0x0): first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `_IO_funlockfile':
> > > (.text+0x8990): multiple definition of `__funlockfile'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > libc.a(funlockfile.o):(.text+0x0): first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__lll_lock_wait_private':
> > > (.text+0x77f0): multiple definition of `__lll_lock_wait_private'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > libc.a(libc-lowlevellock.o):(.text+0x0): first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__write':
> > > (.text+0x7a80): multiple definition of `__libc_write'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(write.o):(.text+0x0):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__nanosleep_nocancel':
> > > (.text+0x8229): multiple definition of `__nanosleep_nocancel'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > libc.a(nanosleep.o):(.text+0x9): first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `connect':
> > > (.text+0x7dc0): multiple definition of `__libc_connect'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(connect.o):(.text+0x0):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `__lll_unlock_wake_private':
> > > (.text+0x78a0): multiple definition of `__lll_unlock_wake_private'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > libc.a(libc-lowlevellock.o):(.text+0x30): first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `raise':
> > > (.text+0x8880): multiple definition of `raise'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(raise.o):(.text+0x0):
> > > first defined here
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > In function `sem_open':
> > > (.text+0x6a23): warning: the use of `mktemp' is dangerous, better use
> > > `mkstemp'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > > In function `unixDlOpen':
> > > sqlite3.c:(.text+0xf4d2): undefined reference to `dlopen'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > > In function `unixDlError':
> > > sqlite3.c:(.text+0xf4f1): undefined reference to `dlerror'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > > In function `unixDlSym':
> > > sqlite3.c:(.text+0xf53e): undefined reference to `dlsym'
> > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > > In function `unixDlClose':
> > > sqlite3.c:(.text+0xf570): undefined reference to `dlclose'
> > > collect2: error: ld returned 1 exit status
> > > make[1]: *** [astdb2sqlite3] Error 1
> > > make: *** [utils] Error 2
> > >
> > > There seems to be a conflict concerning the libc.a and libpthread.a static
> > > libraries? Maybe libc.a and/or libpthread.a are included in libsqlite3.a,
> > > but are conflicting with the equivalent static libraries provided by the
> > > "glibc-static" rpm?
> > >
> > > I would really appreciate your thoughts! :-)
> > >
> > > Best Regards,
> > > Petros
> > >
> > > On 14 Feb 2018, 16:33 +0200, Arjen Markus <[hidden email]>,
> > > wrote:
> > > > If you use the amalgamated source, there is only one file to be
> > >
> > > compiled. That can be as simple as:
> > > >
> > > > gcc -c sqlite3.c
> > > >
> > > > ar r libsqlite3.a sqlite3.o
> > > >
> > > >
> > > >
> > > > Any further dependencies are up to the linker. No need to worry about
> > >
> > > that.
> > > >
> > > >
> > > >
> > > > Regards,
> > > >
> > > >
> > > >
> > > > Arjen
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: sqlite-users [mailto:sqlite-users-bounces@
> > >
> > > mailinglists.sqlite.org] On Behalf
> > > > > Of Petros Marinos
> > > > > Sent: Wednesday, February 14, 2018 3:30 PM
> > > > > To: [hidden email]
> > > > > Subject: [sqlite] Static sqlite3 library for Linux
> > > > >
> > > > > Greetings dears!
> > > > >
> > > > > While I am trying to build a static library of another tool which is
> > >
> > > dependent to sqlite,
> > > > > I need to use an sqlite3 static library as well. Still, in my Centos
> > >
> > > 7.4 system, I
> > > > > cannot find one. The error is shown below:
> > > > >
> > > > > /bin/ld: cannot find -lsqlite3
> > > > > collect2: error: ld returned 1 exit status
> > > > > make[1]: *** [astdb2sqlite3] Error 1
> > > > > make: *** [utils] Error 2
> > > > >
> > > > > When I look for one with:
> > > > >
> > > > > yum provides */libsqlite*.a
> > > > >
> > > > > I find the Windows version:
> > > > >
> > > > > /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libsqlite3.a
> > > > >
> > > > > Which of course is useless:
> > > > >
> > > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/.../.../.../.../lib64/libsqlite3.a:
> > >
> > > error adding
> > > > > symbols: File format not recognized
> > > > > collect2: error: ld returned 1 exit status
> > > > > make[1]: *** [astdb2sqlite3] Error 1
> > > > > make: *** [utils] Error 2
> > > > >
> > > > > Is there any chance that I can find a Linux flavour static sqlite3
> > >
> > > library, or do I have
> > > > > to build from source?
> > > > >
> > > > > And if I have to build from source, is it recommended to use the
> > >
> > > sqlite-autoconf or
> > > > > the sqlite-src pkg? Or does the amalgamation file could be of any use,
> > >
> > > so as to
> > > > > avoid compilation etc?
> > > > >
> > > > > PS: One final relevant question, does the resulting libsqlite3.a file
> > >
> > > (when built from
> > > > > source), includes any other libraries like libc.a, libthread.a etc? Is
> > >
> > > there a way to
> > > > > avoid this?
> > > > >
> > > > > Thank you in advance for your time!
> > > > >
> > > > > Best Regards,
> > > > > Petros
> > > > > _______________________________________________
> > > > > sqlite-users mailing list
> > > > > [hidden email]
> > > > > https://urldefense.proofpoint.com/v2/url?u=http-3A__mailinglists.sqlite.org_cgi-2Dbin_mailman_listinfo_sqlite-2Dusers&d=DwIGaQ&c=w8fEmIi-B5lsC0MnOiGTloUx5YmN70-3jVCmqqbXNxM&r=jgazr1zjWOphYRY
> > > > > UjdZQeDxY8qk_8iVga1Rl0Pl9NMY&m=rPqttEJ5_b04xXlvMz9e66-EFL5gVLRHyDujH5D9ZaU&s=NcobUWKm5A4kSOu1kYlhkcec95KmAd_NpQaGpP9ZRbo&e=
> > > >
> > > > DISCLAIMER: This message is intended exclusively for the addressee(s)
> > >
> > > and may contain confidential and privileged information. If you are not the
> > > intended recipient please notify the sender immediately and destroy this
> > > message. Unauthorized use, disclosure or copying of this message is
> > > strictly prohibited. The foundation 'Stichting Deltares', which has its
> > > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is
> > > not liable in any way whatsoever for consequences and/or damages resulting
> > > from the improper, incomplete and untimely dispatch, receipt and/or content
> > > of this e-mail.
> > > > _______________________________________________
> > > > sqlite-users mailing list
> > > > [hidden email]
> > > > https://urldefense.proofpoint.com/v2/url?u=http-3A__mailinglists.sqlite.org_cgi-2Dbin_mailman_listinfo_sqlite-2Dusers&d=DwIGaQ&c=w8fEmIi-B5lsC0MnOiGTloUx5YmN70-3jVCmqqbXNxM&r=jgazr1zjWOphYRYUj
> > > > dZQeDxY8qk_8iVga1Rl0Pl9NMY&m=rPqttEJ5_b04xXlvMz9e66-EFL5gVLRHyDujH5D9ZaU&s=NcobUWKm5A4kSOu1kYlhkcec95KmAd_NpQaGpP9ZRbo&e=
> > >
> > > _______________________________________________
> > > sqlite-users mailing list
> > > [hidden email]
> > > https://urldefense.proofpoint.com/v2/url?u=http-3A__mailinglists.sqlite.org_cgi-2Dbin_mailman_listinfo_sqlite-2Dusers&d=DwIGaQ&c=w8fEmIi-B5lsC0MnOiGTloUx5YmN70-3jVCmqqbXNxM&r=jgazr1zjWOphYRYUjdZ
> > > QeDxY8qk_8iVga1Rl0Pl9NMY&m=rPqttEJ5_b04xXlvMz9e66-EFL5gVLRHyDujH5D9ZaU&s=NcobUWKm5A4kSOu1kYlhkcec95KmAd_NpQaGpP9ZRbo&e=
> > >
> >
> > _______________________________________________
> > sqlite-users mailing list
> > [hidden email]
> > https://urldefense.proofpoint.com/v2/url?u=http-3A__mailinglists.sqlite.org_cgi-2Dbin_mailman_listinfo_sqlite-2Dusers&d=DwIGaQ&c=w8fEmIi-B5lsC0MnOiGTloUx5YmN70-3jVCmqqbXNxM&r=jgazr1zjWOphYRYUjdZQe
> > DxY8qk_8iVga1Rl0Pl9NMY&m=rPqttEJ5_b04xXlvMz9e66-EFL5gVLRHyDujH5D9ZaU&s=NcobUWKm5A4kSOu1kYlhkcec95KmAd_NpQaGpP9ZRbo&e=
>
> _______________________________________________
> sqlite-users mailing list
> [hidden email]
> https://urldefense.proofpoint.com/v2/url?u=http-3A__mailinglists.sqlite.org_cgi-2Dbin_mailman_listinfo_sqlite-2Dusers&d=DwIGaQ&c=w8fEmIi-B5lsC0MnOiGTloUx5YmN70-3jVCmqqbXNxM&r=jgazr1zjWOphYRYUjdZQeDx
> Y8qk_8iVga1Rl0Pl9NMY&m=rPqttEJ5_b04xXlvMz9e66-EFL5gVLRHyDujH5D9ZaU&s=NcobUWKm5A4kSOu1kYlhkcec95KmAd_NpQaGpP9ZRbo&e=
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: [Legacy Email] Re: Static sqlite3 library for Linux

Petros Marinos
Greetings Reid and thank you for your comment!

I have followed this procedure by running:

./configure --prefix=/usr/local/sqlite --enable-static --enable-fts5 --enable-json1 CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_RTREE=1”
make
make install

Unfortunately, I run into the very same errors! :-(

PS: Continuing to play around with the gcc -static switches...

Best Regards,
Petros

On 15 Feb 2018, 19:46 +0200, Reid Thompson <[hidden email]>, wrote:

> https://www.sqlite.org/download.html
>
> download
> sqlite-autoconf-3220000.tar.gz
>
> untar
> cd into source dir
>
> ./configure
> make
>
> static lib is made by default along with shared libs
>
> $ ls -rlt .libs/
> total 9076
> -rw-r--r-- 1 rthompso staff 7473704 Feb 15 11:42 sqlite3.o
> -rwxr-xr-x 1 rthompso staff 4380288 Feb 15 11:42 libsqlite3.so.0.8.6
> lrwxrwxrwx 1 rthompso staff 19 Feb 15 11:42 libsqlite3.so.0 -> libsqlite3.so.0.8.6
> lrwxrwxrwx 1 rthompso staff 19 Feb 15 11:42 libsqlite3.so -> libsqlite3.so.0.8.6
> -rw-r--r-- 1 rthompso staff 7729804 Feb 15 11:42 libsqlite3.a
> -rw-r--r-- 1 rthompso staff 956 Feb 15 11:42 libsqlite3.lai
> lrwxrwxrwx 1 rthompso staff 16 Feb 15 11:42 libsqlite3.la -> ../libsqlite3.la
>
>
> reid
>
>
> On Thu, 2018-02-15 at 14:39 +0200, Petros Marinos wrote:
> > [EXTERNAL SOURCE]
> >
> >
> >
> > Greetings Peter and thank you for your answer!
> >
> > Ok, I’ll give these switches a go and will get back with my findings.
> >
> > Concerning the side question, of course I can answer, no problem!
> > It is fully developed in-house.
> >
> > Best Regards,
> > Petros
> >
> > On 14 Feb 2018, 20:48 +0200, petern <[hidden email]>, wrote:
> > > Petros, FYI. gcc also has several different switches for object ouput:
> > > eg. "gcc -c -static ..."
> > >
> > > It might help to investigate these options during steps to compile sqlite.c
> > > and your main program to avoid dynamic/static symbol conflicts.
> > >
> > > -static
> > > On systems that support dynamic linking, this prevents linking
> > > with the shared libraries. On other systems, this option has no effect.
> > >
> > > -shared
> > > Produce a shared object which can then be linked with other
> > > objects to form an executable. Not all systems support this option. For
> > > predictable results,
> > > you must also specify the same set of options used for
> > > compilation (-fpic, -fPIC, or model suboptions) when you specify this
> > > linker option.[1]
> > >
> > > -shared-libgcc
> > > -static-libgcc
> > > On systems that provide libgcc as a shared library, these
> > > options force the use of either the shared or static version,
> > > respectively. If no shared version
> > > of libgcc was built when the compiler was configured, these
> > > options have no effect.
> > >
> > > There are several situations in which an application should use
> > > the shared libgcc instead of the static version. The most common of these
> > > is when the
> > > application wishes to throw and catch exceptions across
> > > different shared libraries. In that case, each of the libraries as well as
> > > the application itself
> > > should use the shared libgcc.
> > >
> > > Therefore, the G++ and GCJ drivers automatically add
> > > -shared-libgcc whenever you build a shared library or a main executable,
> > > because C++ and Java programs
> > > typically use exceptions, so this is the right thing to do.
> > >
> > > --------------
> > > I have a side question for you, if you can answer.
> > > How did Omilia implement their speaker independent speech recognition
> > > corpus? Was it licensed from elsewhere or developed in house?
> > >
> > > Peter
> > >
> > >
> > >
> > > On Wed, Feb 14, 2018 at 8:27 AM, Petros Marinos <[hidden email]> wrote:
> > >
> > > > Thank you Arjen and Simon for your answers, really helpful!
> > > >
> > > > While there was progress by following the two commands noted in Arjen’s
> > > > answer and creating the libsqlite.a file, I stumbled upon the following
> > > > errors:
> > > >
> > > > [LD] astdb2sqlite3.o db1-ast/libdb1.a -> astdb2sqlite3
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__libc_sigaction':
> > > > (.text+0x89f0): multiple definition of `__libc_sigaction'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > > libc.a(sigaction.o):(.text+0x20): first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__libc_fsync':
> > > > (.text+0x8100): multiple definition of `__libc_fsync'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fsync.o):(.text+0x0):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__connect_nocancel':
> > > > (.text+0x7dc9): multiple definition of `__connect_nocancel'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(connect.o):(.text+0x9):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__libc_fcntl':
> > > > (.text+0x7c40): multiple definition of `__libc_fcntl'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fcntl.o):(.text+0xa0):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__fsync_nocancel':
> > > > (.text+0x8109): multiple definition of `__fsync_nocancel'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fsync.o):(.text+0x9):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `_IO_funlockfile':
> > > > (.text+0x8990): multiple definition of `_IO_funlockfile'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > > libc.a(funlockfile.o):(.text+0x0): first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__libc_nanosleep':
> > > > (.text+0x8220): multiple definition of `__libc_nanosleep'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > > libc.a(nanosleep.o):(.text+0x0): first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__read':
> > > > (.text+0x7ae0): multiple definition of `__libc_read'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(read.o):(.text+0x0):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__open_nocancel':
> > > > (.text+0x8289): multiple definition of `__open_nocancel'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(open.o):(.text+0x9):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__lseek_nocancel':
> > > > (.text+0x8169): multiple definition of `__lseek_nocancel'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(llseek.o):(.text+0x9):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__read_nocancel':
> > > > (.text+0x7ae9): multiple definition of `__read_nocancel'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(read.o):(.text+0x9):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `send':
> > > > (.text+0x7f90): multiple definition of `__libc_send'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(send.o):(.text+0x0):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__libc_close':
> > > > (.text+0x7b40): multiple definition of `__libc_close'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(close.o):(.text+0x0):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__open':
> > > > (.text+0x8280): multiple definition of `__libc_open'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(open.o):(.text+0x0):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__write_nocancel':
> > > > (.text+0x7a89): multiple definition of `__write_nocancel'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(write.o):(.text+0x9):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__close_nocancel':
> > > > (.text+0x7b49): multiple definition of `__close_nocancel'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(close.o):(.text+0x9):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__fcntl_nocancel':
> > > > (.text+0x7ba0): multiple definition of `__fcntl_nocancel'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(fcntl.o):(.text+0x0):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__llseek':
> > > > (.text+0x8160): multiple definition of `__libc_lseek'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(llseek.o):(.text+0x0):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `sigaction':
> > > > (.text+0x8be0): multiple definition of `__sigaction'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > > libc.a(sigaction.o):(.text+0x210): first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__errno_location':
> > > > (.text+0x9df0): multiple definition of `__errno_location'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > > libc.a(errno-loc.o):(.text+0x0): first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `_IO_funlockfile':
> > > > (.text+0x8990): multiple definition of `__funlockfile'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > > libc.a(funlockfile.o):(.text+0x0): first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__lll_lock_wait_private':
> > > > (.text+0x77f0): multiple definition of `__lll_lock_wait_private'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > > libc.a(libc-lowlevellock.o):(.text+0x0): first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__write':
> > > > (.text+0x7a80): multiple definition of `__libc_write'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(write.o):(.text+0x0):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__nanosleep_nocancel':
> > > > (.text+0x8229): multiple definition of `__nanosleep_nocancel'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > > libc.a(nanosleep.o):(.text+0x9): first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `connect':
> > > > (.text+0x7dc0): multiple definition of `__libc_connect'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(connect.o):(.text+0x0):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `__lll_unlock_wake_private':
> > > > (.text+0x78a0): multiple definition of `__lll_unlock_wake_private'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/
> > > > libc.a(libc-lowlevellock.o):(.text+0x30): first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `raise':
> > > > (.text+0x8880): multiple definition of `raise'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(raise.o):(.text+0x0):
> > > > first defined here
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > > > In function `sem_open':
> > > > (.text+0x6a23): warning: the use of `mktemp' is dangerous, better use
> > > > `mkstemp'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > > > In function `unixDlOpen':
> > > > sqlite3.c:(.text+0xf4d2): undefined reference to `dlopen'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > > > In function `unixDlError':
> > > > sqlite3.c:(.text+0xf4f1): undefined reference to `dlerror'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > > > In function `unixDlSym':
> > > > sqlite3.c:(.text+0xf53e): undefined reference to `dlsym'
> > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libsqlite3.a(sqlite3.o):
> > > > In function `unixDlClose':
> > > > sqlite3.c:(.text+0xf570): undefined reference to `dlclose'
> > > > collect2: error: ld returned 1 exit status
> > > > make[1]: *** [astdb2sqlite3] Error 1
> > > > make: *** [utils] Error 2
> > > >
> > > > There seems to be a conflict concerning the libc.a and libpthread.a static
> > > > libraries? Maybe libc.a and/or libpthread.a are included in libsqlite3.a,
> > > > but are conflicting with the equivalent static libraries provided by the
> > > > "glibc-static" rpm?
> > > >
> > > > I would really appreciate your thoughts! :-)
> > > >
> > > > Best Regards,
> > > > Petros
> > > >
> > > > On 14 Feb 2018, 16:33 +0200, Arjen Markus <[hidden email]>,
> > > > wrote:
> > > > > If you use the amalgamated source, there is only one file to be
> > > >
> > > > compiled. That can be as simple as:
> > > > >
> > > > > gcc -c sqlite3.c
> > > > >
> > > > > ar r libsqlite3.a sqlite3.o
> > > > >
> > > > >
> > > > >
> > > > > Any further dependencies are up to the linker. No need to worry about
> > > >
> > > > that.
> > > > >
> > > > >
> > > > >
> > > > > Regards,
> > > > >
> > > > >
> > > > >
> > > > > Arjen
> > > > >
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: sqlite-users [mailto:sqlite-users-bounces@
> > > >
> > > > mailinglists.sqlite.org] On Behalf
> > > > > > Of Petros Marinos
> > > > > > Sent: Wednesday, February 14, 2018 3:30 PM
> > > > > > To: [hidden email]
> > > > > > Subject: [sqlite] Static sqlite3 library for Linux
> > > > > >
> > > > > > Greetings dears!
> > > > > >
> > > > > > While I am trying to build a static library of another tool which is
> > > >
> > > > dependent to sqlite,
> > > > > > I need to use an sqlite3 static library as well. Still, in my Centos
> > > >
> > > > 7.4 system, I
> > > > > > cannot find one. The error is shown below:
> > > > > >
> > > > > > /bin/ld: cannot find -lsqlite3
> > > > > > collect2: error: ld returned 1 exit status
> > > > > > make[1]: *** [astdb2sqlite3] Error 1
> > > > > > make: *** [utils] Error 2
> > > > > >
> > > > > > When I look for one with:
> > > > > >
> > > > > > yum provides */libsqlite*.a
> > > > > >
> > > > > > I find the Windows version:
> > > > > >
> > > > > > /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libsqlite3.a
> > > > > >
> > > > > > Which of course is useless:
> > > > > >
> > > > > > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/.../.../.../.../lib64/libsqlite3.a:
> > > >
> > > > error adding
> > > > > > symbols: File format not recognized
> > > > > > collect2: error: ld returned 1 exit status
> > > > > > make[1]: *** [astdb2sqlite3] Error 1
> > > > > > make: *** [utils] Error 2
> > > > > >
> > > > > > Is there any chance that I can find a Linux flavour static sqlite3
> > > >
> > > > library, or do I have
> > > > > > to build from source?
> > > > > >
> > > > > > And if I have to build from source, is it recommended to use the
> > > >
> > > > sqlite-autoconf or
> > > > > > the sqlite-src pkg? Or does the amalgamation file could be of any use,
> > > >
> > > > so as to
> > > > > > avoid compilation etc?
> > > > > >
> > > > > > PS: One final relevant question, does the resulting libsqlite3.a file
> > > >
> > > > (when built from
> > > > > > source), includes any other libraries like libc.a, libthread.a etc? Is
> > > >
> > > > there a way to
> > > > > > avoid this?
> > > > > >
> > > > > > Thank you in advance for your time!
> > > > > >
> > > > > > Best Regards,
> > > > > > Petros
> > > > > > _______________________________________________
> > > > > > sqlite-users mailing list
> > > > > > [hidden email]
> > > > > > https://urldefense.proofpoint.com/v2/url?u=http-3A__mailinglists.sqlite.org_cgi-2Dbin_mailman_listinfo_sqlite-2Dusers&d=DwIGaQ&c=w8fEmIi-B5lsC0MnOiGTloUx5YmN70-3jVCmqqbXNxM&r=jgazr1zjWOphYRY
> > > > > > UjdZQeDxY8qk_8iVga1Rl0Pl9NMY&m=rPqttEJ5_b04xXlvMz9e66-EFL5gVLRHyDujH5D9ZaU&s=NcobUWKm5A4kSOu1kYlhkcec95KmAd_NpQaGpP9ZRbo&e=
> > > > >
> > > > > DISCLAIMER: This message is intended exclusively for the addressee(s)
> > > >
> > > > and may contain confidential and privileged information. If you are not the
> > > > intended recipient please notify the sender immediately and destroy this
> > > > message. Unauthorized use, disclosure or copying of this message is
> > > > strictly prohibited. The foundation 'Stichting Deltares', which has its
> > > > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is
> > > > not liable in any way whatsoever for consequences and/or damages resulting
> > > > from the improper, incomplete and untimely dispatch, receipt and/or content
> > > > of this e-mail.
> > > > > _______________________________________________
> > > > > sqlite-users mailing list
> > > > > [hidden email]
> > > > > https://urldefense.proofpoint.com/v2/url?u=http-3A__mailinglists.sqlite.org_cgi-2Dbin_mailman_listinfo_sqlite-2Dusers&d=DwIGaQ&c=w8fEmIi-B5lsC0MnOiGTloUx5YmN70-3jVCmqqbXNxM&r=jgazr1zjWOphYRYUj
> > > > > dZQeDxY8qk_8iVga1Rl0Pl9NMY&m=rPqttEJ5_b04xXlvMz9e66-EFL5gVLRHyDujH5D9ZaU&s=NcobUWKm5A4kSOu1kYlhkcec95KmAd_NpQaGpP9ZRbo&e=
> > > >
> > > > _______________________________________________
> > > > sqlite-users mailing list
> > > > [hidden email]
> > > > https://urldefense.proofpoint.com/v2/url?u=http-3A__mailinglists.sqlite.org_cgi-2Dbin_mailman_listinfo_sqlite-2Dusers&d=DwIGaQ&c=w8fEmIi-B5lsC0MnOiGTloUx5YmN70-3jVCmqqbXNxM&r=jgazr1zjWOphYRYUjdZ
> > > > QeDxY8qk_8iVga1Rl0Pl9NMY&m=rPqttEJ5_b04xXlvMz9e66-EFL5gVLRHyDujH5D9ZaU&s=NcobUWKm5A4kSOu1kYlhkcec95KmAd_NpQaGpP9ZRbo&e=
> > > >
> > >
> > > _______________________________________________
> > > sqlite-users mailing list
> > > [hidden email]
> > > https://urldefense.proofpoint.com/v2/url?u=http-3A__mailinglists.sqlite.org_cgi-2Dbin_mailman_listinfo_sqlite-2Dusers&d=DwIGaQ&c=w8fEmIi-B5lsC0MnOiGTloUx5YmN70-3jVCmqqbXNxM&r=jgazr1zjWOphYRYUjdZQe
> > > DxY8qk_8iVga1Rl0Pl9NMY&m=rPqttEJ5_b04xXlvMz9e66-EFL5gVLRHyDujH5D9ZaU&s=NcobUWKm5A4kSOu1kYlhkcec95KmAd_NpQaGpP9ZRbo&e=
> >
> > _______________________________________________
> > sqlite-users mailing list
> > [hidden email]
> > https://urldefense.proofpoint.com/v2/url?u=http-3A__mailinglists.sqlite.org_cgi-2Dbin_mailman_listinfo_sqlite-2Dusers&d=DwIGaQ&c=w8fEmIi-B5lsC0MnOiGTloUx5YmN70-3jVCmqqbXNxM&r=jgazr1zjWOphYRYUjdZQeDx
> > Y8qk_8iVga1Rl0Pl9NMY&m=rPqttEJ5_b04xXlvMz9e66-EFL5gVLRHyDujH5D9ZaU&s=NcobUWKm5A4kSOu1kYlhkcec95KmAd_NpQaGpP9ZRbo&e=
> _______________________________________________
> sqlite-users mailing list
> [hidden email]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users