LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   bmpx throws undefined reference to `sqlite3_prepare_v2' during build (https://www.linuxquestions.org/questions/linux-software-2/bmpx-throws-undefined-reference-to-%60sqlite3_prepare_v2-during-build-764629/)

vofka 10-26-2009 04:10 PM

bmpx throws undefined reference to `sqlite3_prepare_v2' during build
 
I have the following problem: i try to install bmpx-0.40.14. The configure script finished successful. But during the build (make), i get the following problem :
....
l/lib/libofa.so /usr/lib/libexpat.so /usr/local/lib/libfftw3.a -lm -lhal-storage -lhal /usr/local/lib/libdbus-1.so -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib
bmp2_bin-database.o: In function `Bmp::DB::Database::statement_prepare(sqlite3_stmt**, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sqlite3*) const':
/root/Desktop/bmpx-0.40.11/src/database.cc:520: undefined reference to `sqlite3_prepare_v2'
collect2: ld returned 1 exit status
make[4]: *** [bmp2-bin] Error 1
make[4]: Leaving directory `/root/Desktop/bmpx-0.40.11/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/root/Desktop/bmpx-0.40.11/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/Desktop/bmpx-0.40.11/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/Desktop/bmpx-0.40.11'
make: *** [all] Error 2
You have mail in /var/spool/mail/root
[root@localhost bmpx-0.40.11]#

It seems that function Bmp::DB::Database::statement_prepare(sqlite3_stmt**, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sqlite3*) const cannot find sqlite3_prepare_v2 in my sqlite package. However i have:
[root@localhost sqlite-3.6.4]# pkg-config --modversion sqlite3
3.6.4.
And the new sqlite3_prepare_v2 API was added in release version 3.3.9
http://www.sqlite.org/changes.html
If try to install older versions of bmpx-0.32 and 0.36 it build and install without errors.
Please write if you have any suggestions.

knudfl 10-30-2009 12:41 AM

... And which "Linux" are you using ? ?
Like 'Redhat EL 5' , Fedora 11 , etc. etc.
So please tell, may be we can help you then ...

It is a must to inform about OS, every time
you ask a question. Or add the OS to your profile
> My LQ → Edit Profile.


http://www.linuxquestions.org/linux/...Ask_a_Question
http://linuxsilo.net/docs/smart-questions_en.html
.....

vofka 11-03-2009 03:26 PM

I am using Red Hat Enterprise Linux 5.2

knudfl 11-07-2009 11:07 AM

Generally it seems that bmpx-0.40.14 is picky with versions
of the used libraries.
I know for sure that sqlite-3.6.12 will compile on EL 5.
http://www.linuxquestions.org/questi...3/?highlight#3
.. But may be also try with e.g. version 3.6.20 ?
.....

knudfl 11-09-2009 01:50 PM

Sorry, but bmpx-0.40.14 may need a much later sqlite :

'bmpx-0.40.14 will compile with sqlite-3.5.9, using this source :
'bmpx_0.40.14.orig.tar.gz', and a patch 'bmpx_0.40.14-1.diff.gz'
from
http://packages.ubuntu.com/intrepid/bmpx
> > Links for bmpx
.. I used g++-4.1 to compile bmpx on Ubuntu 8.10 .
( Like the default g++ on Redhat EL 5.x .)
→ → ↓
Ubuntu 8.10 has all the required libraries ...

.. and I got a usable bmpx → /usr/local/bin/beep-media-player-2 ,
bmp2 , bmp-play-files-2.0 , bmp-play-uris-2.0

.....

sqlite 3.5.9
http://packages.ubuntu.com/intrepid/libsqlite3-0
> > Links for libsqlite3-0 :
[sqlite3_3.5.9.orig.tar.gz] , [sqlite3_3.5.9-3.diff.gz]

.. Unpack the patch to sqlite3-3.5.9/
cd sqlite3-3.5.9/ && patch -p1 < sqlite3_3.5.9-3.diff

The patching will also create some patches in
sqlite3-3.5.9/debian/patches/01- 02- 03- 04-..
.. copy the patches to the top directory sqlite3-3.5.9/
and patch with : 'patch -p1 < "01-....".diff', etc. etc.
.. And sqlite-3.5.9 will compile OK on Redhat EL 5.x .
.....
..... :) ... Good luck !
.....

knudfl 11-09-2009 03:00 PM

.. I also found these : sqlite-3.6.17-1.fc12.src.rpm +
sqlite-3.6.12-3.fc11.src.rpm
.. example links :
http://ftp.us.unixeria.com/fedora/li...1.fc12.src.rpm
http://fedora.secsup.org/linux/relea...3.fc11.src.rpm
.. which automagically will create sqlite"3" rpm packages for EL 5 :

1) mkdir -p --verbose $HOME/rpms/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
2) mkdir -p --verbose $HOME/rpms/RPMS/{athlon,i386,i486,i586,i686,noarch}
3) echo "%_topdir `echo $HOME/rpms`" > $HOME/.rpmmacros

4) cp sqlite-3.6.12-3.fc11.src.rpm rpms/SOURCES/
4a) cd rpms/SOURCES/
4b) rpm2cpio sqlite-3.6.12-3.fc11.src.rpm | cpio -idmv
4c) cp sqlite.spec ../SPECS/
4d) cd ../SPECS/

5) rpmbuild -bb sqlite.spec
... and the packages :
sqlite-3.6.12-3.i386.rpm + sqlite-devel-3.6.12-3.i386.rpm
will be created to rpms/RPMS/<arch> .
.....
Alternatively
sqlite-3.6.17-1.i386.rpm , sqlite-devel-3.6.17-1.i386.rpm .
.....
.....
The reason not to unpack e.g. 'sqlite-3.6.12-3.fc11.src.rpm '
to the target folders using ...
rpm -i sqlite-3.6.12-3.fc11.src.rpm ... is an MD5 checksum
mismatch somewhere in the package.
.....
P.S. : 3.5.9 'src.rpm' :
wget http://download.fedora.redhat.com/pu...2.fc10.src.rpm
.....


All times are GMT -5. The time now is 05:11 AM.