Forum > Resources and Tools
[TOOL] [MPQ] FuckItUp
<< < (13/14) > >>
Epicurus:
Hi schlumpf,
It would seem that Stormlib is not the cause of this problem. I'm not the savviest window's guy anyway, I'm more tailored towards working in a Linux environment. Of course, working on Windows has it's benefits, given that I can do all of my model editing, create the MPQs and remove the listfile all from one operating system.
I will switch over to Linux and attempt to compile the source there. I'll report back once I'm done.
Thanks, Epicurus
schlumpf:
I never tested it on anything but OS X. The step failing for you is removing the list file. Sadly, StormLib is bad in matters of error handling (at least in the packaged version). You may want to replace the printf("failed"); with
--- Code: ---printf ("Failed: %dn", GetLastError()); --- End code --- and then look in Stormlib.h, what your error is.
When hacking this together I really didn't care about error handling, sorry.
Epicurus:
No worries, schlumpf. It's a tool that was intended for personal use, and later shared with the public. It would be foolish of anyone to expect debugging capabilities. Though, you did supply the source which I am grateful for.
The source does not compile on a Linux platform, however. Here is the dump:
--- Code: ---Linking CXX executable FuckItUp CMakeFiles/FuckItUp.dir/src/SCompression.cpp.o: In function `Compress_ZLIB(char*, int*, char*, int, int*, int)': SCompression.cpp:(.text+0x220): undefined reference to `deflateInit_' SCompression.cpp:(.text+0x23f): undefined reference to `deflate' SCompression.cpp:(.text+0x269): undefined reference to `deflateEnd' CMakeFiles/FuckItUp.dir/src/SCompression.cpp.o: In function `Decompress_ZLIB(char*, int*, char*, int)': SCompression.cpp:(.text+0x2f6): undefined reference to `inflateInit_' SCompression.cpp:(.text+0x315): undefined reference to `inflate' SCompression.cpp:(.text+0x333): undefined reference to `inflateEnd' CMakeFiles/FuckItUp.dir/src/SCompression.cpp.o: In function `Compress_BZIP2(char*, int*, char*, int, int*, int)': SCompression.cpp:(.text+0x6c4): undefined reference to `BZ2_bzCompressInit' SCompression.cpp:(.text+0x710): undefined reference to `BZ2_bzCompress' SCompression.cpp:(.text+0x72c): undefined reference to `BZ2_bzCompressEnd' CMakeFiles/FuckItUp.dir/src/SCompression.cpp.o: In function `Decompress_BZIP2(char*, int*, char*, int)': SCompression.cpp:(.text+0x783): undefined reference to `BZ2_bzDecompressInit' SCompression.cpp:(.text+0x7b9): undefined reference to `BZ2_bzDecompress' SCompression.cpp:(.text+0x7dc): undefined reference to `BZ2_bzDecompressEnd' CMakeFiles/FuckItUp.dir/src/SFileAddFile.cpp.o: In function `WriteDataToMpqFile(TMPQArchive*, TMPQFile*, unsigned char*, unsigned int, unsigned int)': SFileAddFile.cpp:(.text+0x28f): undefined reference to `crc32' SFileAddFile.cpp:(.text+0x3c0): undefined reference to `adler32' CMakeFiles/FuckItUp.dir/src/SFileAddFile.cpp.o: In function `SFileAddFile_Init(TMPQArchive*, char const*, unsigned long long, unsigned int, unsigned int, unsigned int, TMPQFile**)': SFileAddFile.cpp:(.text+0xb5f): undefined reference to `crc32' CMakeFiles/FuckItUp.dir/src/SFileAttributes.cpp.o: In function `SFileUpdateFileAttributes(void*, char const*)': SFileAttributes.cpp:(.text+0x975): undefined reference to `crc32' SFileAttributes.cpp:(.text+0x9d3): undefined reference to `crc32' CMakeFiles/FuckItUp.dir/src/SFileReadFile.cpp.o: In function `ReadMpqSectors(TMPQFile*, unsigned char*, unsigned int, unsigned int, unsigned int*)': SFileReadFile.cpp:(.text+0x453): undefined reference to `adler32' collect2: ld returned 1 exit status make[2]: *** [FuckItUp] Error 1 make[1]: *** [CMakeFiles/FuckItUp.dir/all] Error 2 make: *** [all] Error 2
--- End code ---
I'll switch back to windows and attempt debugging in the manner you've suggested.
Thanks again, Epicurus
schlumpf:
That's just missing libz / libbz2.
Epicurus:
Hi schlumpf,
There were several issues here. Since the program is copyrighted, perhaps you will upload a new version based on these simple fixes, perhaps you wont given that the program was intended for OSX. Nevertheless, I will post the solutions I found for others who may experience them.
First issue I had was an outdated version of stormlib. My first attempt at updating stormlib failed because I found a fork rather than the master repository.
Official Stormlib repository: https://github.com/stormlib/StormLib
I updated the stormlib files in your source directory which led to the next issue.
With the latest release of stormlib, the function SFileCompactArchive takes 3 arguments, the third being a boolean. This is easily resolved by supplying the third argument.
As for compiling on Linux, I had to link z and zb2 within CMake and it was able to compile. Thanks for pointing me in the right direction.
Epicurus
Navigation
[0] Message Index
[#] Next page
[*] Previous page
|