I need an older version of Cinder

#1

My attempts to update the code written by someone else to compile under 0.9.1 have failed so far.

I need either the 0.9.0 linux repository or the “Cinder library for Raspberry Pi android_linux branch” that used to be here… https://github.com/cinder/Cinder/tree/android_linux

…to see if I can compile the code. The 0.9.0 that I found here-

  https://github.com/cinder/Cinder/releases

-doesn’t seem to have the linux info. (Cinder/include/cinder/audio/linux directory is missing … it is required for this build …was apparently part of the android_linux branch?)

For right now I am stuck, because I don’t know what changed (somewhere in the audio portion of Cinder) so I can’t dig any further into the code.

Thanks

0 Likes

#2

Hi,

You can check the last commit of your project and find the Cinder commit for it in the history. Maybe this state from August 2016 has the things you need:

If you know the date of your project e.g. March 16, 2016 you can run something like this in the Cinder git folder to find the hash of the commit you are looking for:

 git log --before="2016-03-16"

-Gabor

0 Likes

#3

Well I stumbled through that…and came up with a commit hash…

but I cannot find any way to download the appropriate files…all the guides I have seen reference ‘tree’ directory within a git repository…I see no such folder in cinder.

I don’t see how to go from the hash to downloading the appropriate repository…

and bizarrly…the Linux version I am using only sees 3 branches and 9 releases…but the windows computer sees 9 branches and 150 releases…but none of that helps…I can’t find linux data in either the ones the linux computer sees or the windows computer.

Maybe this is stupidly obvious…but I can’t find a solution.

0 Likes

#4

The command above gives you the hash fd913dc81. Then you use it like this in your Cinder folder:

git checkout -b old-cinder fd913dc81

This will check out a branch called old-cinder with the given hash. You might need to do a git submodule update as well to have the proper version of boost checked out.

-Gabor

0 Likes

#5

Thank you, of course I am digging a bigger hole, and an OPENGL error popped up (compiling for RPi)…and of course the answer in these forums are hidden in an broken link.

What I really need are the old precompiled android_linux packages…

…specifically…

Cinder library for Raspberry Pi android_linux branch ( commit
1bc47a0e9af1f0a0ca00346a85a1dda356c04b91 was successfully used in the building).

Why can I find ancient builds for OSX and Windows, but not these? If they still exist, what is the new link?

[navadria](https://discourse.libcinder.org/u/navadria)

[Aug '16](https://discourse.libcinder.org/t/errors-building-cinder-on-raspberry-pi-3/193/5?u=youbecha)

I was finally able to build Cinder and samples correctly with @petros’ suggestion of commenting these lines out:
[https://github.com/cinder/Cinder/blob/android_linux/proj/cmake/libcinder_source_files.cmake#L219-L222 ](https://github.com/cinder/Cinder/blob/android_linux/proj/cmake/libcinder_source_files.cmake#L219-L222)
0 Likes

#6

The files should be in git somewhere, but since that branch is merged into master it can be a bit difficult to find.

This was an RPi build error fixed by Petros some time ago. Maybe it can help you:

If it does not please post the build error you are getting.

-Gabor

0 Likes

#7

Just to clarify. The current version of Cinder compiled properly, however I cannot get a old bit of software to correctly compile…well specifically it also properly compiles, but software crashes upon start.

Summary, current Cinder fine, old software cannot be compiled.

Trying to find older version of Cinder to attempt to compile older software.

Software originally compiled with android_linux tree from Cinder.

0 Likes

#8

If it’s anything you plan on working with for a while, I’d say your time is better spent figuring out how to port the old code to a new cinder app. I’d start with a project created by tinderbox or cmake and get it working using latest master branch, then add in the code from your older app.

The android_linux stuff was quite experimental and it received a ton of updates after getting merged into master branch. And back then, the project configuration stuff was rapidly changing (and rewritten), so even if you roll back to a commit around the same period, there’s no telling that things will automatically build for you.

cheers,
Rich

0 Likes

#9

I agree completely, and that is what I have been trying to do, but I don’t know enough about the code to understand why it is failing in application…I know where it fails, (audio subsection) but I have no idea why, and as far as I can tell, the commands used haven’t changed.

Because it compiles I can’t narrow it down to a missing library…so at some point a library changed enough to cause the code to fail.

I would love to be able to real time step though the code, command by command, but at this point every possible solution creates another stack of problems. (tried to use VS to compile using the RPi…it couldn’t find cmake on the RPi…the same RPi that I compiled Cinder on using Cmake…)

It is like having very important data scanned in to an ancient data format…and you need to find an old computer running win95 to install old software to read the file…

I have even conversed with the original project authors…and once it was working, they left it.

0 Likes

#10

I feel ya. Yea would be great to get a decent debug toolchain working for pi but I never managed on the couple projects I worked on there. I was basically left with CI_LOG_I as my main debugging tool…

FYI if you don’t need audio stuff, I think there is a command line cmake flag that you can use to opt out of that in the libcinder binary (see this PR).

0 Likes

#11

At least GDB should work properly on the Pi. Running a debug binary with gdb ./BinaryApp and then running bt when the crash happens should give more info about the source of this.

0 Likes

#12

I would like to try that…apparently GDB is installed on the Pi… does the -g flag work on Cinder to enable it?

0 Likes

#13

I think you build the project with cibuildert. With cibuilder the command line is cibuilder.sh -b Debug. With CMake it’s cmake -DCMAKE_BUILD_TYPE=Debug. But I think both create a debug build by default.

0 Likes

#14

I think you build the project with cibuilder t. With cibuilder the command line is cibuilder.sh -b Debug . With CMake it’s cmake -DCMAKE_BUILD_TYPE=Debug . But I think both create a debug build by default.

Only in the version that existed in the old android_linux branch. We unified the build system with cmake for all platforms and at the same time removed the cibuilder stuff.

0 Likes