Formaline undefined reference issue

Create issue
Issue #567 closed
Bruno Mundim created an issue


I am trying to build a new config on Ranger and the compilation stopped in the linking phase with output of this sort:

~/Cactus/configs/cigr/lib/libthorn_Formaline-cactus-source.a(thorn.o):(.rodata+0x0): undefined reference to `cactus_data_0000_ADM'

It seems to be related to formaline. How do do I clean up previous Formaline files? I tried a gmake *-realclean but this error didn't go away.



Comments (4)

  1. Erik Schnetter
    • removed comment

    A make clean or make realclean will delete all of Formaline's state. Alternatively, you can directly delete the directory configs/cigr/scratch/Formaline.

    Can you look for the string cactus_data_0000_ADM in the *.c files in the Formaline directory? It should appear twice, once defining a data structure, once referencing it. Both *.c files should have corresponding *.o files.

    Also, I committed a change to Formaline recently. Are you up-to-date?

  2. Erik Schnetter
    • changed status to open
    • assigned issue to
    • removed comment

    I confirm that this is a problem. It appears that there is a bad interaction between Formaline and "ar". I hope to commit a solution soon.

  3. Erik Schnetter
    • changed status to resolved
    • removed comment

    It seems that "ar" does not store directory names of archive members, and make can't be taught to create files with names that contain the thorn name in a directory that contains the thorn name. Therefore I'm undoing my previous commit.

  4. Log in to comment