Open mrqaidi opened 6 years ago
У меня тоже самое, проверял на centos 6, 7, также на ubuntu 12.04, 14.04. Qt 5 ставил из репозиториев, а также пробовал с офф. cайта qt в директорию /opt/qt Все равно ошибки при комплиляции, проверял все по нескольку раз, и все библиотеки были точно установлены...
Как вы ставили Qt5, какой командой? В Ubuntu надо ставить определенные пакеты Qt, которые у нас перечислены в документации. В centos название пакетов вообще другое и у нас в инструкции не приводится.
Сейчас версия Ubuntu 16.04 1.Установил php: apt-get install php5.6 php5.6-dev php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.6-zip
сейчас ubuntu 16.04 и qt установлено по способу 3.1, при компиляции такие ошибки: sudo sh build.sh > log.txt https://pastebin.com/6ApAc82c
также пробовал с 7 версией php, которая ставится в убунту 16.04 по умолчанию
qmake -v: qmake version 3.0 Using qt version 5.4.2 in /opt/Qt/5.4/gcc_64/lib
на винде все прекрасно работало), хотел перебраться на linux, но что-то не получается ничего
По способу 3.1 - неправильно. Т.к. phpextension привязан к стандартной директории расположения Qt5, В этом случае можете отредактировать пути для include в файле config.m4 в директории phpextension. Там где PHP_ADD_INCLUDE(/usr/include/x86_64-linux-gnu/qt5) и подобные. Потом сделайте clean и заново build
С php 7 тоже не будет работать, надо 5.6 или ниже.
@mrqaidi , how did you install Qt5? Centos has another packages names for Qt5, our instruction is only for Ubuntu.
пути попробовал прописать, но все равно ошибки. Поставил убунту 14.04, дальше 1.sudo apt-get update
Подскажите пожалуйста, может я что-то не так делаю?
Пути в config.m4 были для Ubuntu 16.10. Сейчас я исправил для Ubuntu 14.04. Если надо использовать в 16.10, то необходимо переименовать файл config.m4.ubuntu.16.10 в config.m4. В Ubuntu 14.04 проверил, всё компилируется. У вас тоже должно заработать. В общем скачайте заново master.zip и запустите компиляцию заново, всё это в Ubuntu 14.04.
@scraperlab i installed with this command yum install qt5-qtbase-devel and i edit build.sh and change command with this qmake-qt5
can you please add installing guide for centos 7
@mrqaidi I was able to compile Browserext on Centos 7. But during loading some sites it hangs and freezes, google for example. Why i do not know. In Ubuntu (14.04 version was tested yesterday) all works fine. In my Centos Qt5 version is 5.9.2 and Qt5WebKit version is 5.9.1.
Commands for installing packages in Centos 7:
yum install -y epel-release
yum -y update
yum install gcc-c++
yum install make
yum install php-devel
yum install qt5-qtbase-devel
yum install qt5-qtwebkit-devel
yum install Xvfb
yum install mesa-dri-drivers
yum install qt5-qtimageformats
Updated command for run Xvfb:
Xvfb :0 -screen 0 1024x768x16 > /dev/null 2>&1 &
export DISPLAY=:0.0
The command to activate the extension in php after successful build:
echo "extension=browserext.so" >> /etc/php.d/browserext.ini
And copy file phpextension/config.m4.centos7 to phpextension/config.m4, then run build.sh
@scraperlab thank you so much i will try it after 2 hours and let you know about result . but why its hangs ? does this support ssl ?
@scraperlab спасибо, получилось скомпилировать и установить, но почему-то не работает в php, как только в коде пишу $br = new PhpBrowser(); страница перестает загружается в firefox'e "the connection was reset" в phpinfo(); отображается browserext version 0.2 папка расширений php правильно указана, также попробовал запустить скомпилированный файл browserext-master/browser - открывается и работает. в php.ini (etc/php5/apache2/php.ini) добавил строку extension=browserext.so
Подскажите, в чем может быть проблема?
@thiswh Попробуйте из командной строки запустить: /usr/bin/php5 test.php
Строку export DISPLAY=:0.0 в файл /etc/apache2/envvars добавляли?
@mrqaidi I don't know why it hangs. And I do not have time to figure this out.
@thiswh В файле /var/log/apache2/error.log должны быть написаны ошибки, посмотрите что там.
@thiswh Да, у меня тоже не запускалось через apache. Кое-что исправил, заново скачайте master.zip и скомпилируйте. Должно работать. Вообще версия для Qt5 плохо тестировалась, особенно под Linux, отсюда всякие ошибки.
@scraperlab спасибо, наконец-то все заработало, какие-то траблы были с Xvfb. У меня убунту стояла Desktop версия, и я думал что все должно работать и без Xvfb. В общем, сделал все заново, начиная с установки ubuntu server, и когда правильно, по инструкции, настроил Xvfb, то все заработало). На desktop версии практически тоже получилось настроить все, но почему-то после первого удачного запуска $br = new PhpBrowser(); всё переставало работать и в var/log/apache2/error.log были ошибки вида "libGL error: No matching fbConfigs". с ними разбираться я не стал, и проделал установку заново без графической оболочки.
Hi
can you please check this error
[root@omega browserext]# ./build.sh make: Nothing to be done for
first'. g++ -Wl,-O1 -Wl,-z,relro -Wl,-rpath-link,/usr/lib64 -o browser main.o -L/root/browserext/browser/../browserext-static -lphpbrowser -lQt5WebKitWidgets -lQt5WebKit -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Core -lGL -lpthread /root/browserext/browser/../browserext-static/libphpbrowser.a(downloader.o): In functionDownloader::~Downloader()': /usr/include/QtCore/qstring.h:880: undefined reference to
QString::free(QString::Data)' /usr/include/QtCore/qstring.h:880: undefined reference to `QString::free(QString::Data)' /root/browserext/browser/../browserext-static/libphpbrowser.a(downloader.o): In functionDownloader::Downloader(QNetworkRequest const&, QString const&, QObject*)': /usr/include/QtCore/qstring.h:879: undefined reference to
QString::shared_null' /root/browserext/browser/../browserext-static/libphpbrowser.a(downloader.o): In functionDownloader::Downloader(QString const&, QString const&, QObject*)': /usr/include/QtCore/qstring.h:879: undefined reference to
QString::shared_null' /root/browserext/browser/../browserext-static/libphpbrowser.a(downloader.o): In functionDownloader::Downloader(QString const&, QString const&, QObject*)': /root/browserext/browserext-static/downloader.cpp:20: undefined reference to
QUrl::QUrl(QString const&)' /root/browserext/browser/../browserext-static/libphpbrowser.a(downloader.o): In functionDownloader::Downloader(QNetworkReply*, QString const&, QObject*)': /usr/include/QtCore/qstring.h:879: undefined reference to
QString::shared_null' /root/browserext/browser/../browserext-static/libphpbrowser.a(downloader.o): In functionDownloader::slotError(QNetworkReply::NetworkError)': /usr/include/QtCore/qstring.h:880: undefined reference to
QString::free(QString::Data)' /root/browserext/browser/../browserext-static/libphpbrowser.a(downloader.o): In functionDownloader::download(bool)': /usr/include/QtCore/qstring.h:1031: undefined reference to
QString::fromAscii(char const, int)' /usr/include/QtCore/qstring.h:1029: undefined reference toQString::fromAscii(char const*, int)' /usr/include/QtCore/qstring.h:880: undefined reference to
QString::free(QString::Data)' /usr/include/QtCore/qstring.h:880: undefined reference to `QString::free(QString::Data)' /usr/include/QtCore/qstring.h:880: undefined reference to `QString::free(QString::Data*)' collect2: error: ld returned 1 exit status make: [browser] Error 1 Configuring for: PHP Api Version: 20131106 Zend Module Api No: 20131226 Zend Extension Api No: 220131226 checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for a sed that does not truncate output... /usr/bin/sed checking for cc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking how to run the C preprocessor... cc -E checking for icc... no checking for suncc... no checking whether cc understands -c and -o together... yes checking for system library directory... lib checking if compiler supports -R... no checking if compiler supports -Wl,-rpath,... yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu configure: error: Cannot find php-config. Please use --with-php-config=PATH make: No targets specified and no makefile found. Stop. [root@omega browserext]#`