macdylibbundler icon indicating copy to clipboard operation
macdylibbundler copied to clipboard

Fix data storage problems

Open keinstein opened this issue 6 years ago • 3 comments

Hi, with my project I got some strange behaviour of dylibbundler.

Two examples: https://travis-ci.org/keinstein/mutabor/builds/359407671 https://travis-ci.org/keinstein/macdylibbundler/builds/365191186 Click on one of the builds to see the log files of the builds.

As I don't own a current Mac I used address sanitizer in order to debug dylibbundler. I couldn't figure out the cause of this strange behaviour. But changing to tree based data structures solved the index problems. Other problems have been solved, too.

Other changes:

  • New elements are added to a queue as well as to the set of dependencies.
  • Symbolic links are recorded as a map to the depending object.
  • Each new dependency is added to a queue, so that they can be processed one after another
  • Dependencies are ordered by filename,path/to/file (a cosmetic decition)
  • A test case has been added in order to check my problems
  • Automatic builds and checks using Travis CI (you have to activate it yourself after pulling in .travis.yml).
  • more verbose output (maybe one should introduce a -v option to show them)
  • partial rebuilding
  • fail if stdin is not available and the program requests a user supplied path. In that case the user should provide the directory using the library search path

keinstein avatar Apr 11 '18 16:04 keinstein

Hi, thanks for the contribution, though this is a pretty huge change and I must admit I don't really have the time to review/test all of that at the moment, so I'm not too sure how to handle that TBH. I'd appreciate if other dylibbundler users could give a hand with testing this and report on whether these changes work for them

auriamg avatar Apr 14 '18 19:04 auriamg

Hi, other users probably won't find this pull request. So this is not an option. I'd suggest that you switch over to test driven development. Add a test suite for the problems that occurred earlier. A simple example is given in this pull request.

Then you should make sure the test suite compiles properly. The next step is to add address sanitizer to the compiler option for the debug build that is used to run the test suite. If you got this running, add my test case and check if everything is still working properly.

keinstein avatar Apr 24 '18 05:04 keinstein

dylibbundler is a little project I made years and years ago, and I am no longer actively working on it. actually, if someone else volunteered to take over the project, I would gladly let other peoples take a look at it since I just have very little time to invest on it, sorry... I know it's not ideal to let pull requests like that but at this time I am unable to do more

auriamg avatar Apr 24 '18 22:04 auriamg