Giter Club home page Giter Club logo

Comments (17)

flibitijibibo avatar flibitijibibo commented on September 26, 2024

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.

win8linux avatar win8linux commented on September 26, 2024

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.

flibitijibibo avatar flibitijibibo commented on September 26, 2024

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.

win8linux avatar win8linux commented on September 26, 2024

The game works when using system-provided PhysFS:
screenshot1.png

CMakeLists.txt changes:
https://github.com/win8linux/VVVVVV/blob/haiku_physfs_system/desktop_version/CMakeLists.txt

from vvvvvv.

flibitijibibo avatar flibitijibibo commented on September 26, 2024

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.

flibitijibibo avatar flibitijibibo commented on September 26, 2024

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:

6a0ee21

Does the latest master work now?

from vvvvvv.

win8linux avatar win8linux commented on September 26, 2024

Unfortunately, not.

from vvvvvv.

flibitijibibo avatar flibitijibibo commented on September 26, 2024

Still some linker issues?

from vvvvvv.

win8linux avatar win8linux commented on September 26, 2024

Yes, the same ones in the original post.

from vvvvvv.

flibitijibibo avatar flibitijibibo commented on September 26, 2024

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.

win8linux avatar win8linux commented on September 26, 2024

It still happens after deleting everything inside flibitBuild before building again.

from vvvvvv.

win8linux avatar win8linux commented on September 26, 2024

Let me try removing the local repo and redownloading master again.

from vvvvvv.

win8linux avatar win8linux commented on September 26, 2024

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.

flibitijibibo avatar flibitijibibo commented on September 26, 2024

Cool, glad it works now! If there’s anything else that comes up for Haiku, definitely send patches.

from vvvvvv.

win8linux avatar win8linux commented on September 26, 2024

Confirmation that the game builds and runs successfully under Haiku:
screenshot1.png

from vvvvvv.

n0toose avatar n0toose commented on September 26, 2024

@win8linux Could I help with the port in any capacity?

from vvvvvv.

win8linux avatar win8linux commented on September 26, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.