CMake builds vs Autotools builds

I ran into a problem tonight when I tried to build gr-fcd – it didn’t
like the /usr/local/lib/libgnuradio*.la
files that some previous Gnu Radio build had left lying around. So, I
thought I’d do a make uninstall
make; sudo make install from the CMake side, and everything would be
peachy. Well, no. The CMake
side doesn’t update those artifacts, it seems, so if you want a to
build an auto-tools based “add on”,
like gr-fcd, you had better make sure that you’ve recently done an
auto-tools build of Gnu Radio, so
that the *.la artifacts are up-to-date. This caused me grief because
at some point, around October 31,
I’d done an auto-tools build that produced syntactically invalid
*.la files, but since I’d subsequently
moved my life over to CMake, I guess I never noticed, until I had to
build gr-fcd as an “add on”.


Principal Investigator
Shirleys Bay Radio Astronomy Consortium

On Mon, Dec 5, 2011 at 12:58 AM, Marcus D. Leech [email protected]
wrote:

that the *.la artifacts are up-to-date. This caused me grief because
at some point, around October 31,
I’d done an auto-tools build that produced syntactically invalid
*.la files, but since I’d subsequently
moved my life over to CMake, I guess I never noticed, until I had to
build gr-fcd as an “add on”.

Thanks, Marcus. I’ve been wondering if/when that was going to bite us in
the ass. Josh and I worked on it a bit a while ago, but we didn’t know
any
case where it wouldn’t work. All I knew was that they were building
different .la files. We’ll have to investigate this again now that
there’s
a known need.

Also, this is exactly why we have the parallel builds as we work out the
kinks in cmake.

Tom

On 12/05/2011 05:30 AM, Tom R. wrote:

like gr-fcd, you had better make sure that you’ve recently done an
Thanks, Marcus. I’ve been wondering if/when that was going to bite us in

http://gnuradio.org/cgit/gnuradio.git/commit/?id=56fcd5f9b22af33976f9413d3a9d0aec41a7b556

-josh

>> I ran into a problem tonight when I tried to build gr-fcd -- it
>>  like gr-fcd, you had better make sure that you've recently done an
>
> Also, this is exactly why we have the parallel builds as we work

Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page

Yeah, I’ll give it a try tommorow evening sometime. Farking day job
gets in the way of all the
fun stuff :frowning:

On Mon, Dec 5, 2011 at 10:35 AM, Josh B. [email protected] wrote:

make; sudo make install from the CMake side, and everything would be
build gr-fcd as an “add on”.

-josh
Marcus, would you be up for trying that? The resulting la files do not
match what comes out of autotools. We don’t know if they will work,
despite
their differences, and it’d be good to know.

Thanks,
Tom

Tom

This was fixed a month ago. Just clean your install.

http://gnuradio.org/redmine/issues/473

-josh

On Tue, Dec 6, 2011 at 6:33 PM, Tom R. [email protected]
wrote:

despite their differences, and it’d be good to know.
Yeah, I’ll give it a try tommorow evening sometime. Farking day job

I believe the problem is that he NEEDS the .la files for the gr-fcd
compilation. So either the gr-fcd would have to be worked on to link a
different way, or we would have to provide the .la files (and make sure
they are correct).

Actually, gr-fcd can link against .so but apparently the autotools
prefer
.la if they are present.
I had issue with the cmake generated .la file a month ago and Josh
suggested to disable generation of .la files, see
http://lists.gnu.org/archive/html/discuss-gnuradio/2011-10/msg00512.html

Alex

On Tue, Dec 6, 2011 at 12:56 AM, Josh B. [email protected] wrote:

Thanks,
fun stuff :frowning:

This was fixed a month ago. Just clean your install.

http://gnuradio.org/redmine/issues/473

-josh

I believe the problem is that he NEEDS the .la files for the gr-fcd
compilation. So either the gr-fcd would have to be worked on to link a
different way, or we would have to provide the .la files (and make sure
they are correct).

Tom

On 12/06/2011 06:02 PM, Tom R. wrote:

Alright, good. Just making sure we didn’t actually need the .la files.
Which is good, since making them “correctly” (that is, identical to
the output of autotools) could have been a real pain.

Thanks!
Tom

Ok, “this evening” has arrived with a sickening “thud”, and I removed
the “.la” files from my /usr/local/lib (well, /usr/local/lib64):

rm -f libgru*.la
rm -f libgnur*.la

Then re-ran the gr-fcd:

bootstrap; ./configure; make; sudo make install

Quadriumvirate, and it all went perfectly well.

So, I don’t think we need the .la files, and they, as observed
previously, get in the way. But them being there in some weird-arsed
state
can certainly screw things up.


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium

On Tue, Dec 6, 2011 at 4:16 PM, Alexandru C. [email protected]
wrote:

Marcus, would you be up for trying that? The resulting la files do not
Discuss-gnuradio Info Page
-josh
I had issue with the cmake generated .la file a month ago and Josh
suggested to disable generation of .la files, see
[Discuss-gnuradio] Can't link against libgnuradio-core (cmake)

Alex

Alright, good. Just making sure we didn’t actually need the .la files.
Which is good, since making them “correctly” (that is, identical to the
output of autotools) could have been a real pain.

Thanks!
Tom

On Tue, Dec 6, 2011 at 6:11 PM, Marcus D. Leech [email protected]
wrote:

Ok, “this evening” has arrived with a sickening “thud”, and I removed

So, I don’t think we need the .la files, and they, as observed
previously, get in the way. But them being there in some weird-arsed state
can certainly screw things up.


Marcus L.

We do suggest you uninstall before updating, which would have removed
these
files. Now, with autotools still building the .la’s, if you are going
back
and forth, that could be a problem. On that, a) we will be moving away
from
autotools in the next version and b) I hope most people would start and
stay with a build structure until then.

Thanks for checking into this.

Tom