Discussion:
g++ or ld issue?
(too old to reply)
Bob Proulx
2014-08-02 15:05:34 UTC
Permalink
Hello Keith,
I've found what appears to be a linker issue but I'm not sure whether to
send it to you or to the gcc folks because of the way it shows up.
The problem is that when I run memory2.exe there is a seg fault because the
target of a call to ppl_set_GMP_memory_allocation_functions (declared weak
in libppl and overridden in memory2) from
Parma_Polyhera_Library::Init::Init() has been fixed up incorrectly. So if
this is an ld issue, how do I send libppl.a (27 MB) to you? Using gdb I
manually fixed the call using the offset information from memory2.o and
everything worked properly as far as I could tell.
Because you are on Cygwin you should start with one of those mailing
lists. Generally the Cygwin folks do good work but because of the
platform differences they often need to make deep invasive changes to
GNU/Unix software in order to make it run. We understand that.
Sometimes compromises must be made. I find it rather amazing that it
runs there at all! Also people working on GNU Project software
usually don't run it on MS-Windows systems and don't unusually have
the ability to recreate problems on Cygwin. Therefore the place to
start when using Cygwin is over on the Cygwin project side of things.

http://cygwin.com/lists.html

But wait... I am a little confused. Part of your configuration
appears to be Cygwin but other parts appear to be MinGW. Are you
mixing those two projects together? Perhaps that is the problem. I
didn't think that mixing those environments was valid due to the
different choices made by those two projects to port code to
MS-Windows. But since I am using neither I really don't know.

The MinGW mailing lists.

http://www.mingw.org/mailing_lists

Good luck!

Bob
Bob Proulx
2014-08-02 15:17:38 UTC
Permalink
Hello Keith,
Parma_Polyhera_Library::Init::Init() has been fixed up incorrectly. So if
this is an ld issue, how do I send libppl.a (27 MB) to you? Using gdb I
manually fixed the call using the offset information from memory2.o and
everything worked properly as far as I could tell.
Oh, I forgot to add something else that is very important. In your
message you included several large binary blobs of image002.jpg (3.5K),
libgmp.a (1.0M), libgmpxx.a (46K), libppl_tests.a (1.8M), memory2.o
(1.0M). The total size of the email was 3.9M. That is way too large
for sending to a mailing list with a lot of subscribers.

I am sure you didn't realize they were so large. Or that they are
mostly useless. But please avoid doing that again in the future.
Binary blobs are mostly useless to anyone who isn't on your same
computer system and on exactly the same machine that you compiled
those upon. The hundreds of subscribers to the mailing won't be able
to do anything with them. They are not useful in the email archive of
the discussions. They just take up bandwidth. And the mailing list
produces a huge amount of bandwidth already.

So as a friendly hint if you discuss this problem with MinGW or Cygwin
please don't start by sending them several megabytes of binary blobs.
It doesn't make a good first impression. Simply describe the problem
and start the discussion about it.

Bob

Speaking as one of the mailing list administrators.

Loading...