简体   繁体   English

为PowerPC构建mysql ++库

[英]Building mysql++ libraries for powerpc

I have an embedded application written in C++ (running on a PowerPC in linux environment) which accesses an external database. 我有一个用C ++编写的嵌入式应用程序(在Linux环境中的PowerPC上运行),它可以访问外部数据库。 So my application needs mysql++ libraries which needs to be built using a powerpc compiler. 因此,我的应用程序需要使用Powerpc编译器构建的mysql ++库。 Before building the libraries, I wanted to build mysql++ libraries for linux on my Ubuntu VM to check the procedure. 在构建库之前,我想在Ubuntu VM上为Linux构建mysql ++库,以检查该过程。 I downloaded the latest package from Official Website . 我从官方网站下载了最新的软件包。 Then I followed the steps mentioned. 然后,我按照提到的步骤进行操作。

  1. Ran ./configure from the root directory, I got the below error. 从根目录运行./configure ,出现以下错误。

* checking for MySQL library directory... configure: error: Didn't find mysqlclient library in '/usr/lib64 /usr/lib /usr/lib64/mysql /usr/lib/mysql /usr/local/lib64 /usr/local/lib /usr/local/lib/mysql /usr/local/mysql/lib /usr/local/mysql/lib/mysql /usr/mysql/lib/mysql /opt/mysql/lib /opt/mysql/lib/mysql /sw/lib /sw/lib/mysql' * * 检查MySQL库目录...配置:错误:在'/ usr / lib64 / usr / lib / usr / lib64 / mysql / usr / lib / mysql / usr / local / lib64 / usr /中找不到mysqlclient库本地/ lib / usr / local / lib / mysql / usr / local / mysql / lib / usr / local / mysql / lib / mysql / usr / mysql / lib / mysql / opt / mysql / lib / opt / mysql / lib / mysql / sw / lib / sw / lib / mysql' *

I tried locate mysqlclient and did not find any references, hence I followed instructions given in other forums and tried to install the libmysqlclient15-dev using the below command. 我尝试定位mysqlclient,但未找到任何引用,因此我遵循了其他论坛中给出的说明,并尝试使用以下命令安装libmysqlclient15-dev。

sudo apt-get install libmysqlclient15-dev 须藤apt-get install libmysqlclient15-dev

The output is as shown below 输出如下图所示

Reading package lists... Done Building dependency tree 正在读取包列表...完成构建依赖关系树
Reading state information... Done Note, selecting 'libmysqlclient-dev' instead of 'libmysqlclient15-dev' libmysqlclient-dev is already the newest version. 读取状态信息...完成注意,选择'libmysqlclient-dev'代替'libmysqlclient15-dev'libmysqlclient-dev已经是最新版本。

The following packages were automatically installed and are no longer required: libcommons-collections3-java junit4 libecj-java libdb5.1-java libasm3-java libgcj-bc gcj-4.6-jre-lib libgnomeui-common libcommons-el-java junit linux-headers-3.2.0-32 linux-headers-3.2.0-29 libcommons-compress-java libregexp-java libdb-java libswt-cairo-gtk-3-jni libjasper-java libbonoboui2-common libbonoboui2-0 libdb5.1-java-gcj libcommons-httpclient-java libservlet2.4-java liblucene2-java libswt-gtk-3-java libcommons-cli-java libslf4j-java libgcj12 libxml-commons-external-java libswt-webkit-gtk-3-jni linux-headers-3.2.0-29-generic-pae libswt-gtk-3-jni ant gcj-4.6-base libcommons-logging-java default-jdk libswt-glx-gtk-3-jni libcommons-codec-java jarwrapper libequinox-osgi-java libgcj-common libapache-pom-java libgnomeui-0 libjetty-java libjline-java libxerces2-java sat4j libcommons-beanutils-java libdb-je-java fastjar libcommons-digester-java libcommons-parent-java libhamcrest-java libjtidy-java libxml-co 以下软件包是自动安装的,不再需要:libcommons-collections3-java junit4 libecj-java libdb5.1-java libasm3-java libgcj-bc gcj-4.6-jre-lib libgnomeui-common libcommons-el-java junit linux- headers-3.2.0-32 linux-headers-3.2.0-29 libcommons-compress-java libregexp-java libdb-java libswt-cairo-gtk-3-jni libjasper-java libbonoboui2-common libbonoboui2-0 libdb5.1-java -gcj libcommons-httpclient-java libservlet2.4-java liblucene2-java libswt-gtk-3-java libcommons-cli-java libslf4j-java libgcj12 libxml-commons-external-java libswt-webkit-gtk-3-jni linux-headers -3.2.0-29-generic-pae libswt-gtk-3-jni ant gcj-4.6-base libcommons-logging-java default-jdk libswt-glx-gtk-3-jni libcommons-codec-java jarwrapper libequinox-osgi- java libgcj-公共libapache-pom-java libgnomeui-0 libjetty-java libjline-java libxerces2-java sat4j libcommons-beanutils-java libdb-je-java fastjar libcommons-digester-java libcommons-parent-java libhamcrest-java libjtidy-java libxml -co mmons-resolver1.1-java libicu4j-java linux-headers-3.2.0-32-generic-pae libicu4j-4.4-java libwebkitgtk-1.0-common libcommons-lang-java libwebkitgtk-1.0-0 libjavascriptcoregtk-1.0-0 libjsch-java ant-optional libswt-gnome-gtk-3-jni mmons-resolver1.1-java libicu4j-java linux-headers-3.2.0-32-generic-pae libicu4j-4.4-java libwebkitgtk-1.0-common libcommons-lang-java libwebkitgtk-1.0-0 libjavascriptcoregtk-1.0-0 libjsch- java ant-可选libswt-gnome-gtk-3-jni

Use 'apt-get autoremove' to remove them. 使用“ apt-get autoremove”将其删除。 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 0已升级,0新安装,0已删除和0未升级。

After this I tried to locate libmysqlclient and I still couldn't find the libraries (.so files). 之后,我试图找到libmysqlclient,但仍然找不到库(.so文件)。 I tried ./configure again and it failed in the same location with the same error message. 我再次尝试./configure ,但它在同一位置失败并显示相同的错误消息。 How can I install libmysqlclient ? 如何安装libmysqlclient?

Once this is solved I will rebuild the mysql++ library using my toolchain for powerpc. 解决此问题后,我将使用用于powerpc的工具链重建mysql ++库。 Has anyone tried this ? 有人尝试过吗? To build mysql++ library I need mysqlclient, in the earlier example I would install it by executing the command apt-get , but the libraries would be compiled using a gnu compiler ? 要构建mysql ++库,我需要mysqlclient,在前面的示例中,我将通过执行apt-get命令安装它,但是这些库将使用gnu编译器进行编译? How to cross compile mysqlclient for powerpc ? 如何交叉编译PowerPC的mysqlclient? I guess I need to do the below 我想我需要做以下

  1. Build mysqlclient for powerpc. 为powerpc构建mysqlclient。
  2. Use those libraries and build mysql++ libraries for powerpc. 使用这些库并为powerpc构建mysql ++库。
  3. Use mysql++ and mysqlclient libraries in my application and compile for powerpc. 在我的应用程序中使用mysql ++和mysqlclient库,并为powerpc进行编译。

I am new to linux and databases. 我是Linux和数据库的新手。

I finally solved this problem. 我终于解决了这个问题。 I did the below. 我做了以下。

  1. Downloaded the Connector/C (libmysql) source files from here 从此处下载了Connector / C(libmysql)源文件
  2. Cross compiled it for powerpc, below is the command given to cmake 为powerpc交叉编译它,下面是给cmake的命令

     cmake -DCMAKE_INSTALL_PREFIX="~/mysqlclient_C/lib" -DCMAKE_C_COMPILER="ppc_4xx-gcc" -DCMAKE_C_FLAGS="-I/opt/ELDK/4.2/ppc_4xx/usr/include/" -DCMAKE_CXX_COMPILER="ppc_4xx-g++" -DCMAKE_CXX_FLAGS="-I/opt/ELDK/4.2/ppc_4xx/usr/include/" -DCMAKE_EXE_LINKER_FLAGS="-lm" 

Then a simple make generated the libmysql libraries. 然后一个简单的make生成了libmysql库。

  1. Downloaded mysql++ source files from here 此处下载的mysql ++源文件
  2. Cross compiled it for powerpc, below is my configure command 为powerpc交叉编译它,下面是我的configure命令

     ./configure --target=powerpc-linux --host=powerpc-linux --prefix="$HOME/mysql++/lib" --enable-thread-check --with-mysql="$HOME/mysqlclient_C/lib" CC=ppc_4xx-gcc CXX=ppc_4xx-g++ LDFLAGS=-lm CFFLAGS="-I/opt/ELDK/4.2/ppc_4xx/usr/include" CXXFLAGS="-I/opt/ELDK/4.2/ppc_4xx/usr/include" 
  3. The mysql++ libraries is generated now. 现在生成mysql ++库。

I have not tested the built libraries yet. 我尚未测试内置库。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM