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