Comments (17)
It should link after adding the Haiku platform file from PhysicsFS 3.0.2, both to the physfs folder and to CMakeLists.txt. (I can merge in the Haiku port when it’s done, btw!)
from vvvvvv.
Ok, did just that but linking still fails with this:
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: libphysfs-static.a(physfs_platform_haiku.cpp.o): in function `getMountPoint(char const*, char*, unsigned long)':
physfs_platform_haiku.cpp:(.text+0x3b): undefined reference to `BVolumeRoster::BVolumeRoster()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x47): undefined reference to `BVolume::BVolume()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x53): undefined reference to `BVolumeRoster::Rewind()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x66): undefined reference to `BVolumeRoster::GetNextVolume(BVolume*)'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x7f): undefined reference to `BVolume::Device() const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0xc2): undefined reference to `BDirectory::BDirectory()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0xd1): undefined reference to `BEntry::BEntry()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0xe0): undefined reference to `BPath::BPath()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0xf6): undefined reference to `BVolume::GetRootDirectory(BDirectory*) const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x113): undefined reference to `BDirectory::GetEntry(BEntry*) const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x130): undefined reference to `BEntry::GetPath(BPath*) const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x143): undefined reference to `BPath::Path() const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x1b4): undefined reference to `BPath::~BPath()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x1c3): undefined reference to `BEntry::~BEntry()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x1d2): undefined reference to `BDirectory::~BDirectory()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x1e5): undefined reference to `BVolume::~BVolume()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x1f1): undefined reference to `BVolumeRoster::~BVolumeRoster()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x208): undefined reference to `BPath::~BPath()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x21c): undefined reference to `BEntry::~BEntry()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x230): undefined reference to `BDirectory::~BDirectory()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x241): undefined reference to `BVolume::~BVolume()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x252): undefined reference to `BVolumeRoster::~BVolumeRoster()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: libphysfs-static.a(physfs_platform_haiku.cpp.o): in function `tryDir(char const*, void (*)(void*, char const*), void*)':
physfs_platform_haiku.cpp:(.text+0x294): undefined reference to `BDirectory::BDirectory()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x2aa): undefined reference to `BDirectory::SetTo(char const*)'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x2b6): undefined reference to `BNode::InitCheck() const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x2d5): undefined reference to `BDirectory::Rewind()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x2e4): undefined reference to `BEntry::BEntry()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x2ff): undefined reference to `BDirectory::GetNextEntry(BEntry*, bool)'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x31b): undefined reference to `BPath::BPath()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x32a): undefined reference to `entry_ref::entry_ref()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x343): undefined reference to `BEntry::GetPath(BPath*) const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x365): undefined reference to `BPath::Path() const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x382): undefined reference to `BEntry::GetRef(entry_ref*) const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x3a4): undefined reference to `BStatable::IsDirectory() const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x4b4): undefined reference to `entry_ref::~entry_ref()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x4d4): undefined reference to `BPath::~BPath()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x4eb): undefined reference to `BEntry::~BEntry()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x4fc): undefined reference to `BDirectory::~BDirectory()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x513): undefined reference to `entry_ref::~entry_ref()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x527): undefined reference to `BPath::~BPath()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x53b): undefined reference to `BEntry::~BEntry()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x54c): undefined reference to `BDirectory::~BDirectory()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: libphysfs-static.a(physfs_platform_haiku.cpp.o): in function `__PHYSFS_platformCalcBaseDir':
physfs_platform_haiku.cpp:(.text+0x631): undefined reference to `BEntry::BEntry(char const*, bool)'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x640): undefined reference to `BPath::BPath()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x659): undefined reference to `BEntry::GetPath(BPath*) const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x69a): undefined reference to `BPath::GetParent(BPath*) const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x6d1): undefined reference to `BPath::Path() const'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x781): undefined reference to `BPath::~BPath()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x790): undefined reference to `BEntry::~BEntry()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x7a7): undefined reference to `BPath::~BPath()'
/boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: physfs_platform_haiku.cpp:(.text+0x7bb): undefined reference to `BEntry::~BEntry()'
collect2: error: ld returned 1 exit status
CMakeFiles/VVVVVV.dir/build.make:551: recipe for target 'VVVVVV' failed
make[2]: *** [VVVVVV] Error 1
CMakeFiles/Makefile2:137: recipe for target 'CMakeFiles/VVVVVV.dir/all' failed
make[1]: *** [CMakeFiles/VVVVVV.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
I'll try making it use the library provided by the system from the physfs
and physfs_devel
packages.
from vvvvvv.
There are probably other things Haiku has to link to, most notably these:
https://hg.icculus.org/icculus/physfs/file/tip/CMakeLists.txt#l46
from vvvvvv.
The game works when using system-provided PhysFS:
CMakeLists.txt
changes:
https://github.com/win8linux/VVVVVV/blob/haiku_physfs_system/desktop_version/CMakeLists.txt
from vvvvvv.
Cool, so that confirms it - I think you just need to add be
and root
to the link section at the bottom for Haiku, then add that platform file to the physfs src, and it should compile and link properly.
from vvvvvv.
Since I was looking at the physfs CMake file I sorta winged it and made what might be a Haiku port? I've literally never worked with Haiku so I'm just assuming the Linux stuff is reusable like it was for BSD:
Does the latest master
work now?
from vvvvvv.
Unfortunately, not.
from vvvvvv.
Still some linker issues?
from vvvvvv.
Yes, the same ones in the original post.
from vvvvvv.
Try building from a totally fresh build folder, we definitely include the file now so at most I would expect link issues from not having be/root.
from vvvvvv.
It still happens after deleting everything inside flibitBuild
before building again.
from vvvvvv.
Let me try removing the local repo and redownloading master
again.
from vvvvvv.
Ok, did just that and it does link successfully now! Am downloading the data.zip
now and will get back when the game successfully runs.
Edit: Seemed that there were some leftover problems involving my fork and master
when I tried switching repos initially. Sorry 'bout that.
from vvvvvv.
Cool, glad it works now! If there’s anything else that comes up for Haiku, definitely send patches.
from vvvvvv.
Confirmation that the game builds and runs successfully under Haiku:
from vvvvvv.
@win8linux Could I help with the port in any capacity?
from vvvvvv.
If possible @AlwaysLivid, you can help with the HaikuPorts recipes for the game in this pull request:
haikuports/haikuports#4652
from vvvvvv.
Related Issues (20)
- TAB keybinds in roomname translator mode and level debugger conflict
- gitmodules and release version HOT 13
- Tighter integration of custom levels HOT 14
- Add GameCube glyphs HOT 3
- Desktop build for Windows doesn't actually disable exceptions HOT 9
- confusing releases HOT 2
- Help: `vvvvvvmusic.vvv: Header 0's size value goes past end of file` HOT 5
- Wiimote support HOT 3
- Support for Windows XP 32-bit apparently dropped HOT 7
- If you mess with your controller bindings on steam deck, you can lock yourself out of being able to do anything HOT 4
- Unknown, possibly peripheral-related crash HOT 2
- 2.5 TODO
- v2.4.1 crashes on start with old settings file (out-of-range `<stretch>` value) HOT 5
- colored text boxes aren't properly positioned for rescuable crewmates anymore
- Audio dropout issue in 2.4.x (and possibly earlier) on Linux when using Pipewire HOT 2
- Additional Button prompts for additional Controller Types (Steam Controller, Xbox 360, DualShock 3) HOT 1
- The back button on Android does not close the application HOT 3
- Build fails on physfs: HOT 1
- Regression: moving enemies aren't moving anymore
- Fast-forward does not work in 30-FPS-only mode
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vvvvvv.