PackageCompiler.jl icon indicating copy to clipboard operation
PackageCompiler.jl copied to clipboard

Issue: intermediate .o files are generated in improper place

Open tz-lom opened this issue 2 years ago • 0 comments

I've noticed that intermediate .o files are placed next to source files (sorry, some path are replaced for security reasons)

Fatal error: can't create /XXX/HelperPackage.jl/src/julia_init.o: Permission denied
ERROR: LoadError: failed process: Process(`gcc -c -O2 -I/tmp/jl_fknea5 '-DJULIAC_PROGRAM_LIBNAME="libMYLIBxJULIA.so"' -DNEW_DEFINE_FAST_TLS_SYNTAX -m64 -std=gnu99 -I/YYY/julia/julia-1.9.0/include/julia -fPIC -march=x86-64 -o /XXX/HelperPackage.jl/src/julia_init.o /XXX/HelperPackage.jl/src/julia_init.c`, ProcessExited(1)) [1]

In my use case I am using HelperPackage.jl which contains julia_init.c, the actual compiled package is NOT HelperPackage.jl, but julia_init.c is originated from HelperPackage.jl

As you can see I have some ACL issue which is correct for my system. I also suspect that this would be the issue for default julia_init.c as well

Why it is an issue:

  • Changing contents of package installed in a system
  • Race condition (two parallel builds will fight for julia_init.o
  • Changing contents outside of expected folders
  • Package creates temp folder but not using it for that purpose

tz-lom avatar Dec 07 '23 14:12 tz-lom