Содержание
- Проблемы при установке Asterisk
- Ошибки компиляции asterisk
- no acceptable C compiler
- error: C++ preprocessor «/lib/cpp» fails sanity check
- configure: error: *** termcap support not found
- configure: *** XML documentation will not be available because the ‘libxml2’ development package is missing
- configure: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database.
- Doxygen is not installed
- Ошибки при компиляции asterisk 12 / asterisk 13
- configure: error: *** uuid support not found
- configure: error: *** JSON support not found
- Ошибки при запуске asterisk
- Permission denied
- ILLEGAL INSTRUCTION
- Creativ-Tech KB
- Technology is an Art
- Common php compile errors and the corresponding missing lib
- 4 thoughts on “ Common php compile errors and the corresponding missing lib ”
- How to Fix: Sqlite3.dll Not Found Missing Error
- Is Sqlite3.dll a secure file?
- Recommended solution to fix SQLite3 Dll error
- Reinstalling a recently uninstalled application
- January 2023 Update:
- Use Autoruns to remove the error “sqlite3.dll is missing”.
- Using the Microsoft Security Scanner
Проблемы при установке Asterisk
Ошибки компиляции asterisk
no acceptable C compiler
Текст ошибки:
configure: error: in `/usr/src/asterisk-11.14.0′:
configure: error: no acceptable C compiler found in $PATH
See `config.log’ for more details
Описание ошибки:
Отсутствует компилятор gcc
Решение:
Необходимо установить пакет GCC. Для этого в CentOS выполните команду:
yum -y install gcc
error: C++ preprocessor «/lib/cpp» fails sanity check
Текст ошибки:
configure: error: in `/usr/src/asterisk-11.14.0′:
configure: error: C++ preprocessor «/lib/cpp» fails sanity check
Описание ошибки:
Отсутствует компилятор gcc-c++
Решение:
Необходимо установить пакет GCC-C++. Для этого в CentOS выполните команду:
yum -y install gcc-c++
configure: error: *** termcap support not found
Текст ошибки:
configure: error: *** termcap support not found (on modern systems, this typically means the ncurses development package is missing)
Описание ошибки:
Отсутствует библиотека ncurses, точнее не сама библиотека (она может быть), а ее компоненты для разработчиков (development), для сборки программ.
Решение:
В случае CentOS нужен пакет ncurses-devel:
yum -y install ncurses-devel
configure: *** XML documentation will not be available because the ‘libxml2’ development package is missing
Текст ошибки:
configure: *** XML documentation will not be available because the ‘libxml2’ development package is missing.
configure: *** Please run the ‘configure’ script with the ‘—disable-xmldoc’ parameter option
configure: *** or install the ‘libxml2’ development package.
Описание ошибки:
Отсутствует библиотека libxml2, точнее не сама библиотека (она может быть), а ее компоненты для разработчиков (development), для сборки программ.
Решение:
В случае CentOS нужен пакет libxml2-devel, для его установки выполните команду:
yum -y install libxml2-devel
configure: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database.
Текст ошибки:
configure: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database.
configure: WARNING: *** Please install the SQLite3 development package.
Описание ошибки:
Отсутствует библиотека sqlite, точнее не сама библиотека (она может быть), а ее компоненты для разработчиков (development), для сборки программ.
Решение:
В случае CentOS нужен пакет sqlite-devel:
yum -y install sqlite-devel
Doxygen is not installed
Текст ошибки:
Doxygen is not installed. Please install and re-run the configuration script.
Описание ошибки:
При установке make progdocs выдается эта ошибка. Это означает, что не удается установить документацию к asterisk, поскольку отсутствует пакет doxygen.
Решение:
Установите пакет doxygen. В CentOS выполните команду:
yum -y install doxygen
Ошибки при компиляции asterisk 12 / asterisk 13
configure: error: *** uuid support not found
Текст ошибки:
configure: error: *** uuid support not found (this typically means the uuid development package is missing)
Описание ошибки:
Отсутствует библиотека (а не пакет!) uuid, причем нужна development редакция: libuuid-devel
Решение:
В CentOS нужно поставить libuuid-devel:
yum -y install libuuid-devel
В Debian нужно поставить uuid-dev:
apt-get install uuid-dev
configure: error: *** JSON support not found
Текст ошибки:
configure: error: *** JSON support not found (this typically means the libjansson development package is missing)
Описание ошибки:
В этом случае Вам необходим пакет jansson, причем нужна development редакция: jansson-devel
Решение:
Нужно поставить jansson-devel, но в стандартных репозиториях его нет, поэтому необходимо сначала подключить дополнительный репозиторий EPEL.
После этого в CentOS нужно поставить пакет jansson-devel, выполнив команду:
yum -y install jansson-devel
В Debian нужно поставить пакет libjansson-dev, выполнив команду:
apt-get install libjansson-dev
Ошибки при запуске asterisk
Permission denied
Описание ошибки:
Asterisk не стартует (сервис запускается, но тут же останавливается, «service asterisk status» показывает «stopped». При этом в логах asterisk (/var/log/asterisk/messages) выводятся сообщения типа:
WARNING[1604] media_index.c: Failed to stat /var/lib/asterisk/sounds/en/vm-then-pound.wav: Permission denied
WARNING[1803] media_index.c: Failed to stat /var/lib/asterisk/sounds/en/vm-newpassword.wav: Permission denied
WARNING[1873] media_index.c: Failed to stat /var/lib/asterisk/sounds/en/to-report-system-network-down.wav: Permission denied
Несмотря на то, что (по умолчанию) asterisk запускается под пользователем root, имеющим полные права, отсутствует доступ к различным файлам. При этом asterisk может запускаться из командной строки (не как служба):
asterisk -vvvc
При попытке подключения к asterisk выдается ошибка:
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
Решение:
Необходимо отключить SELinux. Для этого откройте в любом редакторе файл: /etc/selinux/config и впишите/измените в нем такую строку:
SELINUX=disabled
После чего перезагрузите компьютер с asterisk.
ILLEGAL INSTRUCTION
Описание ошибки:
asterisk не стартует ни в качестве службы, ни из консоли.
Текст ошибки:
При запуске в консоли asterisk выдает сообщение Illegal instruction.
Текст ошибки:
Illegal instruction
Решение:
В данном случае собранный asterisk не поддерживает команды процессора на Вашем компьютере. Необходимо пересобрать asterisk, при этом необходимо отключить флаг BUILD_NATIVE в настройках make menuselect астериска. Для этого выполните:
- make menuselect
- выберите раздел «Compiler flags»
- и отключите флаг «BUILD_NATIVE»
После make menuselect не забудьте выполнить make, make install и так далее.
Источник
Creativ-Tech KB
Technology is an Art
Common php compile errors and the corresponding missing lib
Common php compile errors and the corresponding missing lib
Some of the package only available if you have set up epel for additional yum repo.
configure: error: Please reinstall the sqlite distribution from http://www.sqlite.org
$ yum install sqlite-devel.x86_64
configure: error: freetype-config not found.
$ yum install freetype-devel.x86_64 freetype.x86_64
configure: error: libXpm.(a|so) not found.
$ yum install libXpm-devel.x86_64 libXpm.x86_64
configure: error: jpeglib.h not found.
$ yum install libjpeg-devel.x86_64
or for centOS 6.x
$ yum install libjpeg-turbo.x86_64 libjpeg-turbo-devel.x86_64
configure: error: png.h not found.
$ yum install libpng-devel.x86_64
configure: error: Unable to locate gmp.h
$ yum install gmp-devel.x86_64
configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.
$ yum install libc-client-devel.x86_64
configure: WARNING: continuing without libevent support
$ yum install libevent-devel.x86_64
configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.
# you may find that you have the lic-client-devel.x86_64 installed but configure still complains, and it seems, we need
# the i686 version. or we can use –with-libdir=lib64 without install the i686 package
$ yum install libc-client-devel.i686
configure: error: Kerberos libraries not found.
# you find you have the 64bits version installed, but configure still complains
# install the i686 version too or we can use –with-libdir=lib64 without install the i686 package
$ yum install krb5-devel.i686
configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
$ yum install libicu-devel.x86_64
configure: error: installation or configuration problem: C++ compiler cannot create executables.
$ yum install gcc-c++.x86_64
configure: error: Cannot find ldap.h
$ yum install openldap-devel.x86_64
configure: error: Cannot find ldap libraries in /usr/lib.
# on our 64 bits system, it needs something still in /usr/lib
# or we can use –with-libdir=lib64 without install the i686 package
$ yum install openldap-devel.i686
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
$ yum install libmcrypt-devel.x86_64
mysql_config not found
# find out where mysql_config is and add –with-mysqli=/usr/bin/mysql_config
configure: error: Cannot find pspell
$ yum install aspell-devel.x86_64
configure: error: Cannot find libtidy
$ yum install libtidy-devel.x86_64
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
$ yum install libxslt-devel.x86_64
configure: error: Please reinstall the BZip2 distribution
$ yum install bzip2-devel.x86_64
configure: error: Cannot find libsphinxclient headers
configure: error: xml2-config not found. Please check your libxml2 installation.
$ yum install libxml2-devel.x86_64
configure: error: Cannot find OpenSSL’s
$ yum install openssl-devel.x86_64
checking for PCRE headers location… configure: error: Could not find pcre.h in /usr
$ yum install pcre-devel.x86_64
configure: error: Please reinstall the libcurl distribution –
easy.h should be in /include/curl/
$ yum install libcurl-devel.x86_64
configure: error: Unable to detect ICU prefix or shared,/usr/bin/icu-config failed. Please verify ICU install prefix and make sure icu-config works.
$ yum install icu.x86_64 libicu-devel.x86_64
configure: error: C++ preprocessor “/lib/cpp” fails sanity check
$ yum install gcc-c++.x86_64
checking for libmemcached location… configure: error: memcached support requires libmemcached. Use –with-libmemcached-dir=xxx to specify the prefix where libmemcached headers and library are located
$ yum install libmemcached.x86_64
and add “–with-libmemcached-dir=/usr” to configure cmd
checking for libmemcached location… configure: error: Unable to find memcached.h under /usr
$ yum install libmemcached-devel.x86_64
configure: error: no, libmemcached sasl support is not enabled. Run configure with –disable-memcached-sasl to disable this check
fix: let us go without SASL support by adding “–disable-memcached-sasl”
later we could build a memcached with SASL enabled and revisit this issue
configure: error: Cannot find enchant
$ yum install enchant.x86_64 enchant-devel.x86_64 enchant-aspell.x86_64
configure: error: Cannot find MySQL header files under /usr.
Note that the MySQL client library is not bundled anymore!
fix:
$ yum install mysql-libs.x86_64 mysql-devel.x86_64
configure: error: mysql configure failed. Please check config.log for more information.
conftest.c:36: undefined reference to `pthread_mutexattr_init’
conftest.c:37: undefined reference to `pthread_create’
fix:
This issue is similar the issue above. however in our case, we are using mysql.com latest mysql 5.6.22 RPM and there are something broken in
our env. and our fix is to build php 5.4.36 with the yum mysql client lib and dev lib.
configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
$ yum install postgresql-libs.x86_64 postgresql-devel.x86_64
checking for sqlite3 files in default path… not found
configure: error: Please reinstall the sqlite3 distribution
$ yum install sqlite-devel.x86_64
configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation.
$ yum install net-snmp-devel.x86_64 net-snmp-libs.x86_64
configure: error: Please install pecl/raphf and activate extension=raphf.so in your php.ini
$ yum install php-pecl-raphf-devel.x86_64 php-pecl-propro-devel.x86_64
still can not compile. we may have to leave pecl_http for later using pecl?
configure: WARNING: unrecognized options: –enable-magic-quotes, –with-sqlite
fix: these are no longer valid for php 5.4+, just remove these options.
ext/pecl_http/config.m4:5: warning: file `config9.m4′ included several times
fix: rename it to “http” which is the official ext name, though the downloaded ext file name is pecl_http
4 thoughts on “ Common php compile errors and the corresponding missing lib ”
Thanks for your personal marvelous posting! I definitely enjoyed reading it, you are a great author.I will make sure to bookmark your blog and will eventually come back down the road. I want to encourage one to continue your great writing, have a nice evening!
hello
cool stuff
Nice Blog, thanks for sharing this kind of information.
Источник
How to Fix: Sqlite3.dll Not Found Missing Error
Please enable JavaScript
Updated January 2023: Stop getting error messages and slow down your system with our optimization tool. Get it now at this link
- Download and install the repair tool here.
- Let it scan your computer.
- The tool will then repair your computer.
SQLite3.dll – the dll file called “SQLite3 Dynamic Link Library” is part of the SQLite3 program developed by Apple Inc. SQLite is a software library that implements a stand-alone SQL database engine, without a server, configuration or transaction. SQLite is the most widely used SQL database engine in the world. The SQLite source code is publicly available.
Some applications or games require this file to work properly. If SQLite3.dll file is missing, several errors can occur when starting the application/game. To fix these bugs, please read the solution recommendation below.
Is Sqlite3.dll a secure file?
The real sqlite3.dll file is a secure file. However, cases of dishonest version of sqlite3.dll have also been recorded.
It is known that Snape sqlite3.dll is associated with the following malware:
- Application.KGB_Spy [PC Tools]
- Mal/Packer [Sophos]
- Trojan Horse [Symantec]
- Trojan.Crypt [Ikarus]
- Win-Trojan/Xema.variant [AhnLab]
Recommended solution to fix SQLite3 Dll error
To fix errors related to the.DLL file, you must download SQLite3.dll and copy it to the application or game installation folder, or copy it to the Windows system folder and correct the error. If you don’t know how to install this file, please read our tutorial on installing DLL files.
Reinstalling a recently uninstalled application
January 2023 Update:
You can now prevent PC problems by using this tool, such as protecting you against file loss and malware. Additionally it is a great way to optimize your computer for maximum performance. The program fixes common errors that might occur on Windows systems with ease — no need for hours of troubleshooting when you have the perfect solution at your fingertips:
- Step 1 : Download PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista – Microsoft Gold Certified).
- Step 2 : Click “Start Scan” to find Windows registry issues that could be causing PC problems.
- Step 3 : Click “Repair All” to fix all issues.
If the missing sqlite3.dll error occurred shortly after uninstalling an application, reinstall the application to correct the error. Incorrect uninstallation of programs can result in the removal of shared DLLs and recurring DLL errors. To properly uninstall unwanted programs, use the Add or Remove Programs utility.
Use Autoruns to remove the error “sqlite3.dll is missing”.
Let’s see if the error “sqlite3.dll missing” can be corrected automatically via Autoruns. This free tool, developed by one of Microsoft’s engineers, examines all unaccounted-for startup keys and allows you to easily remove items that end up causing such an error.
Here is a brief guide to installing and using Autoruns to remove the sqlite3.dll boot key :
Using the Microsoft Security Scanner
Some sqlite3.dll errors may be related to a virus or other malicious infection on the computer that damaged the DLL file. You can also run a Microsoft security scanner to make sure your computer is virus-free.
Before performing the safety analysis, you must save the important data.
Microsoft Safety Scanner is an analysis tool designed to detect and remove malware from Windows computers. Simply download it and run an analysis to find the malware and try to undo the changes made by the identified threats.
Expert Tip: This repair tool scans the repositories and replaces corrupt or missing files if none of these methods have worked. It works well in most cases where the problem is due to system corruption. This tool will also optimize your system to maximize performance. It can be downloaded by Clicking Here
CCNA, Web Developer, PC Troubleshooter
I am a computer enthusiast and a practicing IT Professional. I have years of experience behind me in computer programming, hardware troubleshooting and repair. I specialise in Web Development and Database Design. I also have a CCNA certification for Network Design and Troubleshooting.
Источник
Log inSkip to main contentSkip to sidebar
- ZABBIX BUGS AND ISSUES
- ZBX-3475
- XMLWordPrintable
Details
-
Type:
Incident report
-
Status:
Closed -
Priority:
Minor -
Resolution:
Fixed
-
Affects Version/s:
1.9.2 (alpha)
-
Environment:
Hide
FreeBSD8.1
pkg_info | grep sqlite
php5-pdo_sqlite-5.3.5 The pdo_sqlite shared extension for php
php5-sqlite-5.3.5 The sqlite shared extension for php
py26-pysqlite-2.3.5 A DB-API v2 Python library for the SQLite 3 embedded SQL en
sqlite3-3.7.4 An SQL database engine in a C library
Show
FreeBSD8.1
pkg_info | grep sqlite
php5-pdo_sqlite-5.3.5 The pdo_sqlite shared extension for php
php5-sqlite-5.3.5 The sqlite shared extension for php
py26-pysqlite-2.3.5 A DB-API v2 Python library for the SQLite 3 embedded SQL en
sqlite3-3.7.4 An SQL database engine in a C library
Description
If i configure —with-sqlite3 then:
checking for SQLite3 library >= 3.0.0… no
configure: error: SQLite3 library not found
If i configure —with-sqlite3=/usr/local then:
checking for SQLite3 library >= 3.0.0… yes
checking for function sqlite3_open_v2() in sqlite3.h… yes
It seems need to improve SQLite3 checking in the different OS.
p.s.zabbix_server (—with-sqlite3=/usr/local) starts and works normally with the sqlite3 db-backend.
Attachments
Attachments
-
- Sort By Name
- Sort By Date
- Ascending
- Descending
- Thumbnails
- List
- Download All
-
- ax_lib_sqlite3.m4.diff
- 0.7 kB
- 2011 Jan 30 05:40
Issue Links
- is duplicated by
-
ZBX-4535
zabbix — FTBFS with ld —as-needed
- Closed
Activity
People
- Votes:
-
0
Vote for this issue
- Watchers:
-
1
Start watching this issue
Dates
- Created:
-
2011 Jan 28 12:51
- Updated:
-
2017 May 30 18:23
- Resolved:
-
2012 Jan 30 18:23
Any time you install additional packages, you will need to run the ./configure script in your Asterisk source in order for the new package to be detected.
-bash: wget: command not found
This message means you have not installed the wget application, which is required for you to download packages from the Asterisk downloads site, for Asterisk to download sound files, or for DAHDI to download firmware for hardware.
Ubuntu | CentOS |
---|---|
$ sudo apt-get install wget |
$ sudo yum -y install wget |
configure: error: no acceptable C compiler found in $PATH
This means that the Asterisk configure script is unable to find your C compiler, which typically means you have not yet installed one. Be sure to install the gcc package for your system.
Ubuntu | CentOS |
---|---|
$ sudo apt-get install gcc |
$ sudo yum install gcc |
make: gcc: command not found
This means that the Asterisk configure script is unable to find your C compiler, which typically means you have not yet installed one. Be sure to install the gcc package for your system.
Ubuntu | CentOS |
---|---|
$ sudo apt-get install gcc |
$ sudo yum install gcc |
configure: error: C++ preprocessor “/lib/cpp” fails sanity check
This error is presented by the Asterisk configure script when you have not installed the GCC C++ preprocessor.
Ubuntu | CentOS |
---|---|
$ sudo apt-get install g++ |
$ sudo yum install gcc-c++ |
configure: error: *** Please install GNU make. It is required to build Asterisk!
This error is encountered when you have not installed the make application, which is required to build Asterisk.
Ubuntu | CentOS |
---|---|
$ sudo apt-get install make |
$ sudo yum install make |
configure: *** XML documentation will not be available because the ‘libxml2’ development package is missing.
You will encounter this error when the XML parser libraries are not installed. These are required by Asterisk 1.8 and later, since console documentation (e.g., when you run core show application dial on the Asterisk CLI) is generated from XML.
Ubuntu | CentOS |
---|---|
$ sudo apt-get install libxml2-dev |
$ sudo yum install libxml2-devel |
configure: error: *** termcap support not found
This error happens when you don’t have the ncurses
development library installed, which is required by menuselect and for other console output in Asterisk.
Ubuntu | CentOS |
---|---|
$ sudo apt-get install ncurses-dev |
$ sudo yum install ncurses-devel |
You do not appear to have the sources for the 2.6.18-164.6.1.el5 kernel installed.
You will get this error when attempting to build DAHDI without having installed the Linux headers, which are required for building Linux drivers.
Ubuntu | CentOS |
---|---|
$ sudo apt-get install linux-headers-`uname -r` |
$ sudo yum install kernel-devel |
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
If you encounter this error it’s likely that you forgot to prepend sudo to the start of the command you were running, which requires root permissions.
ISSUE: Asterik need SQLITE3 , when it doesn’t find this then shows the following warnings —
configure: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database.
configure: WARNING: *** Please install the SQLite3 development package.
And the configure fails.
Fix:
yum install sqlite, sqlite-devel
configure: error: *** termcap support not found (on modern systems, this typically means the ncurses development package is missing)
fix:
# yum install ncurses-devel
Move to the superuser:
sudo su
Make sure this is Raspbian Stretch:
grep PRETTY_NAME /etc/os-release
Update distro:
apt-get -y update && apt-get -y dist-upgrade
Reload repositories:
apt-get -y update
Set GPU memory to use 16MB, this will add 48MB to total usable RAM:
echo "gpu_mem=16" >> /boot/config.txt
Disable wifi adapter for RPi3:
echo "dtoverlay=pi3-disable-wifi" >> /boot/config.txt
Install prerequisites:
apt-get -y install sqlite3 libsqlite3-dev libsnmp-dev libssh2-1-dev fping libiksemel-dev libxml2-dev unixodbc-dev libopenipmi-dev libevent-dev libssl-dev libcurl4-openssl-dev libpcre3-dev snmp-mibs-downloader snmp vim tidy jq git libxml2-utils
Set the proxy version number you are interested:
v=3.4.12
Move to RamDisk:
cd /dev/shm
Download the version you are interested:
curl -L "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$v/zabbix-$v.tar.gz" -o zabbix-$v.tar.gz
Extract the archive:
tar -vzxf zabbix-$v.tar.gz -C .
Move to Zabbix source directory:
cd zabbix-$v
Enable the necessary features:
./configure --enable-proxy --enable-agent --with-sqlite3 --with-libcurl --with-libxml2 --with-ssh2 --with-net-snmp --with-openipmi --with-jabber --with-openssl --with-unixodbc
Compile (this will take 5 minutes):
time make install
Install ‘zabbix-proxy’ service file:
cat > /etc/init.d/zabbix-proxy << EOF
#!/bin/sh
### BEGIN INIT INFO
# Provides: zabbix-proxy
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start zabbix-proxy daemon
### END INIT INFO
EOF
grep -v "^#!/bin/sh$" /dev/shm/zabbix-$v/misc/init.d/debian/zabbix-server >> /etc/init.d/zabbix-proxy
sed -i "s/server/proxy/g" /etc/init.d/zabbix-proxy
chmod +x /etc/init.d/zabbix-proxy
systemctl daemon-reload
systemctl enable zabbix-proxy
Create user ‘zabbix’ and add to groups:
groupadd zabbix
useradd -g zabbix zabbix
Observe the default config:
grep -v "^#|^$" /usr/local/etc/zabbix_proxy.conf
Set the servers address:
sed -i "s|^Server=.*$|Server=ec2-35-166-97-138.us-west-2.compute.amazonaws.com|" /usr/local/etc/zabbix_proxy.conf
Remove the static Hostname in proxy configuration:
sed -i '/^Hostname=.*$/d' /usr/local/etc/zabbix_proxy.conf
Enable dynamic Hostname based on eth0 MAC:
sed -i "s|^.*HostnameItem=.*$|HostnameItem=system.run[ifconfig eth0|egrep -o "..:..:.. "|sed "s|:||g;s|.$||;s|^|RPiProxY|"]|" /usr/local/etc/zabbix_proxy.conf
Let’s store the sqlite3 database on the RAMDrive (so we can never kill the SD card because of database write operations):
sed -i "s|^DBName=.*$|DBName=/dev/shm/zabbix_proxy.db.sqlite3|" /usr/local/etc/zabbix_proxy.conf
Set the pid file for proxy:
sed -i "s|^.*PidFile=.*$|PidFile=/dev/shm/zabbix_proxy.pid|" /usr/local/etc/zabbix_proxy.conf
Set the log file for proxy:
sed -i "s|^LogFile=.*$|LogFile=/dev/shm/zabbix_proxy.log|" /usr/local/etc/zabbix_proxy.conf
Enable remote commands:
sed -i "s|^.*EnableRemoteCommands=.*$|EnableRemoteCommands=1|" /usr/local/etc/zabbix_proxy.conf
Allow maximum timeout:
sed -i "s|^Timeout=.*$|Timeout=30|" /usr/local/etc/zabbix_proxy.conf
How often the config file must be reloaded:
sed -i "s|^.*ConfigFrequency=.*$|ConfigFrequency=300|" /usr/local/etc/zabbix_proxy.conf
Observe again the custom config:
grep -v "^#|^$" /usr/local/etc/zabbix_proxy.conf
Start the proxy server:
systemctl start zabbix-proxy
Lake a look if the log file, the pid file and the database file have been created:
ls -l /dev/shm
Check the log file:
cat /dev/shm/zabbix_proxy.log
Appendix. Here are possible error messages to face:
configure: error: SQLite3 library not found
apt-get -y install libsqlite3-dev
configure: error: Invalid Net-SNMP directory — unable to find net-snmp-config
apt-get -y install libsnmp-dev
configure: error: SSH2 library not found
apt-get -y install libssh2-1-dev
/usr/sbin/fping: [2] No such file or directory
apt-get -y install fping
configure: error: Jabber library not found
apt-get -y install libiksemel-dev
configure: error: LIBXML2 library not found
apt-get -y install libxml2-dev
configure: error: unixODBC library not found
apt-get -y install unixodbc-dev
configure: error: Invalid OPENIPMI directory — unable to find ipmiif.h
apt-get -y install libopenipmi-dev
configure: error: Unable to use libevent (libevent check failed)
apt-get -y install libevent-dev
configure: error: OpenSSL library libssl or libcrypto not found
apt-get -y install libssl-dev
configure: error: Curl library not found
apt-get -y install libcurl4-openssl-dev
configure: error: Unable to use libpcre (libpcre check failed)
apt-get -y install libpcre3-dev
Cannot adopt OID in zabbix_proxy.log
apt-get -y install snmp-mibs-downloader
Configure Zabbix Agent
Install Zabbix Agent service file:
cat > /etc/init.d/zabbix-agent << EOF
#!/bin/sh
### BEGIN INIT INFO
# Provides: zabbix-agent
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start zabbix-agent daemon
### END INIT INFO
EOF
grep -v "^#!/bin/sh$" /dev/shm/zabbix-$v/misc/init.d/debian/zabbix-agent >> /etc/init.d/zabbix-agent
chmod +x /etc/init.d/zabbix-agent
systemctl daemon-reload
systemctl enable zabbix-agent
Observe the current configuration:
grep -v "^$|^#" /usr/local/etc/zabbix_agentd.conf
Set the log file for agent:
sed -i "s|^LogFile=.*$|LogFile=/dev/shm/zabbix_agentd.log|" /usr/local/etc/zabbix_agentd.conf
Set the pid file for agent:
sed -i "s|^.*PidFile=.*$|PidFile=/dev/shm/zabbix_agentd.pid|" /usr/local/etc/zabbix_agentd.conf
Remove the static hostname:
sed -i '/^Hostname=.*$/d' /usr/local/etc/zabbix_agentd.conf
Set dynamic hostname:
sed -i "s|^.*HostnameItem=.*$|HostnameItem=system.run[ifconfig eth0|egrep -o "..:..:.. "|sed "s|:||g;s|.$||;s|^|RPiProxY|"]|" /usr/local/etc/zabbix_agentd.conf
Enable remote commands:
sed -i "s|^.*EnableRemoteCommands=.*$|EnableRemoteCommands=1|" /usr/local/etc/zabbix_agentd.conf
Allow zabbix agent to execute sensitive commmands like ‘vcgencmd measure_temp’:
usermod -a -G video zabbix
Observe again the latest configuration:
grep -v "^$|^#" /usr/local/etc/zabbix_agentd.conf
Start the agent:
systemctl start zabbix-agent
Check if the pid file and the log file have been created:
ls -l /dev/shm
Check the agent log file:
cat /dev/shm/zabbix_agentd.log
Test if the system works after reboot:
reboot
Appendix:
Install nocomments
command:
echo "alias nocomments='grep -v "^$|^#"'" >> ~/.bashrc
Install externalscripts
command:
echo "alias externalscripts="cd $(cd /usr/lib/zabbix/externalscripts)"" >> ~/.bashrc
Install externalscripts
:
cd /usr/lib/zabbix && rm -rf externalscripts && git clone ssh://git@github.com/catonrug/externalscripts.git && chmod 700 externalscripts/* && chown -R zabbix. externalscripts
xmllint: command not found
apt-get install libxml2-utils
#c# #asp.net #.net #sqlite #iis
#c# #asp.net #.net #sqlite #iis
Вопрос:
Проблема: я пытаюсь разработать ASP.NET Веб-приложение MVC (.Net Framework 4.7.2), в котором я хочу использовать Microsoft.Data.Sqlite
версию (5.0.2), но когда я запускаю его, происходит сбой моего веб-приложения (как в debug IIS Express, так и в app.publish на локальном IIS в Windows 10) в следующей строке кода:
SqliteConnection dbConn = new SqliteConnection("Data Source=test.db");
Генерируется исключение, указанное в:
System.TypeInitializationException
HResult=0x80131534
Message=The type initializer for 'Microsoft.Data.Sqlite.SqliteConnection' threw an exception.
Source=Microsoft.Data.Sqlite
StackTrace:
at Microsoft.Data.Sqlite.SqliteConnection..ctor(String connectionString)
at sqliteTest.Controllers.ValuesController.Get() in C:UsersFaqeerHussainsourcerepossqliteTestsqliteTestControllersValuesController.cs:line 16
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
This exception was originally thrown at this call stack:
[External Code]
Inner Exception 1:
TargetInvocationException: Exception has been thrown by the target of an invocation.
Inner Exception 2:
Exception: Library e_sqlite3 not found
Что я пробовал до сих пор:
После Inner Exception: Library e_sqlite3 not found
этого я попытался просмотреть папку «bin» и обнаружил, что e_sqlite3.dll уже есть в binruntimeswin-x64native
, а также в binruntimeswin-x86native
папках, обе содержат e_sqlite3.dll .
Пробовал копировать вручную вышеупомянутые x86 / x64 e_sqlite3.dll в корневую bin
папку, но ошибка по-прежнему остается.
Что я должен сделать, чтобы начать Microsoft.Data.Sqlite
работать в моем ASP.NET Веб-приложение MVC (.NET Framework 4.7.2)?
Ответ №1:
Это связано с тем, что пакет Microsoft.Data.Sqlite несовместим с версией .Net Framework. Вы можете попробовать изменить версию NuGet Microsoft.Data.Sqlite на 2.2.0 для нормальной работы.
Ответ №2:
Я обнаружил, что e_sqlite3.dll находится по адресу runtimeswin-x86nativee_sqlite3.dll . Итак, я создал эти папки и добавил e_sqlite3.dll в собственной папке. После этого это сработало!
Ответ №3:
К сожалению, для всех, кто сталкивается с этой проблемой, это известная проблема, которая еще не исправлена.
В моем случае я ссылался на .NET Standard 2.0
библиотеку, которая использовала Sqlite, из .NET Framework 4.8
проекта. Я просто изменил библиотеку, чтобы она также предназначалась для .NET 4.8 в качестве обходного пути, поскольку она не использовалась ни в одной другой реализации .NET.
Поэтому мне пришлось изменить <TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>net48</TargetFramework>
в моем проекте Sqlite.
Ответ №4:
Я также работаю над разработкой ASP.NET (.Net Framework 4.7) веб-приложение, в котором я использовал версию Microsoft.Data.Sqlite (5.0.10), но когда я запускаю свое веб-приложение, оно выходит из строя и выдает исключение: библиотека e_sqlite3 не найдена
Мне потребовалось почти полтора дня, чтобы решить эту проблему. В моем случае я удалил библиотеку зависимостей Microsoft.Data.Sqlite и другие, такие как Microsoft.Data.Sqlite.Core, SQLitePCLRaw.bundle_e_sqlite3, SQLitePCLRaw.core, SQLitePCLRaw.lib.e_sqlite3, SQLitePCLRaw.provider.dynamic_cdecl и т. Д. Из папки пакета.
Теперь я добавил новый Microsoft.Data.Sqlite с версией (6.0.0) вместе со своими зависимостями. Мое приложение работает нормально. (Примечание: я использовал эту библиотеку только для чтения базы данных SpatiaLite и для вызова функции SpatiaLite.)