JuliaLang / julia

The Julia Programming Language
https://julialang.org/
MIT License
45.44k stars 5.46k forks source link

compiling Julia - make[2]: *** No rule to make target '-lutf8proc' #35368

Closed lejeczek closed 2 years ago

lejeczek commented 4 years ago

hi everyone, utf8proc-2.4 is available to the OS yet compilation fails. Would you care to comment and advise?

... gcc -march=x86-64 -m64 -fasynchronous-unwind-tables -DJULIA_HAS_IFUNC_SUPPORT=1 -DJULIA_ENABLE_THREADING -DJULIA_NUM_THREADS=1 -O3 -ggdb2 -falign-functions -momit-leaf-frame-pointer -I../support -std=gnu99 -pipe -fPIC -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -O3 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=native -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/yum.rpm/rpmbuilds/os.local.native/build/julia/build/usr/include -I/usr/include -I/yum.rpm/rpmbuilds/os.local.native/build/julia/build/usr/include -DLIBRARY_EXPORTS -DUTF8PROC_EXPORTS -Wall -Wno-strict-aliasing -DUSE_COMPUTED_GOTO -fvisibility=hidden -Wpointer-arith -Wundef -Wold-style-definition -Wstrict-prototypes -Wc++-compat -DNDEBUG -DJL_NDEBUG -c julia_extensions.c -o /yum.rpm/rpmbuilds/os.local.native/build/julia-1.2.0/src/flisp/julia_extensions.o make[2]: *** No rule to make target '-lutf8proc', needed by '/yum.rpm/rpmbuilds/os.local.native/build/julia-1.2.0/src/flisp/flisp'. Stop. make[2]: *** Waiting for unfinished jobs...

PallHaraldsson commented 4 years ago

utf8proc-2.4 in available to the OS yet compilation fails.

FYI: utf8proc is now up to v2.5.0 for (the latest) Unicode 13.0. [EDIT: see my last comment in the thread.] Otherwise I don't know too much about all this, but see .. "julia-1.2.0/src/flisp/flisp'. Stop." Julia 1.2 is no longer supported (but should still build, at least as intended, I'm not sure about your way), however flisp may be unchanged in latest Julia 1.4 from Julia 1.2.

PallHaraldsson commented 4 years ago

https://www.rapidtables.com/code/linux/gcc/gcc-l.html

For shared library file libmath.so use -lmath:

$ gcc myfile.c -lmath -o myfile

Could that be it? As I recalled, -l assumes library name starts with lib, but utf8proc doesn't.

PallHaraldsson commented 4 years ago

Compiling with USE_SYSTEM_UTF8PROC set correctly should support what you're doing, see:

https://github.com/JuliaLang/julia/blob/0e8143e1e7d125b74e474d0fbd3a5a5e2d574779/Make.inc#L1005

I found this while searching: https://github.com/JuliaLang/julia/search?q=libutf8proc&unscoped_q=libutf8proc

found also libutf8proc.a so the lib "issue" above, should I guess be a non-issue.

[I'm not sure why, but one of the makefiles gets detected as "Motorola 68K Assembly", and no, Julia doesn't support such. :) ]

Keno commented 4 years ago

How are you building Julia? From the error message it looks like you may be using a recipe from some external build repository. In that case, you should file an issue with the repository, as we don't support any build mechanism other than clone+build and the official binaries.

ViralBShah commented 2 years ago

Please reopen if still an issue, and with more information on how to reproduce (OS etc.)