error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

Windows服务器Azure云编译安装MariaDB教程

www.111cn.net 编辑:future 来源:转载

安装MariaDB数据库最多用于linux系统中了,下文给各位介绍在Windows服务器Azure云编译安装MariaDB教程,希望本文能帮助到各位。

试用1元Windows Azure,带宽都是杠杠的。下面演示下Windows Azure下编译安装LNMP环境,系统环境是Ubuntu 14.04 TLS版

软件版本:

数据库:mariadb-10.0.13 Stable
PHP:php-5.5.15 Stable
Nginx:nginx/1.4.6 (Ubuntu)(这里Nginx采用Ubuntu的apt安装方式)

1.新建MySQL用户:

考虑到系统安装,新建的用户不能登录(nologin),编辑 vi /etc/shells 添加 “/usr/sbin/nologin”使系统支持创建nologin用户

useradd -m /app/mysql -s /usr/sbin/nologin -u 555 mysql

2.安装编译环境和安装MariaDB已经PHP依赖包:

apt-get install build-essential
apt-get install libncurses5-dev cmake bison libxml2 libxml2-dev libxslt1-dev libcurl4-openssl-dev libbz2-dev
libpcre3 libpcre3-dev unzip openssl libssl-dev libpng12-dev libfreetype6-dev libjpeg-dev libmcrypt-dev
libldap2-dev libsasl2-dev libboost-dev

3.下载并编译安装MariaDB、PHP

wget http://cn2.php.net/get/php-5.5.15.tar.bz2/from/this/mirror

wget http://mirrors.neusoft.edu.cn/mariadb/mariadb-10.0.13/source/mariadb-10.0.13.tar.gz

1).安装目录分别为:/app/mysql 和 /app/php5

2).cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql/ -DMYSQL_DATADIR=/app/mysql/data/
-DSYSCONFDIR=/app/mysql/etc/ -DMYSQL_UNIX_ADDR=/app/mysql/tmp/mysqld.sock -DMYSQL_TCP_PORT=3336
-DWITH_SSL=system -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_ZLIB=system -DENABLED_LOCAL_INFILE=1
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql
3)../configure --prefix=/app/php5 --with-config-file-path=/app/php5/etc/ --with-mysql=mysqlnd
--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/app/mysql/tmp/mysqld.sock --with-freetype-dir
--with-jpeg-dir --with-png-dir --with-zlib --enable-xml --disable-rpath --enable-bcmath --enable-shmop
--enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt
--with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap
--with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --enable-fpm --with-fpm-user=www-data
--with-fpm-group=www-data --enable-opcache

Ubuntu14.04 编译安装新版本的PHP5.5可能会出现如下错误:

/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol ‘[email protected]@OPENLDAP_2.4_2‘
//usr/lib/x86_64-linux-gnu/liblber-2.4.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

遇到这种类似的情况,说明「./configure 」?]抓好一些环境变数值。解决方法,来自老外的一篇文章:

在PHP源码目录下 vi Makefile 找到 EXTRA_LIBS 行,在行末添加 ‘ -llber ‘ 保存退出再次make即可。

到此 Ubuntu编译安装MariaDB就完成了,关于Nginx连接PHP这里就不多说了,下面是此次编译的结果:http://azure0.iloxp.com/tz.php 这只是测试用的,截图留着哈:

时间: 2024-12-29 10:39:56

error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status的相关文章

GLFW3出error adding symbols: DSO missing from command line解决

背景:使用OpenGL的GLFW3.1库的时候,使用其中一些代码 报error adding symbols: DSO missing from command line 因为使用的是Qcreator,解决方法是在.pro文件里加一些库 LIBS +=-lpthread LIBS +=-lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor 找具体缺少的库使用 pkg-config Linux 命令行运行 pkg-config --print-requ

编译curl出现error adding symbols: DSO missing from com

export LDFLAGS="-Wl,--copy-dt-needed-entries -lm" 然后configure > make 原因参见: 1.http://segmentfault.com/a/1190000002462705 解决方法参考: 1.http://hg.slitaz.org/wok/rev/17e313b5b9c1

DSO missing from command line

最近项目正经历着一次更新,一系列编译工具都进行了大版本的升级,随时而来的是,原本正常编译的代码出现了大量的warning,最终编译失败,其 中一个问题困扰了比较长的时间,虽然fix的方法不难,但是一直不清楚根本原因,通过大量的google,终于找到的原因,特地记录一下. 先把主要的参考文章写一下:Understanding DSO link changeTool Chain Transition 主要是下面这行错误: error adding symbols: DSO missing from

gcc编译错误:DSO missing from command line

在用gcc 编译连接的时候,可能会遇到类似以下的错误: /usr/bin/ld: test_desktop_utils-test-desktop-utils.o: undefined reference to symbol 'g_desktop_app_info_get_filename'//usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: error adding symbols: DSO missing from command line 这个问题一般是由于

在Linux下使用gcc编译mesa文件报undefined reference to symbol '[email protected]@GLIBC_2.2.5和DSO missing from command line两个错误的解决方案

一.概述 在Linux系统下使用gcc编译用C语言写的mesa的示例程序. 环境:Ubuntu Server 18.04.1 二.问题的出现 在Ubuntu下安装好mesa所需的库文件,将目标文件从github上克隆下来之后编译. 以上截取的是用gcc编译目标文件和传参的介绍: gcc:源程序将用gcc编译器进行编译: osdemo,c:将要被编译的源程序: -lOSMesa:链接OSMesa库: -lGLU:链接GLU库: -lGL:链接GL库: -o:指定目标名称: osdemo:编译后生成

php7 编译 collect2: error: ld returned 1 exit status

/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_strdup'/usr/bin/ld:note: 'ber_strdup' is defined in DSO /lib64/liblber-2.4.so.2 so try adding it to the linker command line/lib64/liblber-2.4.so.2:could not read symbols: Invalid

error: ld returned 1 exit status

[email protected]5437:~/Downloads/LBD_Descriptor/build$ cmake .. -- Configuring done -- Generating done -- Build files have been written to: /home/wj/Downloads/LBD_Descriptor/build [email protected]-Inspiron-5437:~/Downloads/LBD_Descriptor/build$ mak

自定义库引用时编译出错“collect2: error: ld returned 1 exit status”

想必很多人都遇到过这样的事情,需要写一个共享库,这个库又不能让所有的人都了解里面是怎么实现的,所以只能提供一个库出来供项目使用,可能是处于保密.核心业务的需要,这些都能够理解.笔者也写了一个简单的东西测试了一下,里面还是有不少东西. "collect2: error: ld returned 1 exit status"首先就遇到了这个问题.查了一下,这种错误网上说法也一大堆,起作用的还不多.在android系统里面加的共享库,需要加"namespace android &q

gcc/g++ 编译时出现:“对’xxxx’未定义的引用,collect2: error: ld returned 1 exit status” 的错误

出现的问题: 在使用 make 编译实现一个程序时,出现了下面的错误.查看程序源文件所在的目录时发现程序已经完成了编译,并生成了 list_repo.o 的文件,说明是在程序链接生成可执行文件时发生了问题. storages/local.o:在函数‘LocalStorage::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >,