b1gZip und 64bit

Sebijk

B1G-Software-Kunde
#1
Läuft das Modul eigentlich mit 64-Bit Software zusammen? Ein Kollege von mir meldet, dass das Modul einfach nicht in der phpinfo() aufgelistet wird und er auch schon das Modul erfolgreich selbst kompiliert habe. Sind da Probleme dazu bekannt?
 

Sebijk

B1G-Software-Kunde
#5
also ich habe es vor kurzem auf einem vServer mit 64bit PHP und Betriebsystem getestet:

Wenn ich ZipArchive kompilieren möchte, kommt folgender Fehler:

g++ -D ZIP_ARCHIVE_LNX -I. -Izlib -c ZipArchive.cpp
In file included from ZipString.h:32,
from ZipException.h:35,
from ZipArchive.h:40,
from ZipArchive.cpp:16:
ZipString_stl.h: In member function 'int CZipString::Collate(const char*) const':
ZipString_stl.h:248: error: 'strcoll' was not declared in this scope
ZipString_stl.h: In member function 'int CZipString::CollateNoCase(const char*) const':
ZipString_stl.h:258: error: 'strcasecmp' was not declared in this scope
ZipString_stl.h:261: error: 'strcoll' was not declared in this scope
ZipString_stl.h: In member function 'int CZipString::CompareNoCase(const char*) const':
ZipString_stl.h:276: error: 'strcasecmp' was not declared in this scope
In file included from ZipFile_stl.h:19,
from ZipFile.h:32,
from ZipStorage.h:32,
from ZipFileHeader.h:29,
from ZipCentralDir.h:34,
from ZipArchive.h:42,
from ZipArchive.cpp:16:
ZipAbstractFile.h: In member function 'ULONGLONG CZipAbstractFile::Seek(ULONGLONG, bool)':
ZipAbstractFile.h:47: error: 'LONG_LONG_MAX' was not declared in this scope
In file included from ZipFileHeader.h:34,
from ZipCentralDir.h:34,
from ZipArchive.h:42,
from ZipArchive.cpp:16:
ZipExtraField.h: In member function 'bool CZipExtraField::Validate() const':
ZipExtraField.h:85: error: 'USHRT_MAX' was not declared in this scope
In file included from ZipCentralDir.h:34,
from ZipArchive.h:42,
from ZipArchive.cpp:16:
ZipFileHeader.h: In member function 'bool CZipFileHeader::CheckLengths(bool) const':
ZipFileHeader.h:564: error: 'USHRT_MAX' was not declared in this scope
ZipFileHeader.h: In member function 'bool CZipFileHeader::NeedsZip64() const':
ZipFileHeader.h:689: error: 'UINT_MAX' was not declared in this scope
ZipFileHeader.h:689: error: 'USHRT_MAX' was not declared in this scope
In file included from ZipArchive.h:42,
from ZipArchive.cpp:16:
ZipCentralDir.h: In member function 'bool CZipCentralDir::CInfo::NeedsZip64() const':
ZipCentralDir.h:182: error: 'USHRT_MAX' was not declared in this scope
ZipCentralDir.h:182: error: 'UINT_MAX' was not declared in this scope
ZipArchive.cpp: In member function 'bool CZipArchive::OpenNewFile(CZipFileHeader&, int, const char*, WORD)':
ZipArchive.cpp:432: error: 'USHRT_MAX' was not declared in this scope
make: *** [ZipArchive.o] Error 1
Ohne die Library kann ich ja b1gZip garnicht kompilieren.

@ patrick

Könntest du evtl. deine kompilierte Version hier online stellen?
 

Sebijk

B1G-Software-Kunde
#6
So, ich habe das Problem gelöst:

1. Man braucht g++-4.1, NICHT g++-4.3 zum Kompilieren, da g++-4.3 bei der Kompilierung von ZipArchive die oben genannte Fehlermeldung ausgibt.

2. Muss ZipArchive auf 64-Bit-Rechner unbedingt mit der Option -fPIC kompiliert werden, mehr Infos siehe Dokumentation von ZipArchive.
 
Last edited:
Top