[IPOL discuss] Unable to build IPOL demo due to libraries' link order problem in some source codes
Miguel Colom
colom at cmla.ens-cachan.fr
Mon Sep 15 12:20:54 CEST 2014
Quoting Jacques Froment <Jacques.Froment at univ-ubs.fr>:
> I am surprised to be the first user who raises the issue of the
> libraries' link
> order, since Ubuntu is considered to be the most well-known
> distribution in the Linux world.
Indeed, I use Ubuntu with gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
and I check one by one each C++ code before they're uploaded to
production.
I've tried to compile one of the C++ codes that are supposed to don't
compile and it couldn't be compiled now in my machine. Actually, I
didn't check all codes, since I wasn't assigned the task of taking
care of the demo system from the beginning.
That demo, for example, fails to compile in my Ubuntu:
[...]
(...).o: En la función `(...)':
(...).c:(.text+0xc4): referencia a `sqrt' sin definir
(...).o: En la función `(...)':
(...).c:(.text+0x71): referencia a `sqrt' sin definir
(...).o: En la función `main':
(...).c:(.text.startup+0x15f): referencia a `floor' sin definir
(...): error: ld returned 1 exit status
make: *** [(...)] Error 1
This code compiles well in production, however.
In production, we're using gcc version 4.4.5 (Debian 4.4.5-8).
> Anyway, I think that the only way to solve this problem (as well as
> the following
> that are sure to come), is that the IPOL staff checks IPOL codes on
> different Linux
> distributions, starting with the most common: Ubuntu.
> Of course you will understand that if I am willing to help report an
> error, I can not
> substitute myself for the IPOL team to exhaustively check all
> published (as well as
> submitted) IPOL codes.
I agree. A possible solution is to create a Python script that
compiles the sources one by one following the instructions in the
build() function and check afterwards that the binaries are created.
Also, thanks a lot for your detailed review of the other codes.
Indeed, this problem is serious, since many demos may stop working
only after a compiler update and recompilation. And lots of users may
be unable to compile the sources (as it is happening now).
We'll give priority to this problem.
Best,
Miguel
More information about the discuss
mailing list