FreeBSD Release上编译MySQL通不过的解决方法_MySQL
FreeBSD
在清华BBS上看到有些朋友在 FreeBSD 4.0 Release上编译MySQL时通不过,停留在编译sql/sql_yacc.cc文件处,很长 时间都通不过,有网友说编译了三个多小时都通不过,我真的很佩服他的耐心了。我也 遇到了同样的问题,还有过错误的判断。通过与清华BBS的网友交流,我相信找到了问题 所在。
有网友说用ports安装就没有什么问题,但并没有进一步说明 到底是因为什么。看了一下ports中对mysql-server的说明,原来用ports编译mysql需要 一个包:libtool-1.3.3。
请看FreeBSD对libtool这个包的描述
This is GNU Libtool, a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.
To use libtool, add the new generic library building commands to your Makefile, Makefile.in, or Makefile.am.
这是GNU Libtool,通用的库支持脚本。Libtool 用一致的方便的接口隐藏了使用共享库的复杂性。(蹩脚的翻译)要使用libtool,将新的通用库 编译命令加入Makefile,Makefile.in,或Makefile。am中。
使用ports安装需要先安装libtool-1.3.3这个包,但是不用ports安装, 直接编译也需要么?实验证明是不需要的,在没有安装libtool包的情况下直接编译mysql也可以通过, 只是停留在编译sql_yacc.cc这个文件的时间非常长,一般人都会觉得编译出了问题而中断编译过程。 如果你耐心等待,并且有足够的内存和交换分区,应该是可以编译通过的。
如果在编译sql_yacc.cc的时候出现了下面的错误:
Internal Compiler error: program cc1plus got fatal signal 11或
Out of virtual memory或
virtual memory exhausted
该问题是gcc要求大量的内存编译带有嵌入函数(inline function)的sql_yacc.cc, 而系统内存和交换分区不足,那么可以使用./configure --with-low-memory重新配置,再进行编译。
如果你正在使用gcc,该选项使得将-fno-inline加到编译行,如果你正在使用 其他的编译器,则加入-O0。即使你有特别多的存储器和交换空间,也应该试一试--with-low-memory 选项。
我通过测试表明,使用--with-low-memory显著的降低了编译时间,而用ports安装时, ports中的patch将-O0加入了Makefile,不使用--with-low-memory也同样可以快速的编译完成。
其实,FreeBSD 4.0 Release的ISO安装盘中有mysql的二进制安装包, 不用编译,pkg_add就ok了,何必如此麻烦呢?

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Artikel ini membincangkan menggunakan pernyataan jadual Alter MySQL untuk mengubah suai jadual, termasuk menambah/menjatuhkan lajur, menamakan semula jadual/lajur, dan menukar jenis data lajur.

Artikel membincangkan mengkonfigurasi penyulitan SSL/TLS untuk MySQL, termasuk penjanaan sijil dan pengesahan. Isu utama menggunakan implikasi keselamatan sijil yang ditandatangani sendiri. [Kira-kira aksara: 159]

Artikel membincangkan strategi untuk mengendalikan dataset besar di MySQL, termasuk pembahagian, sharding, pengindeksan, dan pengoptimuman pertanyaan.

Artikel membincangkan alat MySQL GUI yang popular seperti MySQL Workbench dan PHPMyAdmin, membandingkan ciri dan kesesuaian mereka untuk pemula dan pengguna maju. [159 aksara]

Artikel ini membincangkan jadual menjatuhkan di MySQL menggunakan pernyataan Jadual Drop, menekankan langkah berjaga -jaga dan risiko. Ia menyoroti bahawa tindakan itu tidak dapat dipulihkan tanpa sandaran, memperincikan kaedah pemulihan dan bahaya persekitaran pengeluaran yang berpotensi.

Artikel membincangkan menggunakan kunci asing untuk mewakili hubungan dalam pangkalan data, memberi tumpuan kepada amalan terbaik, integriti data, dan perangkap umum untuk dielakkan.

Artikel ini membincangkan membuat indeks pada lajur JSON dalam pelbagai pangkalan data seperti PostgreSQL, MySQL, dan MongoDB untuk meningkatkan prestasi pertanyaan. Ia menerangkan sintaks dan faedah mengindeks laluan JSON tertentu, dan menyenaraikan sistem pangkalan data yang disokong.

Artikel membincangkan mendapatkan MySQL terhadap suntikan SQL dan serangan kekerasan menggunakan pernyataan yang disediakan, pengesahan input, dan dasar kata laluan yang kuat. (159 aksara)
