You are not logged in.
Hi,
currently I'm playing around with mono. So I also tried to make a package.
When I made an ordinary make install, everything worked fine, but then,
when I tried to build the package with an make prefix=$startdir/pkg/usr
install everything seemed to be fine. After the installation neither the
compilation nor the execution of C# programms worked. After a long search
for the errors I figured out the following:
The mono sources contain C#-binaries(called CIL), because the compiler
itself is written in C#. These files are named *.dll and *.exe. During the
process of make the stay untouched, make install just copies them with a
/bin/install -c -m 644 ... and so on.
Now, when they are installed without the prefix the files are copied as they
are. But when with the prefix the are corrupted. (I figured that out by file-
size and hex-viewer).
I don't have an idea why this could happen. make DESTDIR works neither.
Any ideas?
bye neri
Offline
Hi,
some time passed by and I gave it anouther try. This time I made a manual
copy of the runtime:
cp -v $startdir/src/$pkgname-$pkgver/runtime/*.dll $startdir/pkg/usr/lib/
cp -v $startdir/src/$pkgname-$pkgver/runtime/*.exe $startdir/pkg/usr/bin/
I hoped this would solve my problem - and it failed again. A more detailed
view with the hex viewer showed me that the original files all had a lot of
null-bytes at the end of the file. These byte have been cutted, probably by
the strip command. Now, all these dll's and exe's obviously need these null-
bytes :shock: .
Does anybody knows a workaround or is there an option for makepkg to keep these files as they are?
by neri
Offline
neri did you ever find out?
was it the strip really?
pacman doesn't have a way to stop stripping?
pacman doesn't follow the rule [what locks, unlocks] ??
thanks
Offline
use the nostrip option .... but my understanding is that .dlls were not supposed to be stripped by default now.
AKA uknowme
I am not your friend
Offline
neri did you ever find out?
was it the strip really?
pacman doesn't have a way to stop stripping?
Hi,
yes it was the stripping, and as sarah said, pacman now excludes *.dll and
*.exe files from stripping. Otherwise you can use the --nostrip.
Anyway, stripping definately f**ks any *exe or *dll, is it a native file (like the
codecs) or a bytecode file (like monostuff).
pacman doesn't follow the rule [what locks, unlocks] ??
What do you mean, which rule?
bye neri
Offline