Skip to content

Fixing compilation issues#2

Open
yoboujon wants to merge 2 commits intoiris-edu-legacy:masterfrom
yoboujon:master
Open

Fixing compilation issues#2
yoboujon wants to merge 2 commits intoiris-edu-legacy:masterfrom
yoboujon:master

Conversation

@yoboujon
Copy link

I saw that there was a missing include folder, so I added the following path : -I/usr/include/ntirpc/.
Then there was a missing library link too, so I added the following (only for Linux) : LDFLAGS = -lm -lc -ltirpc.

Furthermore, there was some warnings that newer C compilers (gcc 14 in my case) don't really like, so I ignored the following :
-Wno-incompatible-pointer-types -Wno-implicit-int -Wno-implicit-function-declaration.

Finally, there was a variable named :

struct prim_struct *key[50];`

That was defined inside a header... Which I don't know when was this possible. Nevertheless, seeing that no reference of this variable was given anywhere in the C files, i just deleted this line (I tried to use an extern at first but because it was not used.).

@WilliamEpenarandaA
Copy link

WilliamEpenarandaA commented Jun 21, 2025

Hello. I'm trying to install RDSEED in Ubuntu 24.04.2 LTS using the last changes in Makefile in lines 36, 38 and 45 as follow:

Line 36: CFLAGS = -O -m64 -g -Wno-incompatible-pointer-types -Wno-implicit-int -Wno-implicit-function-declaration
Line 38: INCLUDE = -I../Include -I/usr/include/ntirpc/
Line 45: LDFLAGS = -lm -lc -ltirpc

and installed additional libraries that you commit in the thread but it fails.

sudo apt install make g++ libnsl-dev libntirpc-dev

The error that appeared is this:

/usr/bin/ld: Parsers/parse_key.o:/home/inversionesw/src/rdseed/Parsers/../Include/ddl.h:160: definiciones múltiples de `key'; Decoders/decode_ddl.o:/home/inversionesw/src/rdseed/Decoders/../Include/ddl.h:160: primero se definió aquí
/usr/bin/ld: Printers/print_key.o:/home/inversionesw/src/rdseed/Printers/../Include/ddl.h:160: definiciones múltiples de `key'; Decoders/decode_ddl.o:/home/inversionesw/src/rdseed/Decoders/../Include/ddl.h:160: primero se definió aquí
collect2: error: ld returned 1 exit status
make: *** [Makefile:88: rdseed] Error 1

Thanks in advance.

@yoboujon
Copy link
Author

/usr/bin/ld: Parsers/parse_key.o:/home/inversionesw/src/rdseed/Parsers/../Include/ddl.h:160: definiciones múltiples de `key'; Decoders/decode_ddl.o:/home/inversionesw/src/rdseed/Decoders/../Include/ddl.h:160: primero se definió aquí
/usr/bin/ld: Printers/print_key.o:/home/inversionesw/src/rdseed/Printers/../Include/ddl.h:160: definiciones múltiples de `key'; Decoders/decode_ddl.o:/home/inversionesw/src/rdseed/Decoders/../Include/ddl.h:160: primero se definió aquí

This error comes from ddl.h which I modified too in my pull request, you can clone directly from my fork if you want all the modifications directly

@WilliamEpenarandaA
Copy link

Thank you very much. This solution works for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants