..:: PCSX2 Forums ::..

Full Version: ZZogl: ERROR: Need GL_EXT_framebuffer_object for multiple render targets
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
Default include path:
- before Sparsehash 2.0.1: /usr/include/google/sparsehash
- after Sparsehash 2.0.1: /usr/include/sparsehash

Even with the new include dir, the upstream wanted to keep the old include dir for backward compatibility propose. So, sparsehash 2.0.1 had "/usr/include/google" and "/usr/include/sparsehash".

However, version 2.0.1 had a bug: the backward compatibility was set to install in wrong directory. It was installing headers from "/usr/include/google/sparsehash" in "/usr/include/google". This issue was the subject of bug reported I opened in Sparshash site and it already solved.

This is no longer an issue in Sparsehash 2.0.2

Why it doesn't affect Archlinux users anymore? Because 1) I added a workaround using 'sed' to avoid this bug; and 2) Sparsehash in Archlinux was updated to 2.0.2.
But, even with the backward compatibility problem solved, at some point PCSX2 will need to change the include dir. But, not right now.
where is located file that where inside google directory (ie google/dense_hash_set etc... )?
(02-27-2012, 10:17 AM)gregory Wrote: [ -> ]where is located file that where inside google directory (ie google/dense_hash_set etc... )?

Everything that was inside 'google/' went to 'sparsehash/' and everything that was inside 'google/sparsehash/' went to 'sparsehash/internal/'

The whole issue was 'google/sparsehash' files were being installed in 'google/', so PCSX2's cmake wouldn't find 'google/sparsehash/' files. Blame it on sparsehash's Makefile.

See below how sparsehash's include directory looks like in version 2.0.2 in Archlinux (which already fixed the aforementioned bug). Please notice it provides both old '/usr/include/google/' and new '/usr/include/sparsehash', but the files are the same:
Code:
/usr/include/google/
/usr/include/google/dense_hash_map
/usr/include/google/dense_hash_set
/usr/include/google/sparse_hash_map
/usr/include/google/sparse_hash_set
/usr/include/google/sparsehash/
/usr/include/google/sparsehash/densehashtable.h
/usr/include/google/sparsehash/hashtable-common.h
/usr/include/google/sparsehash/libc_allocator_with_realloc.h
/usr/include/google/sparsehash/sparsehashtable.h
/usr/include/google/sparsetable
/usr/include/google/template_util.h
/usr/include/google/type_traits.h
/usr/include/sparsehash/
/usr/include/sparsehash/dense_hash_map
/usr/include/sparsehash/dense_hash_set
/usr/include/sparsehash/internal/
/usr/include/sparsehash/internal/densehashtable.h
/usr/include/sparsehash/internal/hashtable-common.h
/usr/include/sparsehash/internal/libc_allocator_with_realloc.h
/usr/include/sparsehash/internal/sparseconfig.h
/usr/include/sparsehash/internal/sparsehashtable.h
/usr/include/sparsehash/sparse_hash_map
/usr/include/sparsehash/sparse_hash_set
/usr/include/sparsehash/sparsetable
/usr/include/sparsehash/template_util.h
/usr/include/sparsehash/type_traits.h
josephg,

Can you test this patch on archlinux? I update cmake to detect the 2 package and to select the compilation path with a define.

Thanks you.
For tests proposes, I downgraded Sparsehash to 2.0.1, therefore I tested using as only valid headers path /usr/include/sparsehash/{,internal}

All files were patched - I double-checked.

The 'Find' step of cmake returned the following message:
Code:
...
-- Could NOT find SparseHash (missing:  SPARSEHASH_INCLUDE_DIR)
-- Found SparseHash_new: /usr/include
...

Then, it failed to compile at:
Code:
...
Scanning dependencies of target pcsx2
[ 35%] Building CXX object pcsx2/CMakeFiles/pcsx2.dir/Cache.cpp.o
[ 35%] Building CXX object pcsx2/CMakeFiles/pcsx2.dir/COP0.cpp.o
[ 35%] Building CXX object pcsx2/CMakeFiles/pcsx2.dir/COP2.cpp.o
[ 35%] Building CXX object pcsx2/CMakeFiles/pcsx2.dir/Counters.cpp.o
[ 36%] Building CXX object pcsx2/CMakeFiles/pcsx2.dir/GameDatabase.cpp.o
In file included from /home/rafael/builds/pcsx2-svn/src/pcsx2-build/pcsx2/GameDatabase.h:20:0,
                 from /home/rafael/builds/pcsx2-svn/src/pcsx2-build/pcsx2/GameDatabase.cpp:17:
/home/rafael/builds/pcsx2-svn/src/pcsx2-build/common/include/Utilities/HashMap.h:28:46: fatal error: google/sparsehash/densehashtable.h: No such file or directory
compilation terminated.
make[2]: ** [pcsx2/CMakeFiles/pcsx2.dir/GameDatabase.cpp.o] Error 1
make[1]: ** [pcsx2/CMakeFiles/pcsx2.dir/all] Error 2
make: ** [all] Error 2
Hum. Ok, here a new patch that also changes the define inside pcsx2 compilation instead of only common library.
yep, it works
Pages: 1 2 3