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 <peter.nichvolo...@gmail.com>, 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 <pmari...@omilia.com> 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 <arjen.mar...@deltares.nl>,
> > 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: sqlite-users@mailinglists.sqlite.org
> > > > 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
> > > > sqlite-users@mailinglists.sqlite.org
> > > > 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
> > > sqlite-users@mailinglists.sqlite.org
> > > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> > _______________________________________________
> > sqlite-users mailing list
> > sqlite-users@mailinglists.sqlite.org
> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> >
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to