UDF compilation flow in v3.x vs v2.x

I just upgraded TG Developer Edition from v2.5 to v3.0.5. I have a rather big UDF project with multiple source files and linked with custom libraries as well. Everything works fine in v2.5 by using #include header files in ExprFunctions.hpp and customizing MakeUdf. Looks like the flow has changed in v3.0.5 and my flow doesn’t work anymore.

  1. Query compilation can’t find the included file in ExprFunctions.hpp.
  2. MakeUdf doesn’t seem to get used by the query compilation.

Any suggestion on how I can get this to work in v3.0.5?

Cheers,
Jim

I believe the flow hasn’t changed much in 3.x. Could you share more details about this?

I include my own hpp file in ExprFunctions.hpp like below:

#include "ExprUtil.hpp"
#include "myUdf.hpp"

myUdf.hpp is in the same directory as ExprFunctions.hpp
-rw-r–r-- 1 tigergraph tigergraph 2257 Dec 12 09:38 ExprFunctions.hpp
-rw-r–r-- 1 tigergraph tigergraph 1282 Dec 12 08:31 ExprUtil.hpp
-rw-rw-r-- 1 tigergraph tigergraph 31 Dec 12 09:45 myUdf.hpp
drwxr-xr-x 2 tigergraph tigergraph 4096 Dec 12 08:31 test

This works in TigerGraph 2.x, but doesn’t work in 3.x. Below is the error message complaining myUdf.hpp: no such file or directory.

3207 E@20201212 09:39:14.929 tigergraph|127.0.0.1:38850|00000000008 (ExternalUtil.java:546) /scratch/tigergraph/tmp/gsql/codegen/udf/Ex     prFunctions.hpp:47:21: fatal error: myUdf.hpp: No such file or directory
3208 E@20201212 09:39:14.929 tigergraph|127.0.0.1:38850|00000000008 (ExternalUtil.java:546) #include "myUdf.hpp"

I am moving this to the bug board as this is a major inconvenience.

1 Like