|
OpenBSD Packages and Ports Installation and upgrading of packages and ports on OpenBSD. |
|
Thread Tools | Display Modes |
|
|||
Need help building Julia from source
Hello,
Can anyone help me build Julia? I failed building it with the errors: Code:
$ make *** Parse error in /home/notooth/julia: Could not find /Make.inc (Makefile:2) *** Parse error: Missing dependency operator (Makefile:11) No closing parenthesis in archive specification *** Parse error: Error in archive specification: "("", "command line")" (Makefile:23) *** Parse error: Need an operator in 'else' (Makefile:31) *** Parse error: Need an operator in 'endif' (Makefile:33) *** Parse error: Need an operator in 'else' (Makefile:34) *** Parse error: Need an operator in 'endif' (Makefile:37) *** Parse error: Need an operator in '' (Makefile:39) *** Parse error: Need an operator in ')' (Makefile:40) *** Parse error: Missing dependency operator (Makefile:50) *** Parse error: Need an operator in 'else' (Makefile:53) *** Parse error: Need an operator in 'JULIA_VAGRANT_BUILD' (Makefile:54) *** Parse error: Need an operator in 'endif' (Makefile:56) *** Parse error: Need an operator in 'endif' (Makefile:57) No closing parenthesis in archive specification *** Parse error: Error in archive specification: "(, 1)" (Makefile:97) *** Parse error: Need an operator in 'else' (Makefile:99) *** Parse error: Need an operator in 'endif' (Makefile:101) *** Parse error: Missing dependency operator (Makefile:158) *** Parse error: Need an operator in 'endif' (Makefile:160) No closing parenthesis in archive specification *** Parse error: Error in archive specification: "(, 1)" (Makefile:164) *** Parse error: Need an operator in 'endif' (Makefile:167) *** Parse error: Missing dependency operator (Makefile:177) *** Parse error: Need an operator in 'else' (Makefile:179) *** Parse error: Need an operator in 'endif' (Makefile:181) *** Parse error: Missing dependency operator (Makefile:182) *** Parse error: Need an operator in 'endif' (Makefile:184) *** Parse error: Missing dependency operator (Makefile:185) *** Parse error: Need an operator in 'else' (Makefile:187) *** Parse error: Need an operator in 'endif' (Makefile:189) *** Parse error: Missing dependency operator (Makefile:191) *** Parse error: Need an operator in 'endif' (Makefile:193) *** Parse error: Missing dependency operator (Makefile:196) *** Parse error: Need an operator in 'endif' (Makefile:198) *** Parse error: Missing dependency operator (Makefile:200) *** Parse error: Missing dependency operator (Makefile:201) *** Parse error: Missing dependency operator (Makefile:202) *** Parse error: Need an operator in 'endif' (Makefile:204) *** Parse error: Need an operator in 'endif' (Makefile:205) *** Parse error: Need an operator in 'endif' (Makefile:206) *** Parse error: Missing dependency operator (Makefile:213) *** Parse error: Need an operator in 'std_so' (Makefile:214) *** Parse error: Need an operator in 'endef' (Makefile:219) *** Parse error: Need an operator in '' (Makefile:221) *** Parse error: Need an operator in '' (Makefile:222) *** Parse error: Need an operator in '' (Makefile:223) *** Parse error: Missing dependency operator (Makefile:224) *** Parse error: Missing dependency operator (Makefile:226) *** Parse error: Missing dependency operator (Makefile:228) *** Parse error: Need an operator in 'else' (Makefile:230) *** Parse error: Missing dependency operator (Makefile:233) *** Parse error: Need an operator in 'endif' (Makefile:235) *** Parse error: Need an operator in 'endif' (Makefile:236) *** Parse error: Need an operator in 'std_dll' (Makefile:240) *** Parse error: Need an operator in 'endef' (Makefile:247) *** Parse error: Need an operator in 'select_std_dll' (Makefile:252) Bad modifier: $(shell LANG=C cc -print-search-dirs | grep '^libraries: =' | sed -e "s/^libraries: =//")' | sed -e "s!/lib/!/bin/!g") Bad modifier: $(shell LANG=C cc -print-search-dirs | grep '^libraries: =' | sed -e "s/^libraries: =//")' | sed -e "s!/lib/!/bin/!g") *** Parse error: Need an operator in '' (Makefile:253) *** Parse error: Need an operator in 'endef' (Makefile:254) *** Parse error: Need an operator in '' (Makefile:256) *** Parse error: Need an operator in '' (Makefile:257) *** Parse error: Need an operator in '' (Makefile:258) *** Parse error: Missing dependency operator (Makefile:259) *** Parse error: Need an operator in '' (Makefile:260) *** Parse error: Need an operator in 'else' (Makefile:261) *** Parse error: Need an operator in '' (Makefile:262) *** Parse error: Need an operator in 'endif' (Makefile:263) *** Parse error: Need an operator in '' (Makefile:264) *** Parse error: Need an operator in '' (Makefile:265) *** Parse error: Need an operator in '' (Makefile:266) *** Parse error: Need an operator in 'endif' (Makefile:267) *** Parse error: Need an operator in 'stringreplace' (Makefile:270) *** Parse error: Need an operator in 'endef' (Makefile:272) *** Parse error: Missing dependency operator (Makefile:278) *** Parse error: Need an operator in 'endif' (Makefile:283) *** Parse error: Missing dependency operator (Makefile:287) *** Parse error: Need an operator in 'else' (Makefile:289) *** Parse error: Need an operator in 'endif' (Makefile:291) *** Parse error: Missing dependency operator (Makefile:297) *** Parse error: Need an operator in 'endif' (Makefile:299) *** Parse error: Missing dependency operator (Makefile:300) *** Parse error: Missing dependency operator (Makefile:306) *** Parse error: Need an operator in 'endif' (Makefile:309) *** Parse error: Need an operator in 'else' (Makefile:311) *** Parse error: Missing dependency operator (Makefile:314) *** Parse error: Missing dependency operator (Makefile:315) *** Parse error: Missing dependency operator (Makefile:318) *** Parse error: Need an operator in 'endif' (Makefile:321) *** Parse error: Need an operator in 'endif' (Makefile:322) *** Parse error: Need an operator in 'else' (Makefile:331) *** Parse error: Missing dependency operator (Makefile:336) *** Parse error: Need an operator in 'endif' (Makefile:340) *** Parse error: Need an operator in 'endif' (Makefile:341) *** Parse error: Need an operator in 'endif' (Makefile:354) *** Parse error: Missing dependency operator (Makefile:362) *** Parse error: Need an operator in 'endif' (Makefile:364) *** Parse error: Missing dependency operator (Makefile:390) No closing parenthesis in archive specification *** Parse error: Error in archive specification: "(, Darwin)" (Makefile:391) *** Parse error: Missing dependency operator (Makefile:392) *** Parse error: Need an operator in 'endif' (Makefile:397) *** Parse error: Missing dependency operator (Makefile:398) *** Parse error: Need an operator in 'endif' (Makefile:402) *** Parse error: Need an operator in 'endif' (Makefile:416) *** Parse error: Missing dependency operator (Makefile:418) *** Parse error: Missing dependency operator (Makefile:423) *** Parse error: Need an operator in 'endif' (Makefile:426) *** Parse error: Need an operator in 'endif' (Makefile:427) *** Parse error: Missing dependency operator (Makefile:430) *** Parse error: Need an operator in 'endif' (Makefile:441) *** Parse error: Missing dependency operator (Makefile:446) *** Parse error: Need an operator in 'endif' (Makefile:448) *** Parse error: Missing dependency operator (Makefile:449) *** Parse error: Missing dependency operator (Makefile:450) *** Parse error: Need an operator in 'endif' (Makefile:453) *** Parse error: Need an operator in 'endif' (Makefile:454) *** Parse error: Missing dependency operator (Makefile:460) *** Parse error: Missing dependency operator (Makefile:461) *** Parse error: Missing dependency operator (Makefile:462) *** Parse error: Need an operator in 'endif' (Makefile:465) *** Parse error: Need an operator in 'endif' (Makefile:466) *** Parse error: Need an operator in 'endif' (Makefile:467) *** Parse error: Missing dependency operator (Makefile:468) *** Parse error: Need an operator in 'endif' (Makefile:470) *** Parse error: Missing dependency operator (Makefile:471) *** Parse error: Need an operator in 'endif' (Makefile:473) No closing parenthesis in archive specification *** Parse error: Error in archive specification: "(, Linux)" (Makefile:476) *** Parse error: Need an operator in 'endif' (Makefile:479) No closing parenthesis in archive specification *** Parse error: Error in archive specification: "(, WINNT)" (Makefile:480) *** Parse error: Need an operator in 'endif' (Makefile:482) *** Parse error: Missing dependency operator (Makefile:498) *** Parse error: Need an operator in 'endif' (Makefile:500) No closing parenthesis in archive specification *** Parse error: Error in archive specification: "(, 1)" (Makefile:612) *** Parse error: Need an operator in 'else' (Makefile:614) *** Parse error: Need an operator in 'endif' (Makefile:616) |
|
|||
Use gmake.
|
|
|||
Thank you for the response. But I got another error:
Code:
$ doas ln -s /bin/sha256 /bin/shasum $ doas ln -s /bin/sha512 /bin/sha512sum $ doas ln -s /bin/md5 /bin/md5sum $ gmake % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 497 100 497 0 0 359 0 0:00:01 0:00:01 --:--:-- 359 100 368k 100 368k 0 0 43957 0 0:00:08 0:00:08 --:--:-- 66108 =============================================================================== ERROR: sha512 checksum failure on Pkg-f1430b5dbbdeb09236a77faf755275a611690a93.tar.gz, should be: /home/notooth/Downloads/julia/deps/tools/jlchecksum[108]: seq: not found But `sha512sum /home/notooth/Downloads/julia/stdlib/srccache/Pkg-f1430b5dbbdeb09236a77faf755275a611690a93.tar.gz | awk '{ print $1; }'` results in: 3807119602 This can happen due to bad downloads or network proxies, please check your network proxy/firewall settings and delete /home/notooth/Downloads/julia/deps/tools/jlchecksum[108]: realpath: not found to force a redownload when you are ready =============================================================================== gmake[1]: *** [Makefile:37: Pkg-f1430b5dbbdeb09236a77faf755275a611690a93/source-extracted] Error 2 gmake: *** [Makefile:63: julia-stdlib] Error 2 |
|
|||
Looks like the Julia scripts are looking for the seq(1) and realpath(1) utilities, neither of which are available on OpenBSD.
You're in luck though. I have ported realpath from DragonFly BSD and seq from FreeBSD. See my wip repo here: https://github.com/ibara/openbsd-ports-wip https://github.com/ibara/openbsd-por...utils/realpath https://github.com/ibara/openbsd-por...r/sysutils/seq |
|
|||
How long does it take to complete the 2 wip packages? If it is possible, can you please port Julia to OpenBSD?
Last edited by notooth; 1st October 2020 at 01:03 AM. |
|
|||
Quite literally 2 seconds. They are single C file utilities.
I have too much on my plate for the short and medium term future. I wouldn't depend on me getting to something like this any time soon. |
|
|||
I get another error. Can anyone help?
Code:
ar: creating libsuitesparseconfig.a a - SuiteSparse_config.o ld: error: undefined symbol: malloc >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_start) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_config) ld: error: undefined symbol: calloc >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_start) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_config) ld: error: undefined symbol: realloc >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_start) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_config) ld: error: undefined symbol: free >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_start) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_config) ld: error: undefined symbol: printf >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_start) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_config) ld: error: undefined symbol: __stack_smash_handler >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_toc) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_time) collect2: ld returned 1 exit status gmake[3]: *** [Makefile:53: /home/notooth/Downloads/julia/deps/scratch/SuiteSparse-5.4.0/lib/libsuitesparseconfig.so.5.4.0] Error 1 gmake[2]: *** [Makefile:23: library] Error 2 gmake[1]: *** [/home/notooth/Downloads/julia/deps/suitesparse.mk:60: scratch/SuiteSparse-5.4.0/build-compiled] Error 2 gmake: *** [Makefile:60: julia-deps] Error 2 Last edited by notooth; 13th January 2021 at 04:22 AM. |
|
|||
You usually have to tell the compiler/linker where to look for system libraries with -L and which libraries to load with -l.
You didn't include what command it ran so I don't know what it's trying to do or not do. |
|
|||
I don't know what to tell the compiler. Here is the command I ran and the command it ran:
Code:
$ gmake OPENBLAS_USE_THREAD=0 OPENBLAS_TARGET_ARCH=NEHALEM ... gmake -C scratch/openblas-33f76a6c378681ac2af76b20e55ff682191a1937/ CC=gcc -m64 FC=gfortran -m64 LD=ld RANLIB=ranlib TARGET=NEHALEM BINARY=64 USE_THREAD=0 NO_AFFINITY=1 INTERFACE64=1 SYMBOLSUFFIX=64_ LIBPREFIX=libopenblas64_ CFLAGS= -O2 FFLAGS= -O2 -fPIC -fdefault-integer-8 LDFLAGS= -Wl,-rpath,'$$ORIGIN' -Wl,-z,origin -Wl,-rpath-link,/home/notooth/Downloads/julia-1.5.3/usr/lib MAKE_NB_JOBS=0 ... ld: error: undefined symbol: malloc >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_start) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_config) ld: error: undefined symbol: calloc >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_start) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_config) ld: error: undefined symbol: realloc >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_start) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_config) ld: error: undefined symbol: free >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_start) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_config) ld: error: undefined symbol: printf >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_start) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_config) ld: error: undefined symbol: __stack_smash_handler >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_toc) >>> referenced by SuiteSparse_config.c >>> SuiteSparse_config.o:(SuiteSparse_time) collect2: ld returned 1 exit status |
|
|||
That's a gmake command. You really need to see the gcc command it's running.
What you show there has no -L or -l parameters in it but I don't know if they are getting set elsewhere and not shown here. It also looks like it's using the old base gcc but probably the base clang linker which will cause linking problems. Their docs seem to indicate that you need to compile with a newer gcc and you can't use clang. Install gcc from ports, run gmake clean, then add "CC=egcc LD=egcc" to your gmake command to compile it again. See how that goes. --- Actually, there is a USECLANG flag and it's set for FreeBSD. So maybe try that instead. |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Building from source file in OpenBSD | jamesbal0 | OpenBSD Packages and Ports | 5 | 14th June 2020 12:59 PM |
Building from source | mafkees1233 | OpenBSD General | 12 | 10th May 2019 09:49 PM |
Building the System from Source | hanzer | OpenBSD Installation and Upgrading | 10 | 28th October 2018 09:12 PM |
Building a 10.2 system from source | hanzer | FreeBSD Installation and Upgrading | 1 | 1st September 2015 01:36 AM |
Building OpenBSD userland from source | bceverly | OpenBSD General | 6 | 6th April 2015 07:26 PM |