If you are running the latest version of Ubuntu and tried to mount a NTFS filesystem you probably already know that you can’t and maybe you have even seen an error like “mount exited with exit code 21″.

This seems to be due to a bug in libfuse2 and/or fuse-utils package. To fix this temporarily you can downgrade both packages to a prior version. libfuse2 and fuse-utils version 2.8.1-1.1ubuntu2.2 seem to be OK but 2.8.1-1.1ubuntu3.2 is useless.

Just download both packages and install them:

http://launchpadlibrarian.net/60433788/libfuse2_2.8.1-1.1ubuntu2.2_i386.deb

http://launchpadlibrarian.net/60433786/fuse-utils_2.8.1-1.1ubuntu2.2_i386.deb

Don’t forget that these are 32bit packages. If you are using 64bit OS then download the needed packages.

sudo dpkg -i libfuse2_2.8.1-1.1ubuntu2.2_i386.deb
sudo dpkg -i fuse-utils_2.8.1-1.1ubuntu2.2_i386.deb

Problem solved 🙂

Se usam o Fedora Core 12 e tentarem compilar algum programa que use extensões fornecidas pelo OpenSSL, poderão deparar-se com erros como estes :

/usr/src/php-4.4.9/ext/openssl/openssl.c:182: error: expected specifier-qualifier-list before ‘LHASH’
/usr/src/php-4.4.9/ext/openssl/openssl.c:343: error: expected declaration specifiers or ‘…’ before ‘LHASH’
/usr/src/php-4.4.9/ext/openssl/openssl.c: In function ‘php_openssl_config_check_syntax’:
/usr/src/php-4.4.9/ext/openssl/openssl.c:348: error: ‘config’ undeclared (first use in this function)
/usr/src/php-4.4.9/ext/openssl/openssl.c:348: error: (Each undeclared identifier is reported only once
/usr/src/php-4.4.9/ext/openssl/openssl.c:348: error: for each function it appears in.)
/usr/src/php-4.4.9/ext/openssl/openssl.c: In function ‘add_oid_section’:
/usr/src/php-4.4.9/ext/openssl/openssl.c:366: error: ‘struct php_x509_request’ has no member named ‘req_config’
/usr/src/php-4.4.9/ext/openssl/openssl.c:370: error: ‘struct php_x509_request’ has no member named ‘req_config’
/usr/src/php-4.4.9/ext/openssl/openssl.c: In function ‘php_openssl_parse_config’:
/usr/src/php-4.4.9/ext/openssl/openssl.c:416: error: ‘struct php_x509_request’ has no member named ‘config_filename’
/usr/src/php-4.4.9/ext/openssl/openssl.c:416: error: ‘struct php_x509_request’ has no member named ‘config_filename’
/usr/src/php-4.4.9/ext/openssl/openssl.c:417: error: ‘struct php_x509_request’ has no member named ‘section_name’
/usr/src/php-4.4.9/ext/openssl/openssl.c:417: error: ‘struct php_x509_request’ has no member named ‘section_name’
/usr/src/php-4.4.9/ext/openssl/openssl.c:418: error: ‘struct php_x509_request’ has no member named ‘global_config’
/usr/src/php-4.4.9/ext/openssl/openssl.c:419: error: ‘struct php_x509_request’ has no member named ‘req_config’
/usr/src/php-4.4.9/ext/openssl/openssl.c:419: error: ‘struct php_x509_request’ has no member named ‘config_filename’
/usr/src/php-4.4.9/ext/openssl/openssl.c:421: error: ‘struct php_x509_request’ has no member named ‘req_config’
/usr/src/php-4.4.9/ext/openssl/openssl.c:426: error: ‘struct php_x509_request’ has no member named ‘req_config’
/usr/src/php-4.4.9/ext/openssl/openssl.c:437: error: ‘struct php_x509_request’ has no member named ‘digest_name’

No inicio pensei que pudesse estar relacionado  com o facto de estar a tentar compilar uma versão do php bastante antiga provocando alguma incompatibilidade entre com as extensões actuais, mas na verdade existem mais pessoas com o mesmo problema utilizando software mais recente.

A forma de resolver (ainda que temporariamente) o problema foi copiar as extensões de outra máquina, no meu caso um servidor com Fedora Core 9.

Para o caso de alguém precisar, ficam aqui. Basta descomprimir para o directório /usr/include/openssl.