Comments (11)
I agree. I don't build the RPMs on an x86_64 machine myself, so I don't know
how
difficult it would be for me to add it. I also create and upload RPMs manually
for
each release, so as the number gets bigger it becomes a bit more work for me.
I'm fine if people want to create such things themselves! I think you can
create an
issue or something where you attach the rpm file.
Original comment by [email protected]
on 8 Feb 2008 at 11:06
from gperftools.
Did you considered services like openSUSE Build Service
(http://en.opensuse.org/Build_Service)? I don't use it myself and don't know
much
about it, but this service is developed exactly for this purpose. Some days ago
they
announced that this Service is available for building packages for different
repositories.
I know that building packages for different repositories/architectures is a real
headache.
Original comment by [email protected]
on 9 Feb 2008 at 11:38
from gperftools.
Here is a set of RPMs I have built for x86_64. Let me know if these work.
Original comment by [email protected]
on 3 Apr 2008 at 4:31
Attachments:
- google-perftools-0.96-1.x86_64.rpm
- google-perftools-devel-0.96-1.x86_64.rpm
- google-perftools-debuginfo-0.96-1.x86_64.rpm
from gperftools.
This issue is resolved as we could build 64bit gmalloc rpm. Thanks for your
help on this.
Original comment by [email protected]
on 21 Nov 2008 at 6:03
from gperftools.
I haven't forgotten about this! I finally got a good machine for building a
64-bit
deb file (no rpm though). However, it's tricky because for 64-bit x86_64
machines,
tcmalloc requires you to either use libunwind, or to build with frame pointers
(which
requires all your applications to use frame pointers too). Neither is very
appealing
pre-packaged: I don't want to include libunwind, or add a dependency on it, but
I
also don't want to build with frame pointers since there's no good way to
advertise
that apps need to be built with frame pointers too.
I'm not sure the best way to proceed. Maybe I'll just build it with frame
pointers
and hope for the best. But I'm worried that will create a support headache.
So now
I'm paralyzed into doing nothing at all. :-}
Original comment by [email protected]
on 6 Mar 2009 at 4:10
- Changed state: Accepted
from gperftools.
I tried to build a RPM for google-perftoos 1.2 on 64-bit. I found the 2
following
problems and here my suggestions if it may help:
- Because of the libunwind pb, it'd be nice to be able to pass the
--enable-frame-
pointers option to configure in the spec file. This requires a minor mod in the
spec
file itself :
./configure %{configure_opts}
and in rpm.sh to add the following --define :
--define "configure_opts ${FRAME_POINTERS_OPT" \
FRAME_POINTERS_OPT could be defined to the empty string by default and it
should be
possible to pass it as an opt argument to rpm.sh.
- There is a problem with pprof.1 location in the %file section. make install
put in
share/man/... where the spec file looks for it in man/...
An additional issue I missed it that libraries should be installed into
/usr/lib64
instead of /usr/lib. But this is also very easy to passe it with a macro from
the
script rpm.sh based on uname. This is very important as it makes sense to
install
both version on a 64-bit machine, one for the 32-bit apps, one for the 64-bit
apps.
Cheers,
Michel
Original comment by [email protected]
on 21 May 2009 at 4:15
from gperftools.
Hi Michel, thanks for your feedback. I have been wrestling with this very
issue.
I'm reluctant to put out a 64-bit RPM with --enable-frame-pointers, because
that's
not a "Just Works" solution -- the user of the library needs to understand the
repercussions, and that they need to compile everything else with frame pointers
enabled as well. I'd rather folks compile from source, so they can be aware of
this.
On the other hand, most users probably only want the malloc functionality, and
don't
need all the facilities that require stack-tracing, like the cpu profiler. So
for
them, --enable-frame-pointers makes sense. Maybe I could provide a 'minimal'
library
for 64 bit.
As for lib vs lib64 -- what about systems that are 64-bit only? Does /lib64
exist
there as well? I don't know much about packaging for 64-bit systems. For other
opensource packages I maintain, it seems to use /usr/lib for all libraries.
I can't figure out what to do, so in the meantime I've been doing nothing. :-/
Original comment by [email protected]
on 21 May 2009 at 4:26
from gperftools.
Hi,
You are completely right, this is not a full version. But from your notes I
understood that --enable-frame-pointers was ok on 64-bit as long as you use
only
tcmalloc. My goal was only to have a RPM easy to use for deployment on RH-based
system and adding libunwind constraint seemed to much. I didn't take the time
to
build a RPM with tcmalloc only but I agree this would be the cleanest solution.
On RH derivative (RH, Fedora, Scientific Linux, Centos...) at least (I don't
know
about other family of distros), 64-bit libs are ALWAYS installed in a lib64
directory. 'lib' directories are supposed to contain only 32-bit libs, either
on a
pure 32-bit OS or a 64-bit OS with 32-bit compatibility installed (in fact
mainly 32-
bit libs).
If it helps I attached a tweaked version of rpm.sh and rpm.spec that works
properly
to build the 64-bit RPM on a 64-bit system and should be backward compatible
for
other systems.
By the way, you should be able to get the RPM from
https://quattorsrv.lal.in2p3.fr/
packages/glite/3.1/externals.
Michel
Original comment by [email protected]
on 21 May 2009 at 5:20
Attachments:
from gperftools.
Issue 240 has been merged into this issue.
Original comment by [email protected]
on 3 May 2010 at 10:08
from gperftools.
Here's my comment in issue 240, which I'm repeating here for ease of reference:
---
The problem is that x86_64 packages have a big issues
with stackatraces. There are a couple of ways to work around it (libunwind,
which
works for some people sometimes, and --enable-frame-pointers, which kinda-works
all
the time), but each has plusses and minuses, and developers need to understand
the
repercussions of the choices they're making, in order to use perftools
effectively.
Because of that, I've decided it's best to make developers compile from source,
and
explicitly choose one of the two options, so they can use perftools
successfully.
I hope one day libunwind will be good enough we can just go with that solution
for
everyone. But for now, I think compiling from source is the best choice. I'll
think
about if there are any compromise solutions I'm missing.
---
Original comment by [email protected]
on 3 May 2010 at 10:08
from gperftools.
I think it's probably time to finally deal with this issue. I've been advised
that I shouldn't be in the package-creating business at all, which is probably
right. I provide RPMs and deb's for convenience, but they account for less
than 15% of all downloads I see. Given that the great majority of people
compile from source anyway, and that there's no good default for 64-bit
building (libunwind is still not quite suitable, after all these years), I'm
going to close this WillNotFix.
Original comment by [email protected]
on 31 Aug 2011 at 1:11
- Changed state: WontFix
from gperftools.
Related Issues (20)
- Cant compile gproftools with mips64 HOT 5
- armv7l compilation fails under -std=c++11 (works under -std=gnu++11) (was: Cant compile gproftools with armv7l) HOT 7
- pprof -disasm / -list fail on OS X due to renamed and incompatible objdump HOT 3
- pprof script bugged when testing out nm HOT 2
- heap-profiler check fails when built with gcc 4.8.0 but works when built with gcc 4.4.7 HOT 6
- Heap profiler consumes a lot of memory HOT 1
- Project Home page 2014->2015 HOT 1
- Callgrind output broken (patch provided) HOT 1
- Callgrind output does not handle inlined functions (patch provided) HOT 1
- Like a teeter totter,run slowly because call ThreadCache::FetchFromCentralCache and ThreadCache::ReleaseToCentralCache frequently HOT 3
- typo in PrintAvailability source code HOT 3
- Any plan to shift to CMake? HOT 1
- VIRT memory continues to grow when using 64k byte buffers HOT 4
- Linking libtorsocks with libtcmalloc results in SIGSEGV HOT 3
- What will be the official home for gperftools?
- On Windows 8.1, system-alloc_unittest fails an assert HOT 1
- recalloc is wrong in windows/override_functions.cc HOT 1
- src/malloc_hook_mmap_linux.h fails to compile with clang in C++11 mode when targeting 32 bit with _FILE_OFFSET_BITS=64 HOT 1
- Should heap profiling with mingw work? HOT 3
- src/gperftools/tcmalloc.h and src/windows/gperftools/tcmalloc.h report v2.3 HOT 2
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 gperftools.