performancecopilot / pcp

Performance Co-Pilot
https://pcp.io
Other
974 stars 237 forks source link

OSX Build issues #52

Open tallpsmith opened 9 years ago

tallpsmith commented 9 years ago

Continuing from my initial attempts towards #51 I tried checking out a clean PCP git repo and building it locally on my OSX El Capitan, however I ran fairly quickly into build issues.

Documenting my tribulations, I needed to:

brew install gnu-tar coreutils make

As well as the following diff to fool it to find the right binary of gtar on my system:

https://gist.github.com/tallpsmith/64cb747004466f702381

To get some base bits working, I'm presuming too that the standard XCode install may be needed, I'm not sure, but since I had that installed worth mentioning.

After reading the INSTALL document, I then ran:

./Makepkgs --verbose

and hit the following error:

dyld: Library not loaded: libpcp.3.dylib
  Referenced from: /workspace_intellij/pcp/pcp/pcp-3.10.9/src/pmdas/root/../../../src/pmcpp/pmcpp
  Reason: image not found
Error Parsing ASCII PMNS: pmcpp returned non-zero exit status
newhelp: pmLoadASCIINameSpace(root_root, 1): Problems parsing PMNS definitions

The Makepkg log is also attached to the Gist referenced above for the full log.

Since I'm new to building PCP, I am sure this is mostly environmental at this stage, but if anyone can help point directions as to what is going wrong exactly, I would appreciate it.

natoscott commented 9 years ago

Heya Paul,

Some earlier notes here that may help - http://www.pcp.io/pipermail/pcp/2015-April/006944.html

The above build error is because the pmcpp program is being run during the build, but the libpcp library is not on DYLD_LIBRARY_PATH somehow (not built?) ... see the RUN_IN_BUILD_ENV macro in src/include/builddefs.

tallpsmith commented 9 years ago

Definitely installed

Not sure exactly what that is, I did launch xcode to check it was ok, and it did prompt me it need to 'install additional stuff' but that doesn't seem to have changed things. I'll dig into what this bit is.

I'm using homebrew, an alternative, I can see that I have pkg-config and gnutar installed (though as with the Gist above I had to hack the script to use a slightly different name.

QT surely not needed for libpcp ..? (maybe later in the build).

I agree it's the DYLD_LIBRARY_PATH that's the root of things, but I don't know why it's not there or not. If I echo that environment variable, it's blank for me.

natoscott commented 9 years ago

It'll probably be related to this (El Capitan SIP again) ... https://forums.developer.apple.com/message/31148 ... will do some navel-gazing & ponder ways to fix this.

tallpsmith commented 9 years ago

I understand from #48 that things are looking healthier build PCP, and indeed if I do a pull/rebase I can now successfully 'build' PCP via ./Makepkgs --verbose .

I can see a generated build/mac directory, but no DMG, and if I try hacking around with the build-installer script (ensuring I have all the necessary things for it), I am stumped by one remaning thing: IDB file.

I cannot find one anywhere in the tree, and it doesn't seem to get generated by the Makepkgs so I'm at a loss as to what to do to feed this.

I've asked on IRC today, but thought I'd document my progress here in case someone else out there knows exactly what to do.

tallpsmith commented 9 years ago

osx_build.log.txt