Problems with "cabal install cabal-install" in Windows - cabal

After Haskell Plaftform 2013.2.0.0 installation, the cabal.exe is in "C:\Program Files (x86)\HaskellPlatform\2013.2.0.0\lib\extralibs\"
After execution of "cabal install cabal-install" the updated cabal.exe file is in "C:\Users\Alberto\AppData\Roaming\cabal\bin"
But the old cabal.exe is still in "..\extralibs", so it is always the old version to be performed.
User variables for Alberto: PATH = C:\Users\Alberto\AppData\Roaming\cabal\bin
System variables: Path = C:\Program Files (x86)\Haskell\bin;C:\Program Files (x86)\Haskell Platform\2013.2.0.0\lib\extralibs\bin;C:\Program Files (x86)\Haskell Platform\2013.2.0.0\bin;C:\Program Files (x86)\PC Connectivity Solution\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Haskell Platform\2013.2.0.0\mingw\bin
I hastily solved this problem by deleting the cabal.exe file in "..\extralibs", but I do not think that this is the best solution.
I have found this problem even on other computers with Windows operating systems (Vista, Windows 7, Windows 8)

You can specify where to install cabal with the "--bindir=" option. So if you do the following, it should find it (You may have to run it from an administrative command prompt):
cabal install --bindir="C:\Program Files (x86)\Haskell\bin" cabal-install
The Haskell\bin directory didn't exist on my install (Haskell Platform 2014.2.0.0 on Windows 8 64-bit), but the install still put it first in the path. So I assumed that is where it expected cabal to install. Doing so will make sure it is found first. You can check with where cabal. It will list all cabal's on the path, with the first one used by default.

Related

Problem with WPF Setup Program Installation Path

I have a Program Setup project in my solution that should install my program to the default location:
[ProgramFilesFolder][Manufacturer][ProductName]
However, this is not working and the installer is dumping all of the project files into my C: drive during installation without creating any folders at all. Even the installer says the files will be installed in "C:\Program Files (x86)\blah\blah", but they aren't. I double-checked I have values set for manufacturer and product name that don't include any special characters besides space.
I followed this tutorial step by step to get where I am:
https://learn.microsoft.com/en-us/cpp/ide/walkthrough-deploying-your-program-cpp?view=vs-2019
Any ideas on what could be causing my installation files to be placed in the C: drive?
I will say, my project runs correctly when running from the C drive, so the installation is technically working, it's just failing to create the program files folders and place the installation files in the correct location.
Thanks.
It seems the issue has to do with permissions on the computer. The files install to the correct directory when the installer is ran from the downloads folder.
I still find it odd that the installer dumps files into the C root drive instead of aborting the task, but at least I know now you can avoid this issue by running installer from the downloads folder.

How to fix 'postgres.h' file not found problem?

I am trying to write a base type for PostgreSQL in C (using xcode), and I already installed PostgreSQL 11, but it seems that postgres.h cannot be simply included in the file ("'postgres.h' file not found").
Could someone tell me how to fix that problem? And can I write code under an arbitary directory, or do I have to write under the PostgreSQL directory?
Or perhaps the question should be: how to install header files like postgres.h?
Install postgresql-server-dev package with this command:
sudo apt install postgresql-server-dev-XX
Replace [XX] with your already installed version of postgresql:9.5, 10, 11, 12
You have several approaches here:
Search for the file yourself, using some command like
find / -name "postgres.h" -print
this will tell you (on my Mac does) the file is in:
/usr/local/Cellar/postgresql/11.2_1/include/server/postgres.h
and add the -I /usr/local/Cellar/postgresql/11.2_1/include/server option to the compiler. Check your postgresql version for the possibility of having a different one.
Probably there's another package for database development. Search for a package named postgresql-dev or similar, and install it. After searching packages with:
brew search postgres
and
brew search psql
on my system doesn't appear anything that matches.
EDIT
I've checked a FreeBSD system for that file and it appears on
/usr/local/include/postgresql/server/postgres.h
So probably you have to #include <server/postgres.h> instead, and use the appropiate -I flag (as mentioned above)
I was facing the same issue while compiling postgis 3.1.7 for postgresql#13 on my Mac.
The problem was that in pg_config the link to server file was
/opt/homebrew/opt/postgresql#13/include/server
While the actual server folder was in
/opt/homebrew/opt/postgresql#13/include/postgresql/server
So I moved the entire "server" folder up a directory inside "/include". And viola, postgis compiled and installed perfectly.

How to alter the path for Postgres looking for extensions?

I installed Postgres on a Windows machine, downloaded the binary installer for PostGIS and installed it. I only have one version of Postgres, so there is no messing up possible.
Installing PostGIS using the binary installer is straight forward and you cannot mess up the installation directory either. it has to go into the Postgres directory.
Now, when I want to create the PostGIS extension I am getting the following error:
ERROR: could not open extension control file "C:/APPS/POSTGR~1/pg96/../pg96/share/postgresql/extension/postgis.control": No such file or directory
********** Error **********
ERROR: could not open extension control file "C:/APPS/POSTGR~1/pg96/../pg96/share/postgresql/extension/postgis.control": No such file or directory
SQL state: 58P01
Though when I go into the directory C:\APPS\PostgreSQL\pg96\share\extension then I do have a postgis.control file present.
How do I get the extension to work? I checked the content of the zipped PostGIS binaries and it looks like as if the structure is well preserved and all files are copied into the appropriate directories during the install process via the binary installer.
It seems that the case is still the same with latest versions of postgres (PostgreSQL-9.6.3-1-win64-bigsql.exe) and postgis (postgis-bundle-pg96x64-setup-2.3.2-1.exe). I copied the files around until all the paths could be resolved:
Everything from C:\PostgreSQL\pg96\share\extension to C:\PostgreSQL\pg96\share\postgresql\extension
postgis_topology-2.3.dll, postgis-2.3.dll, rtpostgis-2.3.dll, address_standardizer-2.3.dll and ogr_fdw.dll from C:\PostgreSQL\pg96\lib to C:\PostgreSQL\pg96\lib\postgresql

JDK absent in jdk file

I have loaded from Oracle site file:
jdk-6u45-windows-x64.exe
It has content:
jre.msi
jre1041.MST
jre2052.MST
Where jdk files?
Thanks
Inside the .mst files. You run the program, and it triggers Windows Installer, which installs the content from within those files. Once that is complete, the JDK files will be wherever you selected during install (the default is C:\Program Files\Java\jdk1.6.0_45 I think [don't have a 64-bit Windows system handy, it's not my main OS and my VMs are 32-bit]; I always go down the "custom" route and install to my preferred location). More in the Oracle docs for Windows JDK installation.
Re your comment:
So installer using mst files load jdk from internet?
No, the content is actually in the .mst files themselves. jdk-6u45-windows-x64.exe can be used offline.

Solaris: How to de-register/de-list a package installed with pkgadd

We have uninstalled an application on several Solaris servers manually by deleting folders and files only to realize afterwards that it had been installed with a package through pkgadd.
The command pkginfo -l, still shows the package even though its files are gone. Is there a way to simply "de-register" the package so it doesn't show up anymore with pkginfo?
As well as /var/sadm/pkg you should also check /var/sadm/install/contents, and the man page contents(4) for the same (man -s4 contents).

Resources