logo       

pack.deps in 6-2-branch: msg#00088

lang.haskell.glasgow.bugs

Subject: pack.deps in 6-2-branch

Dear GHC team,

To my report on cvs ghc-6-2-branch

>> Loading package foo ... linking ...
>> /home/mechvel/t/u/lib/HSfoo.o: unknown symbol `__stginit_Prelude_'
>> ghc-6.2.1: panic! (the `impossible' happened, GHC version 6.2.1):
>> can't load package `foo'
>> Please report it as a compiler bug to
>> glasgow-haskell-bugs@xxxxxxxxxxx, or
>> http://sourceforge.net/projects/ghc/.
>>
>> [..]


Simon Marlow writes

> I guess that was because the package might be 'base', in which case it
> really is a GHC bug. Anyway I've changed that message so it doesn't
> claim to be a GHC bug any more.

All right.


>> 2. Indeed, the package foo should depend on the package docon.
>>
>> So, Makefile has to set "foo" with the dependency on "docon".
>> And then the user invokes
>> ghci $pcpfoo
>> ,
>> and docon will be loaded automatically. Right?
>> But such Makefile does not work.
>>
>> If I set package_deps = ["\"docon\""]
>>
>> to the Makefile part which creates the package description
>>
>> pack = Package {name = "\"foo\"",
>> ...
>> }
>> ,
>> then make foo
>> reports
>> ...
>> Reading package info from stdin... done.
>> Expanding embedded variables... done.
>> dependency `docon' doesn't exist

> I don't know why that is; perhaps because you didn't include the
> package.conf containing the docon package (i.e. ghc-pkg -f
> my-package.conf).
> Anyway, you can override that test using the --force
> flag to ghc-pkg.
>


Thank you.
I changed now the corresponding lines in Makefile to

pack = ..{
package_deps = ["\"docon\""], \
}

echo $(pack) | $(ghcpkg) -f $(doconc) -f $(s)/foo.conf -u -g

where doconc = /home/mechvel/docon/2.08/docon/source/docon.conf

Now `make' finds the dependencies.
But
(1) it is written in User Guide Section 4.8.4 that the later `-f'
override the previous ones in the ghc-pkg command line.

(2) After the above `make'

cd .../foo
ghci -package-conf /home/mechvel/t/u/foo.conf -package foo

yields ghc-6.2.1: unknown package name: docon .
And
ghci -package-conf $doconc -package docon
works correct.

Packages always was a pain.
Please, can you correct the above example with Makefile, with
package foo ?

You have docon-2.08-pre.
Install it according to install.txt choosing "Non-optimized"
`make'.

And the project foo is attached to this letter as foo.zip.

It has the two small Haskell modules and Makefile.
And it refers to the docon package.
Command
mv foo.zip .../t
cd t
unzip foo.zip
cd u
make foo
cd ..
ghci -package-conf u/foo.conf -package foo

" ghc-6.2.1: unknown package name: docon
"

ghci -package-conf $doconc -package docon
...
it works.

Is this a GHC bug?
Please, can you correct this?
GHC packages feature changes from version to version.
The general question is how work with DoCon by creating user packages.
So far, I do not know this and hence cannot explain this in DoCon
manual. Need help with this.

With kind regards,

-----------------
Serge Mechveliani
mechvel@xxxxxxxx















Attachment: foo.zip
Description: Zip archive

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@xxxxxxxxxxx
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise