You are not logged in.

#1 2016-10-26 12:24:15

mhk
Member
Registered: 2016-10-26
Posts: 4

google-drive-ocamlfuse not building, target not found though installed

I have trouble to install the beforementioned package from AUR with pacaur.

http://pastie.org/10950359

I'm a bit confused, there are build errors but seemingly the targets are installed. Is there something obvious I'm missing?

Offline

#2 2016-10-26 12:39:56

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: google-drive-ocamlfuse not building, target not found though installed

It doesn't look like anything is installed.

I'd look into building ocaml-pcre with makepkg  ( the pacaur output looks like it's missing some details).


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2016-10-26 13:24:01

mhk
Member
Registered: 2016-10-26
Posts: 4

Re: google-drive-ocamlfuse not building, target not found though installed

Ok, obviously ocamlbuild is a required dependency which is not installed. So I manually installed this and re-ran pacaur -S google-drive-ocamlfuse. This time ocamlfuse was missing. Which nails down to camlidl not being built.

Error: Some fatal warnings were triggered (1 occurrences)
make[1]: *** [Makefile:32: camlidl] Error 2
make[1]: Leaving directory '/home/hmt/.cache/pacaur/camlidl/src/camlidl-1.05/compiler'
make: *** [Makefile:18: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

So then I cd into the build directory, camlidl/src/camlidl-1.05/compiler, and manually run make -d all. Et voila:

ocamlc -g -o camlidl config.cmo utils.cmo clflags.cmo prefix.cmo lexpr.cmo cvttyp.cmo variables.cmo array.cmo struct.cmo enum.cmo union.cmo cvtval.cmo structdecl.cmo enumdecl.cmo uniondecl.cmo typedef.cmo funct.cmo constdecl.cmo intf.cmo file.cmo predef.cmo linenum.cmo parse_aux.cmo parser_midl.cmo lexer_midl.cmo parse.cmo fixlabels.cmo normalize.cmo main.cmo
Putting child 0xc96ea0 (camlidl) PID 24481 on the chain.
Live child 0xc96ea0 (camlidl) PID 24481
File "array.cmo", line 1:
Warning 31: files array.cmo and /usr/lib/ocaml/stdlib.cma(Array) both define a module named Array
File "_none_", line 1:
Error: Some fatal warnings were triggered (1 occurrences)
Reaping losing child 0xc96ea0 PID 24481
make: *** [Makefile:32: camlidl] Error 2
Removing child 0xc96ea0 PID 24481 from chain.

Now I'm lost, I'm not familiar with ocaml at all. Also I hope this was not too much pasting.

Offline

#4 2016-10-27 12:08:44

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: google-drive-ocamlfuse not building, target not found though installed

Packages using ocaml often have problems with existing ocaml installations.
I have no idea if there's any AUR helper that can cope with them.

The best way to solve the issue is build in a clean chroot .
Graysky's Clean Chroot manager can make that easier.

If you prefer to build on your normal system, makepkg -Crs  combined with manually adding/removing aur dependencies is a workaround that can get close to clean chroot building .

If you often build aur packages (or maintain some) , it is possible to put aur packages you need in a custom local repo.
Maintaining the repo is some extra work, but it makes keeping my system clean from temporary needed deps much easier.

Last edited by Lone_Wolf (2016-10-27 12:09:12)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#5 2016-10-28 08:30:34

mhk
Member
Registered: 2016-10-26
Posts: 4

Re: google-drive-ocamlfuse not building, target not found though installed

Thanks Lone_Wolf, your hint worked (which is pretty cool how easy and well documented everything is). So far.

So, basically I did this chroot build thing and installed camlidl. Then outside of the chroot environment I installed ocamlfuse to see if camlidl was correctly installed. This worked so far but the installation of google-drive-ocamlfuse broke again.

$ history
[...snip...]
mkdir chroot
CHROOT=$HOME/chroot
sudo mkarchroot $CHROOT/root base-devel
sudo arch-nspawn $CHROOT/root pacman -Syu
cd chroot/root/tmp/
git clone https://aur.archlinux.org/camlidl.git
cd camlidl/
makechrootpkg -c -r $CHROOT
makechrootpkg -r $CHROOT -- -i
pacaur -S ocamlfuse
pacaur -S google-drive-ocamlfuse

The last few lines of output:

findlib: [WARNING] cannot read directory /usr/lib/ocaml-site-lib: No such file or directory
+ /usr/bin/ocamlfind ocamlopt -g -linkpkg -package Fuse -package camlidl -package gapi-ocaml -package sqlite3 -package threads -thread src/appDir.cmx src/utils.cmx src/config.cmx src/cache.cmx src/concurrentGlobal.cmx src/keyValueStore.cmx src/state.cmx src/context.cmx src/gaeProxy.cmx src/mime.cmx src/oauth2.cmx src/drive.cmx src/gdfuse.cmx -o src/gdfuse.native
File "_none_", line 1:
Error: Cannot find file /usr/lib/ocaml/camlidl/com.cmxa
Command exited with code 2.
Compilation unsuccessful after building 40 targets (39 cached) in 00:00:00.
E: Failure("Command ''/usr/bin/ocamlbuild' src/gdfuse.native -tag debug' terminated with error code 10")
==> ERROR: A failure occurred in build().
    Aborting...
:: failed to build google-drive-ocamlfuse package(s)

Yeah, obviously /usr/lib/ocaml/camlidl is empty except of a META file. I'm starting to feel like I'll break my system instead of making it more awesome.

Offline

#6 2016-10-28 13:12:46

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: google-drive-ocamlfuse not building, target not found though installed

Error: Cannot find file /usr/lib/ocaml/camlidl/com.cmxa

camlidl has that file in /usr/lib/ocaml folder .
I suggest you start from scratch and build all aur dependencies (about 11 i think ) in clean chroot .

I do think this will be easier if you put the builded packages in a local repo .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB